07. januar 2003 - 17:56
Der er
20 kommentarer og 1 løsning
update fejl
Hvorfor virker det her møg ikke: <? session_start(); ?> <html> <head> <title>Brugersystem</title> <meta name="Generator" content="Stone's WebWriter 3.5"> </head> <body> <? include ("config.php"); mysql_connect($host,$user,$pass); mysql_select_db($db); $query = mysql_query("SELECT * FROM brugere WHERE brugernavn='$s_brugernavn' AND password='$s_password'") or print mysql_error(); while($r = mysql_fetch_array($query)) { $id = $r["id"]; $brugernavn = $r["brugernavn"]; $password = $r["password"]; } ?> <form method="post" action="<? echo $php_self ?>"> <input type="hidden" name="id" value="$id"> <table width="300"> <tr> <td width="300" colspan="2"><b>Ret oplysninger</b></td> </tr><tr> <td width="150">Navn:</td> <td width="150"><? echo "$brugernavn" ?></td> </tr><tr> <td width="150">Kodeord:</td> <td width="150"><input type="text" name="kodeord" value="<? echo "$password"; ?>" style="width: 152px"></td> </tr><tr> <td width="300" colspan="2" align="right"><input type="submit" name="update" value="Udfør"></td> </tr> </table> </form> <? // Opdater oplysningerne if (isset($_POST['update'])) { include ("config.php"); mysql_query("UPDATE brugere SET brugernavn = '$brugernavn', password = '$password' WHERE id= '$id'") or print mysql_error(); echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret"; } ?> </body> </html> Den vil ikke opdatere, men det skriver: "Dine oplysninger er blevet opdateret" ! en der aner hvorfor??
Annonceindlæg fra Thales
07. januar 2003 - 18:05
#1
har du testet at $id rent faktisk har en vaerdi og at denne vaerdi er i databasen?
07. januar 2003 - 18:08
#2
der er en $id i databasen..
07. januar 2003 - 18:09
#3
fjern anfoerselstegnene rundt om id-et...
07. januar 2003 - 18:09
#4
WHERE id= '$id' skal vaere WHERE id= $id vil jeg tro
07. januar 2003 - 18:12
#5
så får jeg denne fejl: You have an error in your SQL syntax near '' at line 1
07. januar 2003 - 18:16
#6
ser den saadan her ud: mysql_query("UPDATE brugere SET brugernavn = '$brugernavn', password = '$password' WHERE id= $id") or print mysql_error();
07. januar 2003 - 18:17
#7
ja
07. januar 2003 - 18:20
#8
det var skisme underligt... proev lige at poste din kode her igen, som den ser ud nu
07. januar 2003 - 18:21
#9
<? session_start(); ?> <html> <head> <title>Brugersystem</title> <meta name="Generator" content="Stone's WebWriter 3.5"> </head> <body> <? include ("config.php"); mysql_connect($host,$user,$pass); mysql_select_db($db); $query = mysql_query("SELECT * FROM brugere WHERE brugernavn='$s_brugernavn' AND password='$s_password'") or print mysql_error(); while($r = mysql_fetch_array($query)) { $id = $r["id"]; $brugernavn = $r["brugernavn"]; $password = $r["password"]; } ?> <form method="post" action="<? echo $php_self ?>"> <input type="hidden" name="id" value="$id"> <table width="300"> <tr> <td width="300" colspan="2"><b>Ret oplysninger</b></td> </tr><tr> <td width="150">Navn:</td> <td width="150"><? echo "$brugernavn" ?></td> </tr><tr> <td width="150">Kodeord:</td> <td width="150"><input type="text" name="kodeord" value="<? echo "$password"; ?>" style="width: 152px"></td> </tr><tr> <td width="300" colspan="2" align="right"><input type="submit" name="update" value="Udfør"></td> </tr> </table> </form> <? // Opdater oplysningerne if (isset($_POST['update'])) { include ("config.php"); mysql_query("UPDATE brugere SET brugernavn = '$brugernavn', password = '$password' WHERE id= $id") or print mysql_error(); echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret"; } ?> </body> </html>
07. januar 2003 - 18:27
#10
nu siger den ik den fejl mere, men den opdatere stadig ikke (det var fordi "I" i id var med stort)
07. januar 2003 - 18:32
#11
den eneste grund jeg kan forestille mig, til at den ikke opdaterer, men heller giver en fejlmeddelelse, er at den ikke finder den post den skal opdatere og dvs. at $id ikke indeholder en vaerdi, eller at den vaerdi ikke er i databasen. Har du proevet med echo $id, for at se om den indeholder noget?
07. januar 2003 - 18:35
#12
har lige prøvet med echo $id og det virker fint, den finder id'en..
07. januar 2003 - 18:39
#13
hvad med isset($_POST['update'])? er den true?
07. januar 2003 - 18:42
#14
hvordan kan jeg se det? det var en fra #php.dk der sagde jeg skulle sætte den ind..
07. januar 2003 - 18:45
#15
hvis du skriver echo (isset($_POST['update'])) burde du faa enten true eller false. alternativt kan du saette en: echo 'her'; ind i if-saetningen, hvis den skriver her, ved du at den har udfoert if-saetningen...
07. januar 2003 - 18:50
#16
den skriver "her"
07. januar 2003 - 18:52
#17
skal lige spise... kommer på igen ved en 20:00 tiden. :)
07. januar 2003 - 18:55
#18
nu tror jeg sgu, jeg har fundet fejlen. det er det gamle kodeord, som er i $password, du faar ikke det nye med... Men jeg kan ikke lige se, hvor du faar variablen $s_password fra?
07. januar 2003 - 18:59
#19
jeg skal ogsaa spise snart, men jeg vil tro at flg. er loesningen: mysql_query("UPDATE brugere SET brugernavn = '$brugernavn', password = '$kodeord' WHERE id= '$id'") men du behoever jo ikke at opdatere brugernavnet, det kan jo slet ikke aendres, vel?
07. januar 2003 - 20:38
#20
virker nu :D takker sq for hjælpen!
07. januar 2003 - 21:18
#21
godt at høre... /David
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.