Avatar billede cyber_14 Nybegynder
11. september 2002 - 21:43 Der er 27 kommentarer

update i mysql

Hej jeg har en bruger system og jeg kan ikke få min update funktion til at virke! Der kommer ingen fejl eller noget men i min mysql er intet ændret! HJÆLP!!
Avatar billede cyber_14 Nybegynder
11. september 2002 - 21:45 #1
i kan se scriptet som skal lave min update her:

<?
// Opdater oplysningerne
if ($update) {
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
mysql_query("UPDATE community SET navn='$navn', password='$password', email='$email', alder='$alder', hjemmeside='$hjemmeside' WHERE id='$id'")or die(mysql_error());
echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret";
}
?>
Avatar billede jakoba Nybegynder
11. september 2002 - 21:52 #2
id er som regel et tal, så der skal ikke ' tegn om
    tallet  25  er noget ganske andet end strengen "25"

mysql_query("UPDATE community SET navn='$navn', password='$password', email='$email', alder='$alder', hjemmeside='$hjemmeside' WHERE id=$id")or die(mysql_error());

mvh JakobA
Avatar billede jkmedia Nybegynder
11. september 2002 - 21:53 #3
hvad skriver den når du updater??
Avatar billede cyber_14 Nybegynder
11. september 2002 - 21:55 #4
det virker ikke!
Avatar billede cyber_14 Nybegynder
11. september 2002 - 21:55 #5
<?
session_start();
?>
<html>
<head>
<title>Brugersystem</title>
<meta name="Generator" content="Stone's WebWriter 3.5">
</head>

<body>

<?
// Tjek om brugeren er logget ind
if ($s_navn && $s_password) {
?>
<?
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT * FROM community WHERE navn='$s_navn' AND password='$s_password'")or die(mysql_error());
while($r = mysql_fetch_array($query)) {
$id = $r["id"];
$navn = $r["navn"];
$password = $r["password"];
$email = $r["email"];
$alder = $r["alder"];
$hjemmeside = $r["hjemmeside"];
}
?>
<form method="post" action="ret.php">
<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 "$navn" ?></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="150">Email:</td>
<td width="150"><input type="text" name="email" value="<? echo "$email"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Alder:</td>
<td width="150"><input type="text" name="alder" value="<? echo "$alder"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Hjemmeside:</td>
<td width="150"><input type="text" name="hjemmeside" value="<? echo "$hjemmeside"; ?>" 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 ($update) {
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
mysql_query("UPDATE community SET navn='$navn', password='$password', email='$email', alder='$alder', hjemmeside='$hjemmeside' WHERE id=$id")or die(mysql_error());
echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret";
}
?>
<?
// Hvis brugeren ikke er logget ind
} else {
?>
<center><font color="red">Kun for medlemmer</font></center>
<?
}
?>

</body>
</html>

her er hele filen! den skriver bare Dine oplysninger er blevet opdateret som jeg har skrevet den skal sige!
Avatar billede cyber_14 Nybegynder
11. september 2002 - 21:58 #6
kan i nu hvor i har hele min ret.php fil!
Avatar billede jkmedia Nybegynder
11. september 2002 - 21:59 #7
prøv at gøre sådan her i din form:

<form method="post" action="ret.php?id=<? echo $id; ?>">

Og så slet feltet:
<input type="hidden" name="id" value="$id">
Avatar billede jkmedia Nybegynder
11. september 2002 - 22:00 #8
når jeg lige kigger efter har du glemt <? echo ;?> i dit hidden felt!!

Du har:
<input type="hidden" name="id" value="$id">

Det skal være:
<input type="hidden" name="id" value="<? echo $id; ?>">
Avatar billede jkmedia Nybegynder
11. september 2002 - 22:00 #9
og når mysql'en ikke får et ID kan den ikke update!!
Avatar billede cyber_14 Nybegynder
11. september 2002 - 22:03 #10
ok!
Avatar billede cyber_14 Nybegynder
11. september 2002 - 22:05 #11
den opdatere ikke oplysningerne den opdatere siden igen og den er som før!
Avatar billede cyber_14 Nybegynder
11. september 2002 - 22:07 #12
min fil nu sådan her ud:


<?
session_start();
?>
<html>
<head>
<title>Brugersystem</title>
<meta name="Generator" content="Stone's WebWriter 3.5">
</head>

