Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql/php] problem z edycja :(
Forum PHP.pl > Forum > Przedszkole
batat
Mam problem z edycja danych w komentarzach i uzytkownikach, dane sie ladnie pobieraja do formularzy, ale jak dam, zeby sie poprawily, to sie nie nadpisuja :| nie wiem czego. dowiedzialem sie tylko tyle, ze w jednym dokumencie nie bardzo moze byc dwa razy POST uzyte, ale nic mi to nie dalo.

fragment do edycji userow:
  1. <?php
  2. if($stan == &#092;"modyf\") {
  3. $zap3 = &#092;"SELECT * FROM users where uid=$idmodyf\";
  4. $wyk2 = mysql_query ($zap3);
  5. $tablica = mysql_fetch_array($wyk2);
  6. echo &#092;"
  7. <form method=&#092;"post\\" action=\"users.php\"> 
  8. <table border=&#092;\"0\" align=\"center\" cellspacing=\"0\" cellpadding=\"0\"> 
  9. <tr><td colspan=2 align=center>Edytuj użytkownika:</td></tr>
  10. <tr><td>User:</td><td align=&#092;\"center\"><input type=\"hidden\" name=\"uid\" value=\"\".$tablica['uid'].\"\">
  11.  
  12. <input type=&#092;\"text\" name=\"user\" size=\"20\" value=\"\".$tablica['user'].\"\"></td> </tr> 
  13. <tr><td>Hasło</td><td align=&#092;\"center\"><input type=\"text\" name=\"haslo\" size=\"20\" value=\"\".$tablica['haslo'].\"\"></td></tr> 
  14. <tr><td>E-mail:</td><td align=&#092;\"center\"><input type=\"text\" name=\"mail\" size=\"20\" value=\"\".$tablica['mail'].\"\"></td></tr> 
  15. <tr><td>*Uprawnienia:</td><td align=&#092;\"center\"><select name=\"uprawnienia\"><option value=1>1<option value=0>0</select></td></tr> 
  16. <tr><td colspan=&#092;\"2\" align=\"center\">* 1 - dla admina, 0 - dla newsmana<BR><input type=\"submit\" value=\"Popraw\" name=\"send\"></form><BR>
  17. </td></tr> 
  18. </table> 
  19. &#092;";}
  20.  
  21. if ($send==&#092;"Popraw\"){
  22. $z = &#092;"UPDATE users SET uid='$uid', user='$user', haslo='$haslo', mail='$mail', uprawnienia='$uprawnienia' WHERE uid=$idmodyf\";
  23. $w = mysql_query ($z);
  24. echo &#092;"<center><br>Dane poprawione<BR><a href=users.php>Powrót</a></center>\";}
  25.  
  26. ?>


struktura tabeli USERS to:
uid int(11) Nie auto_increment
user varchar(255) Nie
mail varchar(255) Nie
haslo varchar(255) Nie
uprawnienia varchar(255) Nie


natomiast to fragment kodu do edycji komentarzy:
  1. IF($stan == 'modyf') {
  2. $zap3 = "SELECT * FROM komentarze ORDER BY subid DESC";
  3. $wyk2 = mysql_query ($zap3);
  4. $tablica = mysql_fetch_array($wyk2);
  5. echo "
  6. <form method=\"post\" action=\"komentarze.php\">
  7. <table border=\"0\" align=\"center\" cellspacing=\"1\" cellpadding=\"1\">
  8. <tr><td colspan=2 align=center>Edytuj komentarz:</td></tr>
  9. <tr><td align=right>Autor:</td><td align=\"center\"><input type=\"hidden\" name=\"subid\" value=\"".$tablica['subid']."\"><input type=\"hidden\" name=\"lp\" value=\"".$tablica['lp']."\">
  10. <input type=\"hidden\" name=\"ip\" value=\"".$tablica['ip']."\"><input type=\"hidden\" name=\"host\" value=\"".$tablica['host']."\">
  11. <input type=\"text\" name=\"autor\" size=\"41\" value=\"".$tablica['autor']."\"></td> </tr>
  12. <tr><td align=right>Treść:</td><td align=\"center\"><textarea name=\"tresc\" rows=\"15\" cols=\"40\">".$tablica['tresc']."</textarea></td></tr>
  13. <tr><td align=right>E-mail:</td><td align=\"center\"><input type=\"text\" name=\"mail\" size=\"41\" value=\"".$tablica['mail']."\"></td></tr>
  14. <tr><td align=right>Data:</td><td align=\"center\"><input type=\"text\" name=\"data\" size=\"41\" value=\"".$tablica['data']."\"></td></tr>
  15. <tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"Popraw\" name=\"send\"></form><BR>
  16. </td></tr>
  17. </table>
  18. ";}
  19.  
  20. IF ($send=="Popraw"){
  21. $z = "UPDATE komentarze SET subid='$subid', lp='$lp', tresc='$tresc', autor='$autor', mail='$mail', data='$data', ip='$ip', host='$host' WHERE lp=$idmodyf";
  22. $w = mysql_query ($z);
  23. echo "<center><br>Komentarz poprawiony !<BR><a href=komentarze.php>Powrót</a></center>";}


tabela KOMENTARZE wyglada tak:
subid int(11) Nie 0
tresc blob BINARY Nie
data blob BINARY Nie
autor varchar(255) Nie
mail varchar(255) Nie
ip varchar(255) Nie
host varchar(255) Nie
lp int(11) Nie auto_increment


Tak jak juz wczesniej napisalem, w tych plikach jest uzyte dwa razy POST. Wszesniej, nad edycja jest kod do usuwania, ktory chodzi dobrze. Moze to dlatego, albo moze ktores zapytanie mam zle. Nie wiem, wydaje mi sie ze to jakis prosty blad, ale nie moge go znalezc, bo siedze nad tym juz 3 dzien sad.gif bede wdzieczny za kazda pomoc exclamation.gif!
party
W zapytaniach SQL liczb nie daje się pomiędzy apostrofy. Popraw znaczniki z [sql] na [php]
kubatron
z tego co widze to wysyłasz to formularzem wiec musi być tak:
  1. UPDATE komentarze SET subid='" . $_POST['subid'] . "', lp='" . $_POST['lp'] . "', tresc='" . $_POST['tresc'] . "', autor='" . $_POST['autor'] . "'

A w w <form> dodaj method="post" wtedy bedzie działać na 100%
batat
Cytat(kubatron @ 2004-06-19 10:33:39)
z tego co widze to wysyłasz to formularzem wiec musi być tak:
  1. UPDATE komentarze SET subid='" . $_POST['subid'] . "', lp='" . $_POST['lp'] . "', tresc='" . $_POST['tresc'] . "', autor='" . $_POST['autor'] . "'

A w w <form> dodaj method="post" wtedy bedzie działać na 100%


dzieki Kubatron! Komentarze juz sie dobrze edytuje, ale jeszcze mam problem z komentarzami :/

p.s. czym się różni
  1. <?php
  2. tresc='\" . $_POST['tresc'] . \"'
  3. ?>
od
  1. <?php
  2. tresc='$tresc'
  3. ?>
w formularzach, bo i to i to mi chodzi :]

//EDITED, jednak nie dziala sad.gif

//EDITED # 2, teraz juz dziala biggrin.gif jakos sobie poradzilem, ale czekam jeszcze na odpowiedz czy sie roznia dwa powyzsze zapisy biggrin.gif DZIEKI ZA POMOC!
kubatron
Więc różni się to tym że jeśli w formularzu masz
  1. <form action="index.php" method="post">
to musisz to przesyłac przez tablice $_POST, jesli masz
  1. <form action="index.php" method="get">
to przez tablice $_GET, a to jest bardzo istotne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.