Php felhasználó adatok

Php felhasználó adatok
2012-05-29T16:29:27+02:00
2012-05-29T16:54:38+02:00
2022-11-25T21:50:47+01:00
szaszu10
Üdv a problémám a következő:
Van ez a kód amely kilistázza az users táblából az id-t, nick-et,email-t,age-t. A listázás működik.
Van egy törlés funkció ami szintén működik.
Minden felhasználó mellett van egy módosítás gomb amire ha rákattintok kiírja a felhasználó adatait inputokban. Ha a mentésre kattintok elvileg update-elné a következőket:id,nick,email,age az adatbázisban.Ez után visszatér a oda ahol kilistáztam a felhasználókat.

A hiba ott van hogy miután módosítom az adatokat és rákattintok a mentésre ugyan visszatesz a listázáshoz de a felhasználó adatai nem módosulnak.
Szerintetek hol a hiba?
<?php /* CSATLAKOZÁS */ $db_host = "localhost"; $db_user = "root"; $db_pass = ""; $kapcsolat = mysql_connect( $db_host, $db_user, $db_pass ) or die ( "Hiba történt:Nem tudtam kapcsolódni az adatbázishoz!" ); mysql_select_db("siti",$kapcsolat) or die ( "Nem tudtál a táblához kapcsolódni!" ); $parancs = "SELECT * FROM users"; $eredmeny = mysql_query($parancs); switch($_GET["funkcio"]) { default: if(isset($_GET["oldal"])) $oldal = $_GET["oldal"]; else $oldal = 0; /* -----FELHASZNÁLÓK LISTÁZÁSA----- */ print('<b>Felhasználók:</b><br><hr>'); print('<table cellspacing="3" style="text-align: center; width: 100%;">'); print('<tr class="doboz">'); print ('<th><b>Id</b></th>'); print ('<th><b>Nick</b></th>'); print ('<th><b>E-mail</b></th>'); print ('<th><b>Kor</b></th>'); print ('<th><b>Töröl</b></th>'); print ('<th><b>Módosít</b></th>'); print('</tr>'); while ($adat = mysql_fetch_array($eredmeny)) { echo "<tr class="doboz">" . "<td>" . $adat[id] . "</td>\n" . "<td>" . $adat[nick] . "</td>\n" . "<td>" . $adat[email] . "</td>\n" . "<td>" . $adat[age] . "</td>\n" . "<td><a href="tarto.php?funkcio=torol&kit=" . $adat[id] . "" onclick="if(confirm('Biztosan törlöd?')){return true;}else {return false;}"><img src="kepek/torol.png" width="20" height="20" border="0" alt="Töröl"></a></td>\n" . "<td><a href="tarto.php?funkcio=modosit&mit=" . $adat[id] . ""><img src="kepek/modosit.png" width="20" height="20" border="0" alt="Töröl"></a></td>\n" . "</tr>"; } echo "</table>"; /* FELHASZNÁLÓK TÖRLÉSE */ case "torol"; if(isset($_GET["kit"])) { $kit = $_GET["kit"]; mysql_query("DELETE FROM users WHERE id='$kit'"); header("Location:tarto.php"); } break; /* FELHASZNÁLÓK ADATAINAK MÓDOSÍTÁSA */ case "modosit"; if(isset($_GET['mit'])) { $mit = $_GET['mit']; $listaz = mysql_query("SELECT * FROM users WHERE id='$mit'"); $adat = mysql_fetch_array($listaz); if (isset($_POST["modositas"])) { $ujid = $_POST['ujid']; $ujnick = $_POST['ujnick']; $ujemail = $_POST['ujemail']; $ujage = $_POST['ujage']; mysql_query("UPDATE users SET id='$ujid',nick='$ujnick',email='$ujmeail',age='$ujage' WHERE id='mit'"); header("Location:tarto.php"); } /* LÉTEZŐ ADATOK ÁTMÁSOLÁSA */ $a = $adat['id']; $b = $adat['nick']; $c = $adat['email']; $d = $adat['age']; /* LÉTEZŐ ADATOK BEHELYETTESÍTÉSE */ echo "<table cellspacing="3" style="text-align: center;">\n" . "<tr class="doboz">\n" . "<tr class="doboz">\n" . "<th>Id</th>\n" . "<th>Nick</th>\n" . "<th>E-mail</th>\n" . "<th>Kor</th>\n" . "<th>Ment</th>\n" . "</tr>"; echo "<form method="POST" action="tarto.php?funkcio=modosit&mit=" . $a . "">" . "<tr class="doboz">" . "<td><input type="text" name="ujid" value="" . $a . ""></td>\n" . "<td><input type="text" name="ujnick" value="" . $b . ""></td>\n" . "<td><input type="text" name="ujemail" value="" . $c . ""></td>\n" . "<td><input type="text" name="ujage" value="" . $d . ""></td>\n" . "<td><input type="submit" name="modositas" value="" style="background: url(kepek/ment.png); width: 32px; height: 32px; border: 0;"></td>\n" . "</tr>" . "</form>"; echo "</table>"; /* KAPCSOLAT BEZÁRÁSA */ mysql_close($kapcsolat); } break; } ?>
Mutasd a teljes hozzászólást!
...WHERE id='mit'

Itt az id-t nem az $mit php változóban lévő értékével, hanem a 'mit' sztringgel hasonlítod össze, mivel ennek a feltételnek egy rekord sem tesz eleget, ezért nem frissülnek az adatok

WHERE id='$mit' legyen és máris jó lesz. Viszont az id-t nem kéne hagyni módosítani, az legyen fix.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd