Avatar billede mortenj2003 Nybegynder
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??
Avatar billede dgivoni Nybegynder
07. januar 2003 - 18:05 #1
har du testet at $id rent faktisk har en vaerdi og at denne vaerdi er i databasen?
Avatar billede mortenj2003 Nybegynder
07. januar 2003 - 18:08 #2
der er en $id i databasen..
Avatar billede dgivoni Nybegynder
07. januar 2003 - 18:09 #3
fjern anfoerselstegnene rundt om id-et...
Avatar billede dgivoni Nybegynder
07. januar 2003 - 18:09 #4
WHERE id= '$id'
skal vaere
WHERE id= $id
vil jeg tro
Avatar billede mortenj2003 Nybegynder
07. januar 2003 - 18:12 #5
så får jeg denne fejl: You have an error in your SQL syntax near '' at line 1
Avatar billede dgivoni Nybegynder
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();
Avatar billede mortenj2003 Nybegynder
07. januar 2003 - 18:17 #7
ja
Avatar billede dgivoni Nybegynder
07. januar 2003 - 18:20 #8
det var skisme underligt...
proev lige at poste din kode her igen, som den ser ud nu
Avatar billede mortenj2003 Nybegynder
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>
Avatar billede mortenj2003 Nybegynder
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)
Avatar billede dgivoni Nybegynder
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?
Avatar billede mortenj2003 Nybegynder
07. januar 2003 - 18:35 #12
har lige prøvet med echo $id og det virker fint, den finder id'en..
Avatar billede dgivoni Nybegynder
07. januar 2003 - 18:39 #13
hvad med isset($_POST['update'])? er den true?
Avatar billede mortenj2003 Nybegynder
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..
Avatar billede dgivoni Nybegynder
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...
Avatar billede mortenj2003 Nybegynder
07. januar 2003 - 18:50 #16
den skriver "her"
Avatar billede mortenj2003 Nybegynder
07. januar 2003 - 18:52 #17
skal lige spise... kommer på igen ved en 20:00 tiden. :)
Avatar billede dgivoni Nybegynder
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?
Avatar billede dgivoni Nybegynder
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?
Avatar billede mortenj2003 Nybegynder
07. januar 2003 - 20:38 #20
virker nu :D takker sq for hjælpen!
Avatar billede dgivoni Nybegynder
07. januar 2003 - 21:18 #21
godt at høre...

/David
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester