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: 13 let
|
0