Autor Zpráva
Baly
Profil *
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>&nbsp;&nbsp;&nbsp';
            }
          
            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
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
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 *
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
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?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: