| Autor | Zpráva | ||
|---|---|---|---|
| bobby Profil * |
#1 · Zasláno: 8. 6. 2011, 22:19:09
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 * |
#2 · Zasláno: 8. 6. 2011, 22:23:07
Ú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 * |
#3 · Zasláno: 8. 6. 2011, 22:23:51
A ještě to id ani v tom POSTu nepřenášíte.
|
||
| pcmanik Profil |
#4 · Zasláno: 8. 6. 2011, 22:25:29
A pri id netreba pouzivat ', tym sa to len zbytocne prevadza na retazec, co je pri cislach zbytocne.
|
||
| bobby Profil * |
#5 · Zasláno: 9. 6. 2011, 14:34:46
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. |
||
|
Časová prodleva: 14 let
|
|||
0