ändern von mysql datenbankeinträgen-problem
hilman2
- php
Hallo, ich bin php anfänger(3tage ;P ) und hab mir mal ein kleines script geschrieben, bei dem user ihre site eintragen können mit banner usw.. eine interaktive linklist sozusagen.
klappt auch alles wunderbar, nur jetzt beim letzen teil des scripts gibts ein problem:
ich krieg die daten aus der datenbank zwar in ein form geschrieben, so das ich sie bearbeiten kann, doch wenn ich dann auf submit drück werden die daten nicht geändert :(
[PHP]
.
.
.db verbindung usw.....
.
.
<form method="POST" action="">
<p>Link nach ID ändern:</p>
<p><input type="text" name="id" size="30"></p>
<p><input type="submit" value="Ändern" name="submit"><input type="reset" value="Zurücksetzen" name="B4"></p>
</form>
<?
echo $id;
$id= $HTTP_POST_VARS["id"];
$abfrage = "SELECT * FROM $tab WHERE id='$id'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
?>
<form name="form1" method="post" action="links.php?go=aend">
<input type="hidden" name="id" value="<? echo $row->id; ?>">
<table width="215" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="71"> <p>URL:</p>
<p> </p></td>
<td width="144"><input name="url" type="text" id="url" value="<? echo $row->url; ?>"></td>
</tr>
<tr>
<td><p>Urlname:</p>
<p> </p></td>
<td><input name="urlname" type="text" id="urlname" value="<? echo $row->urlname; ?>"></td>
</tr>
<tr>
<td> Name:
<p> </p></td>
<td><input name="name" type="text" id="name" value="<? echo $row->name; ?>"></td>
</tr>
<tr>
<td><p>Bannerurl</p>
<p> </p></td>
<td><input name="banner" type="text" id="banner" value="<? echo $row->banner; ?>"></td>
</tr>
<tr>
<td colspan="2"><textarea name="beschreibung" rows="5" id="beschreibung"><? echo $row->beschreibung; ?></textarea></td>
</tr>
</table>
<p>
<input type="submit" name="Submit" value="Ändern">
</p>
</form>
<?
//bis hier hin funktioniert es, die daten werden in dem FORM dargestellt.
//aber er trägt sie nicht in die db
}
break;
case "aend":
if ( $HTTP_POST_VARS["id"] == $id ) {
$url = $HTTP_POST_VARS["url"];
$urlname = $HTTP_POST_VARS["urlname"];
$name = $HTTP_POST_VARS["name"];
$banner = $HTTP_POST_VARS["banner"];
$beschreibung = $HTTP_POST_VARS["beschreibung"];
$eintrag = "UPDATE $tab SET (url, urlname, name, banner, beschreibung) VALUES ('$url', '$urlname', '$name', '$banner','$beschreibung') WHERE id =$id";
$eintragen = mysql_query($eintrag);
}
}?>
[/PHP]
das passwort für den admin beriech heißt test
Hello,
ich krieg die daten aus der datenbank zwar in ein form geschrieben, so das ich sie bearbeiten kann, doch wenn ich dann auf submit drück werden die daten nicht geändert :(
.db verbindung usw.....
.
.
<form method="POST" action="">
Wohin versendest Du denn die Daten?
Liebe Grüße aus http://www.braunschweig.de
Tom
das is doch der teil, der geht, das was du da angeführt hast is ja auch
nur die psw abfrage! und 1. mal geht die, und 2. kümmert sich da ja die nachfolgende "if" abfrage drum.. da wos hapert is makiert, mit nem kommentar, ziemlich weit unten
Hello,
das is doch der teil, der geht, das was du da angeführt hast is ja auch
nur die psw abfrage! und 1. mal geht die, und 2. kümmert sich da ja die nachfolgende "if" abfrage drum.. da wos hapert is makiert, mit nem kommentar, ziemlich weit unten
also diese Passage?
if ( $HTTP_POST_VARS["id"] == $id )
{
$url = $HTTP_POST_VARS["url"];
$urlname = $HTTP_POST_VARS["urlname"];
$name = $HTTP_POST_VARS["name"];
$banner = $HTTP_POST_VARS["banner"];
$beschreibung = $HTTP_POST_VARS["beschreibung"];
$eintrag = "UPDATE $tab
SET (url, urlname, name, banner, beschreibung)
VALUES ('$url', '$urlname', '$name', '$banner','$beschreibung')
WHERE id =$id";
$eintragen = mysql_query($eintrag);
}
Wenn Du eine neuere PHP-Version benutzt (also über 4.1) dann benutze nicht mehr $HTTP_*_VARS, sondern $_POST, $_GET, $_COOKIE
Diese Arrays werden von PHP automatisch erzeugt, und sind "superglobal", also im ganzen Script in allen Scopes erreichbar.
Welche Kontrollen hast Du denn schon vorgenommen?
Wird die IF-Bedingung erfüllt?
Was ergibt die MySQL-Fehlerprüfung? Was steht hinterher in $eintrag und in mysql_error()?
Bitte erst diese Fragen untersuchen...
Liebe Grüße aus http://www.braunschweig.de
Tom