<body>

<?
// Tjek om brugeren er logget ind
if ($s_navn && $s_password) {
?>
<?
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT * FROM community WHERE navn='$s_navn' AND password='$s_password'")or die(mysql_error());
while($r = mysql_fetch_array($query)) {
$id = $r["id"];
$navn = $r["navn"];
$password = $r["password"];
$email = $r["email"];
$alder = $r["alder"];
$hjemmeside = $r["hjemmeside"];
}
?>
<form method="post" action="ret.php?id=<? echo $id; ?>">
<input type="hidden" name="id" value="<? echo $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 "$navn" ?></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="150">Email:</td>
<td width="150"><input type="text" name="email" value="<? echo "$email"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Alder:</td>
<td width="150"><input type="text" name="alder" value="<? echo "$alder"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Hjemmeside:</td>
<td width="150"><input type="text" name="hjemmeside" value="<? echo "$hjemmeside"; ?>" 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 ($update) {
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
mysql_query("UPDATE community SET navn='$navn', password='$password', email='$email', alder='$alder', hjemmeside='$hjemmeside' WHERE id=$id")or die(mysql_error());
echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret";
}
?>
<?
// Hvis brugeren ikke er logget ind
} else {
?>
<center><font color="red">Kun for medlemmer</font></center>
<?
}
?>

