INSERT + Formularverarbeitung

sipoh

Erfahrenes Mitglied
Guten Tag,

ich habe ein kleines Problemchen, dessen Beseitigung mir Schwierigkeiten bereitet. Vielleicht könnt ihr mir helfen?

Ich habe ein Formular:

form.php:
Code:
<form action="<?php echo $SELF_PHP ?>" method="post">
<label id="formlab">Testfeld:</label>
<label id="unterlab"><input type="text" name="test" id="test" /></label>
<br />
<label id="unterlab"><input type="submit" name="submit" value="Ändern" /></label>
</form>

die php-Statements (form.php):
Code:
<?php

if (isset($_POST['submit'])) {
$con = mysql_connect("localhost", "root", "");
mysql_select_db("user",$con);

$sql = "INSERT INTO user (test) VALUES ".$_POST['test']." WHERE username = $valid_user";

$result = mysql_query($sql, $con);

echo "Datensatz erfolgreich aktualisiert!";

}

?>

Die DB sieht so aus:

user -> user -> id
username
test

Es werden aber keine Einträge in "test" gemacht.
 
Liegt vermutlich an dem WHERE username = $valid_user. Denn wo kein Datensatz ist, kann auch kein Username sein. Streich das mal raus, dann sollte es funktionieren.
 
$valid_user funktioniert. Wurde beim Login in einer Session gespeichert und kann es auch ausgeben. mit echo getestet.

die WHERE-Angabe muss doch aber rein, sonst weiß man doch nicht, zu welchem User dieser Eintrag gehören soll.

(Selbst ohne WHERE klappt es aber nicht. )
 
Dann check mal [phpf]mysql_error[/phpf]:
PHP:
$result = mysql_query($sql, $con) or die(mysql_error());
 
Code:
<?php

$connection = @mysql_connect("localhost", "sven", "sven") or die("Fehler beim Verbindungsaufbau.");
$db = @mysql_select_db("user", $connection) or die("Konnte Tabelle nicht auswählen.");

if (isset($_POST['submit'])) {

$sql="update user set test = '".$_POST['test']."' where username = '$valid_user'";

$result = @mysql_query($sql, $connection) or die("Fehler beim Eintrag.");

}

?>

so ist richtig.
 
Zurück