SQL Update probléma
Sziasztok!
készítenék egy olyan sql lekérdezőt, amellyel lehet törölni ill. módosítani is. Az alábbi kódban van valamilyen hiba, mert minden működik, kivéve a módosítást. Légyszíves segítsetek! itt a kód:
*** list.php ****** delete_user.php ****** change_user.php ****** change_form.php ***előre is köszönöm!
■ készítenék egy olyan sql lekérdezőt, amellyel lehet törölni ill. módosítani is. Az alábbi kódban van valamilyen hiba, mert minden működik, kivéve a módosítást. Légyszíves segítsetek! itt a kód:
*** list.php ***
- <?
- $kapcsolat=mysql_connect("...","...","...");
- mysql_select_db("...") or die("Adatbázis hiba!");
- $parancs = "SELECT * FROM proba";
- $eredmeny = mysql_query($parancs);
- $szin = "darkgrey";
- while ($sor = mysql_fetch_array($eredmeny)) {
- if ($szin=="darkgrey") {
- $szin = "white";
- }
- else {
- $szin = "darkgrey";
- }
- ?>
- <tr bgcolor="<?= $szin?>" style="color:#000000">
- <td align=center><?= $sor["saz"] ?></td>
- <td align=center><?= $sor["ered"] ?></td>
- <td align=center>
- <a href="change_form.php?id=<?= $sor["id"] ?>&saz=<?= urlencode($sor["saz"]) ?>&ered=<?= $sor["ered"] ?>">Módosítás</a><br /><a href="delete_user.php?id=<?= $sor["id"] ?>">Törlés</a></td>
- </tr>
- <?
- }
- ?>
- <?php
- $kapcsolat=mysql_connect("...","...","...");
- mysql_select_db("...") or die("Adatbázis hiba!");
- $parancs = "DELETE FROM proba WHERE id='".$id."' LIMIT 1";
- mysql_query($parancs);
- header("location: list.php");
- mysql_close($kapcsolat);
- ?>
- <?php
- $kapcsolat=mysql_connect("...","...","...");
- mysql_select_db("...") or die("Adatbázis hiba!");
- $parancs = "UPDATE proba SET saz='$saz', ered='$ered', WHERE id='".$_POST['id']."'";
- mysql_query($parancs);
- header("Location: list.php");
- mysql_close($kapcsolat);
- ?>
- <form action="change_user.php" method="post">
- <table>
- <tr align="center">
- <td><p class="form">saz</p></td>
- <td><input type="text" name="saz" class="login" value="<?= $saz?>"/>
- <br /></td>
- <td><?= $saz;?></td>
- </tr>
- <tr align="center">
- <td><p class="form">ered:</p></td>
- <td><input type="text" name="ered" class="login" value="<?= $ered?>"/><br /></td>
- </tr>
- <tr align="center">
- <td><p class="form">Hidden area</p></td>
- <td><input type="hidden" name="id" value="<?= $id?>" class="login"></tr>
- <tr><td><center><input type="submit" name="change" value="Módosítsuk!"/></center></td>
- <td><center><input type="reset" value="RESET!"/></center></td></tr>
- </table>
- </form>
Debug, vessző
köszi!
egyébként először elírtam valamit a kódban és utána rögtön le is futtattam a print_r($_POST); valamint a mysql_error() parancsot is, de miután kijavítottam a hibát, valahogy ezt a lépést kihagytam :)
mégegyszer köszi!
off
2, nem árt escapelni a bejövő adatokat! nézd meg mi történik, ha aposztrófot írsz az egyik input mezőbe! (persze lehet hogy nálad semmi, de más szervereken történhet..)
3, az input tagek elött te paragraphba írd a címkét, hanem használd a <label for=""> taget!
csak jótanácsként.. :) üdv.