</body>
</html>
Avatar billede jakoba Nybegynder
11. september 2002 - 22:08 #13
prøv med denne:
if ($update) {
    // include ("config.php");          // 3 overflødige linier
    // mysql_connect($host,$user,$pass); // for det gjorde du oppe i toppen
    // mysql_select_db($db);
    $res = mysql_query("
        SELECT COUNT(*)
        FROM community
        WHERE id=$id
    " ) or die( mysql_error() );
    $findes = mysql_result( $res, 0, 0 ) > 0 );
    if ( $findes == 1 ) {
        mysql_query("
            UPDATE community
            SET navn='$navn',
                password='$password',
                email='$email',
                alder='$alder',
                hjemmeside='$hjemmeside'
            WHERE id=$id
        ")or die(mysql_error());
    } else
    if ( $findes == 0 ) {
        echo "der findes ingen bruger med id == " .$id ."<br>";
    }
    echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret";
}
Avatar billede cyber_14 Nybegynder
11. september 2002 - 22:10 #14
får fejl i linje 66
Avatar billede jakoba Nybegynder
11. september 2002 - 22:10 #15
Ups.  fjern  '> 0 )'  bagerst i linien
    $findes = mysql_result( $res, 0, 0 );
Avatar billede cyber_14 Nybegynder
11. september 2002 - 22:13 #16
virker stadig ikke!
Avatar billede cyber_14 Nybegynder
11. september 2002 - 22:13 #17
Avatar billede jakoba Nybegynder
11. september 2002 - 22:15 #18
til  "virker stadig ikke!"  kan jeg ikke sige andet end  NÅ!

men hvis du fortæller hvilken fejl der kommer i hvilken line og hvad der står i den linie, så kan jeg kikke og måske hjælpe.
Avatar billede cyber_14 Nybegynder
11. september 2002 - 22:16 #19
jamen den skriver bare Dine oplysninger er blevet opdateret
Avatar billede jakoba Nybegynder
11. september 2002 - 22:28 #20
Jep, og sådan et link, det er RIGTIG noget der hjælper.

Ha Ha, det fik jeg den. det du gør foroven på siden, det er jo at du henter det der står i databasen ind i variablene

$navn, $email, osv....

når du så opdaterer bagefter er det de værdier der bliver sat ind igen. Dvs det samme som der stod før :(

<?
session_start();
?>
<html>
<head>
<title>Brugersystem</title>
<meta name="Generator" content="Stone's WebWriter 3.5">
</head>

<body>

<?
// Tjek om brugeren er logget ind
if ($s_navn && $s_password) {
?>
<?
include ("config.php");          // 3 overflødige linier
mysql_connect($host,$user,$pass); // for det gjorde du oppe i toppen
mysql_select_db($db);

if ($update) {        //  START med at opdatere hvis der skal opdateres
    $res = mysql_query("
        SELECT COUNT(*)
        FROM community
        WHERE id=$id
    " ) or die( mysql_error() );
    $findes = mysql_result( $res, 0, 0 ) > 0 );
    if ( $findes == 1 ) {
        mysql_query("
            UPDATE community
            SET navn='$navn',
                password='$password',
                email='$email',
                alder='$alder',
                hjemmeside='$hjemmeside'
            WHERE id=$id
        ")or die(mysql_error());
    } else
    if ( $findes == 0 ) {
        echo "der findes ingen bruger med id == " .$id ."<br>";
    }
    echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret";
}

$query = mysql_query("SELECT * FROM community WHERE navn='$s_navn' AND password='$s_password'")or die(mysql_error());
while($r = mysql_fetch_array($query)) {
$id = $r["id"];
$navn = $r["navn"];
$password = $r["password"];
$email = $r["email"];
$alder = $r["alder"];
$hjemmeside = $r["hjemmeside"];
}
?>
<form method="post" action="ret.php?id=<? echo $id; ?>">
<input type="hidden" name="id" value="<? echo $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 "$navn" ?></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="150">Email:</td>
<td width="150"><input type="text" name="email" value="<? echo "$email"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Alder:</td>
<td width="150"><input type="text" name="alder" value="<? echo "$alder"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Hjemmeside:</td>
<td width="150"><input type="text" name="hjemmeside" value="<? echo "$hjemmeside"; ?>" 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>
<?
// Hvis brugeren ikke er logget ind
} else {
?>
<center><font color="red">Kun for medlemmer</font></center>
<?
}
?>

</body>
</html>

mvh JakobA
Avatar billede jkmedia Nybegynder
11. september 2002 - 22:29 #21
prøv lige den her: (ved ikke om det virker!!)

<?
session_start();
?>
<html>
<head>
<title>Brugersystem</title>
<meta name="Generator" content="Stone's WebWriter 3.5">
</head>

<body>

<?
// Tjek om brugeren er logget ind
if ($s_navn && $s_password) {
?>
<?
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT * FROM community WHERE navn='$s_navn' AND password='$s_password'")or die(mysql_error());
$r = mysql_fetch_array($query);
$id = $r["id"];
$navn = $r["navn"];
$password = $r["password"];
$email = $r["email"];
$alder = $r["alder"];
$hjemmeside = $r["hjemmeside"];
?>
<form method="post" action="ret.php?id=<? echo $id; ?>">
<input type="hidden" name="id" value="<? echo $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 "$navn" ?></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="150">Email:</td>
<td width="150"><input type="text" name="email" value="<? echo "$email"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Alder:</td>
<td width="150"><input type="text" name="alder" value="<? echo "$alder"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Hjemmeside:</td>
<td width="150"><input type="text" name="hjemmeside" value="<? echo "$hjemmeside"; ?>" 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 ($update) {
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
mysql_query("UPDATE community SET navn='$navn', password='$password', email='$email', alder='$alder', hjemmeside='$hjemmeside' WHERE id=$id")or die(mysql_error());
echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret";
}
?>
<?
// Hvis brugeren ikke er logget ind
} else {
?>
<center><font color="red">Kun for medlemmer</font></center>
<?
}
?>

</body>
</html>
Avatar billede jakoba Nybegynder
11. september 2002 - 22:30 #22
og igen fjerne  ' > 0 )'  den blev pasted ind igen :(
Avatar billede jakoba Nybegynder
11. september 2002 - 22:35 #23
men du skal nok også fjerne    navn = '$navn',  i SET-listen. der er jo ikke noget felt der hedder navn i rette-formularen.

        mysql_query("
            UPDATE community
            SET password='$password',
                email='$email',
                alder='$alder',
                hjemmeside='$hjemmeside'
            WHERE id=$id
        ")or die(mysql_error());
Avatar billede cyber_14 Nybegynder
12. september 2002 - 11:35 #24
den bliver ved med bare at gå tilbage til det samme igen!
Avatar billede cyber_14 Nybegynder
12. september 2002 - 18:00 #25
ingen som kan hjælpe!
Avatar billede sukos Juniormester
12. september 2002 - 18:31 #26
Skal WHERE id=$id
ikke være:
WHERE id='$id'

???
Avatar billede gregorian Nybegynder
06. august 2003 - 12:10 #27
jo... husk '' ved variabler
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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