enable-disable la tabel html in functie de session php

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
andras
Mesaje:430

enable-disable la tabel html in functie de session php

Salut,
Cum fac un tabel html sa fie disabled sau enabled in functie de valoarea unei variabile SESSION?
La incarcarea paginii care contine tabelul, variabila SESSION este deja definita, dar cum o folosesc?
Stiu ca se face cu o functie Javascript:
pseudocod:

Cod: Selectaţi tot

if (SESSION=a) {functia disable} else {functia enable}
Dar care este evenimentul in care pun functia Javascript?
Ar trebui sa fie ceva echivalent cu onload, dar tabelul nu suporta onload. Am pus inainte un

Cod: Selectaţi tot

<div onload="disableTable();">
dar nu da rezultate.

Am incercat si

Cod: Selectaţi tot

<body onload="disableTable();">
dar tot nu merge, trebuie sa-mi dezactiveze tot, inclusiv .sortable() si link-urile din celule.

MarPlo Mesaje:4343
Salut
Nu se poate folosi SESSION din PHP (care e server side) in JavaScript (care e client side)
Nu prea inteleg cum e un tabel html enabled sau disabled.
Pentru ce vrei tu cred ca solutia ar fi sa incluzi in pagina codul Javascript cu acele functii in raport de valoarea sesiunii in php.
De exemlu, in codul php:

Cod: Selectaţi tot

if($_SESSION['a'] == 'v') {
  echo '<script>
// cod js ...
</script>';
}
else {
  // altceva
} 

andras Mesaje:430
Da, exact asta vreau, sa includ codul javascript in fisierul PHP. L-am si inclus, numai ca nu are efect. Tabelul ramine tot enable. Am pus (t_draggable22 este id-ul tabelului):
Am pus si cite un

Cod: Selectaţi tot

echo 'alert (" este / nu este disabled")';
in ambele ramuri.

Daca dezactivez instructiunea din bucle alert-ul merge. Ce am gresit?:

Cod: Selectaţi tot

if(isset($_SESSION['usercom']) && $_SESSION['usercom'] == 'on') {
echo '<script type="text/javascript">';
// echo 'document.getElementbyId("t_draggable22").disabled = true;';
echo 'alert (" este disabled")';
echo '</script>';
}
else {
echo '<script type="text/javascript">';
// echo 'document.getElementbyId("t_draggable22").disabled = true;';
echo 'alert (" este enabled")';
echo '</script>';
}

MarPlo Mesaje:4343
Nu stiu ce e gresit si nici cum sa faci enable /disable. Dar daca acestea depind de id-ul tabelului, daca schimbi id-ul, atunci e ca si disabled, adica functiile javascript pe acel id nu se mai executa.
In cazul asta poti seta id-ul tabelului in php in functie de session, cam asa.

Cod: Selectaţi tot

echo '<table id="'. ( (isset($_SESSION['usercom']) &&  $_SESSION['usercom'] == 'on') ? 't_draggable22' : 'alt_id' ) .'">
...
</table>'; 

andras Mesaje:430
In varianta asta merge, e ok. Multumesc mult!

Subiecte similare