Autor | Zpráva | ||
---|---|---|---|
Baly Profil * |
#1 · Zasláno: 14. 11. 2009, 18:45:17
Zdravím,
mám formulář, který upravuje práva uživatelů. php: <html> <body> <? header('Content-Type: text/html; charset=windows-1250'); ?> <body bgcolor="black"> <div class="podnadpis">Menit Práva Clenů</span></div><br /> <? include("connect.php"); $ip = $_SERVER['REMOTE_ADDR']; $vysledek = mysql_query ("SELECT name, ip FROM onlinecheck WHERE ip= '$ip'") or die (mysql_error()); while($odpoved = mysql_fetch_array($vysledek)) { $jmenoo = $odpoved[name]; } $vysledek2 = mysql_query ("SELECT admin FROM balyphpzkousk WHERE jmeno = '$jmenoo'") or die (mysql_error()); while($odpoved2 = mysql_fetch_array($vysledek2)) { $adminn = $odpoved2[admin]; } if ($adminn != 2) { echo "Nemate dostatek práv videt obsah teto stranky."; exit(); } include("timeout.php"); include("nopermision.php"); include("banned.php"); ?> <?php if ($_POST['zmena'] == "ano" && !empty($_POST['role'])) { foreach($_POST['id'] as $name => $id) { mysql_query("UPDATE balyphpzkousk SET admin = '" . $_POST['role'] . "' WHERE jmeno = '" . $id. "'") or die (mysql_error()); } } ?> <form method="post" action="?zmena=ano" name="pravaform" onSubmit="return pravafce()"> <?php $role_list = array( '1' => 'Admin', '2' => 'Hlavní Admin', '0' => 'Clen' ); $vysledek = mysql_query ("SELECT jmeno, admin FROM balyphpzkousk") or die (mysql_error()); while($odpoved = mysql_fetch_assoc($vysledek)) { echo '<span class="texto1">' . $odpoved['jmeno'] . '</span>'; foreach($role_list as $num => $txt) { echo '<input type="radio" name="role['. $odpoved['jmeno'] .']" value="' . $num . '" ' . ($num == $odpoved['admin'] ? 'checked="checked"' : '') . '/>' . '<span class="text1">' . $txt . '</span>  '; } echo '<br />' . '<input type="hidden" name="name" value="'. $odpoved['jmeno'] .'">'; } ?> <br /><input class="button" type="submit" value="Zmenit" /> </form> </body> </html> Po odeslání to projede přes ajax funkci function pravafce() { var parametry = "role="+document.getElementById('pravaform').role.value+"&zmena=ano&id="+document.getElementById('pravaform').name.value; prava.open("POST","prava.php",true); prava.setRequestHeader("Content-type","application/x-www-form-urlencoded"); prava.setRequestHeader("Content-lenght",parametry.lenght); prava.setRequestHeader("Connection","close"); prava.onreadystatechange = function () { if (prava.readyState != 4 || prava.status != 200) { obsah.innerHTML = "Nacitam...."; } if (prava.readyState == 4 && prava.status == 200) { obsah.innerHTML = prava.responseText; } } prava.send(parametry); return false; } Nefunguje to ale proto, že nedokážu identifikovat inputy. document.getElementById('pravaform').role[].value použít nemůžu, protože mi to hází chyby, navíc nevím jaký identifikátor bych tam uvedl když je určovaný phpčkem.... |
||
_es Profil |
#2 · Zasláno: 14. 11. 2009, 19:23:42
Baly:
Funkcia header musí byť pred hocijakým textom HTML stránky, no asi tam budú aj iné chyby. Bez odkazu na konkrétnu stránku ti asi nikto nebude ochotný poradiť, teda špekulovať, aký kód HTML a JavaScriptu je asi výsledkom toho PHP kódu. |
||
Chamurappi Profil |
#3 · Zasláno: 14. 11. 2009, 19:29:14
Reaguji na Balyho:
Nerozumím, proč sem posíláš PHP kód. Bez živé ukázky asi nemá smysl radit. „prava.setRequestHeader("Content-lenght",parametry.lenght);“ Co si myslíš, že tohle udělá? Nastaví to neexistující hlavičku na undefined, protože délka se píše length. Ale to chybu nezpůsobí. „document.getElementById('pravaform')“ Tvůj formulář nemá id="pravaform". |
||
Baly Profil * |
#4 · Zasláno: 14. 11. 2009, 22:22:03
no jo, omluvám se. Změnil jsem name="pravaform" na id="pravaform". V tom ale chyba není. Posílám to tady protože mám problém s identifikací v javascriptu u kterého jména je jaký radio button zaškrtlý, protože se jmenují všechny stejně.
|
||
_es Profil |
#5 · Zasláno: 14. 11. 2009, 22:44:38 · Upravil/a: _es
Baly:
Máš problém s pochopením písaného textu iných členov? Údaje, ktoré uvádzaš, sú nedostatočné k zostaveniu užitočnej rady. A ak nebudú vo forme odkazu na HTML kód, tak sa ti tu tým nikto asi zaoberať nebude. Čo, a kde je definovaná, napríklad premenná prava v tej JavaScriptovej funkcii? |
||
Časová prodleva: 14 let
|
0