Autor Zpráva
bobby
Profil *
Dobrý den, dělal jsem si script pro úpravu uživatelů:

if ($_GET['action'] == edituser)
{
if($_SESSION['prava'] > 1)
{
$dotaz = mysql_query("SELECT * FROM admins WHERE id = '".$_GET['id']."' LIMIT 1");
$r = mysql_fetch_array($dotaz)
?>
<form method="post" action="<?php echo 'index.php?page='.$_GET['page']?>" name="edituser">      
<label>Přihlašovací jméno:<input name="editusername" type="text" value="<?php echo $r[2];?>"></label><br>

<label>Nove heslo:<input name="edituserpass" type="password" value=""></label><br>
<label>Nove heslo znovu:<input name="edituserpass2" type="password"></label><br>
<label>Práva:<select name="edituserprava" size="1">
<option value="2">Správce
<option value="1" selected="selected">Autor
<option value="0">Zakázaný přístup
</select></label><br>
<label>Email:<input name="edituseremail" type="text" value="<?php echo $r[4];?>"></label><br>
<input type="submit" name="editusersubmit" value="Odeslat">
</form>
<?php
}
else
{
$zprava = "Nemáte dostatečná oprávnění k editaci uživatele";
$typ = "error";
}
}
if(isset($_POST['editusersubmit']))
{ 
if($_POST['edituserpass'] != $_POST['edituserpass2'])
{
$zprava = "Zadané hesla se neschodují!";
$typ = "error";
}
else
{
$update = mysql_query("UPDATE admins SET heslo = '".md5($_POST['edituserpass'])."', jmeno = '".$_POST['editusername']."', prava = '".$_POST['edituserprava']."', email = '".$_POST['edituseremail']."' WHERE id = '".$_GET['id']."' LIMIT 1 ") or die (mysql_error());


//$dotaz = mysql_query("UPDATE rubriky SET obsahleft = '".$_POST['left-panel']."',obsahright = '".$_POST['right-panel']."',titulek = '".$_POST['titulek-rub']."',nazevprac = '".easy($_POST['nazev-rub'])."',nazev = '".$_POST['nazev-rub']."' WHERE nazevprac = '".$_GET['name']."' LIMIT 1");

if($update)
{
$zprava = "Uživatel byl úspěšně upraven.";
$typ = "ok";
}
else
{
$zprava = "Uživatele se nepodařilo upravit.";
$typ = "error";
}
} 
}

Ale narazil jsem na problém.. když upravím uživatele a kliknu na submit tak mi to normálně vypíše hlášku o úspěšné aktualizaci.. jenže v databázi to údaj neupdatne.. ani "or die (mysql_error());" nic nevypíše. Netuší někdo kde by mohl být problém ? Děkuji
Kajman_
Profil *
Úspěšnou úpravu testujte díky mysql_affected_rows(). Zkuste si vypsat sestavený dotaz. Nejspíše zjistíte, že se snažíte použít prázdná GET data, když používáte metodu POST.
Kajman_
Profil *
A ještě to id ani v tom POSTu nepřenášíte.
pcmanik
Profil
A pri id netreba pouzivat ', tym sa to len zbytocne prevadza na retazec, co je pri cislach zbytocne.
bobby
Profil *
Kajman:
Vypsal jsem si dotaz zmiňovanou funkcí a podle očekávání mě vylezlo, že ovlivňuji 0 řádků.
Ano sice používám metodu post, ale id vypisuji do GET spolu s "action=edituser" kterou používám k zjištění akce --> if ($_GET['action'] == edituser).
Podle mně ta GET id prázdná není, protože v přík. řádku jí normálně vidím. Tak nevím.
pcmanik:
Díky.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0