Formular in MySQL

xxbutterfischxx

Grünschnabel
hallo community,

ich will per formular werte in meine mysql tabelle eingeben aber irgendwo muss im quelltext ein fehler sein der explorer meint in zeile 25 aber ich finde leider keinen.
vllt könnt ihr mir ja helfen

PHP:
<html>
<head>
<title> erste datenbankbindung
</title>
</head>

<body>
<form name="form1" method="post" action="form_db.php"
<p>
<input name="name" type="text" id="name">
Bitte geben sie ihren namen ein</p>
<p>
<input type="submit" name="submit" value="abschicken">
<input type="reset" name="reset" value="Eintrag Löschen">
</p>
</form>

<?php

$hostname = "localhost";
$database = "kunden";
$username = "root";
$passwort = "";
$test = mysql_pconnect('localhost', 'root','')
$sql = "INSERT INTO kunden.daten (vorname) VALUES ('$_POST[vorname]')";

$result = mysql_query($sql) ;

if($result) {
echo " Dateieingabe erfolgreich <br>\n";
} else {
echo " leider fehlgeschlagen <br>\n";

$sql2 = "SELECT * FROM kunden.daten";
$result2 = mysql_query($sql2);
while ($row = mysql_fetch_assoc(result2)) {

echo "row[name]<br>\n";

}
mysql_close($test); 

?>
</body>
</html>
 
Zuletzt bearbeitet von einem Moderator:
Benutze bitte die PHP-Tags in Zukunft.

Mir springt das hier ins Auge:
PHP:
$test = mysql_pconnect('localhost', 'root','')
da steht pconnect und es fehlt ein Semikolon( ; ) .

€dit: Dann noch das hier:

PHP:
echo "row[name]<br>\n";
da fehlt ein $ und Zwei einfache Hochkommata ( ' )

ich würde es so schreiben, dann ist es klarer:

PHP:
echo $row['name']."<br>\n";

HIer nochwas:

PHP:
if($result) {
echo " Dateieingabe erfolgreich <br>\n";
} else {
echo " leider fehlgeschlagen <br>\n";

Da fehlt die schließende geschweifte Klammer ( } ).

Scheint so, als ob du noch nicht lange dabei bist ;)

€dit2: Du solltest zudem noch eine Datenbank auswählen, mittels mysql_select_db()
 
Zuletzt bearbeitet:
Hi xxbutterfischxx,

die fehlenden Codetags, die das Lesen eines Beitrags erleichtern, wurden ja schon angesprochen, und von mir in deinem Post hinzugefügt. ;)

Desweiteren möchte ich dich als neues Mitglied unserer Community darum bitten, die Netiquette zu lesen und in deinen zukünftigen Forenbeiträgen auf die Groß- und Kleinschreibung zu achten - vielen Dank! :)

mfg Maik
 
Ja werd ich tun!

Und danke schon mal ich probier das gleich mal aus und nein, ich bin noch nicht lange dabei ich schreib blos Montag ne Klausur und muss das deshalb irgendwie in den Kopf kriegen.^^
 
So! Alles noch einmal überprüft und das gebastelte Formular wird jetzt auch richtig angezeigt! Aber wenn ich einen Namen eingebe, der ja zum einen in die mysql Tabelle eingegeben werden und zum anderen direkt auf der Seite auftauchen sollte gibts die Fehlermeldung "Objekt nicht gefunden". Woran könnte das liegen?
 
Hi,

erstens:

HTML:
<form name="form1" method="post" action="form_db.php"

Da fehlt das abschließende Tag-Sign ">"

Zweitens:

Gibt es die Datei form_db.php überhaupt?
 
Du kannst den Namen auch so ausgeben:
PHP:
echo $_POST['vorname'];

Da fehlten auch die ' (Hochkommata) gehören für mich zum guten Programmierstil ;)

Du solltest dir noch mal das Thema SQL-Injections angucken, falls du planst, das online zu stellen.

€dit @ saftmeister: Vermutlich ist das die Datei, die er uns hier zeigt. Wenn nicht, wird da das Problem liegen;)
 
Zuletzt bearbeitet:
So langsam nimmt das ganze Form an. Die Datei war falsch benannt und hätte form_db.php heißen müssen(danke Saftmneister). Es gibt jetzt keine Fehlermeldung mehr aber der in das Formular eingegebene Name taucht immernoch nicht auf der Seite auf und in die Mysql-Tabelle wird zwar jetzt ein Datensatz eingegeben aber statt dem eingetragenen Namen taucht dort nur ein leeres Feld auf. Jemand eine Ahnung woran das liegen kann?

ps: Mir ist es persönlich nicht so wichtig was zum guten Programmiererstil gehört weil ich ja keiner sein will sondern blos eine gute Infoklausur schreiben möchte aber ich bedanke mich trozdem für den Tipp und verwende gern die hochkommata^^
 
Jetzt musst du das Inputfeld auf vorname ändern oder in der PHP-Datei vorname in $_POST durch name ersetzen
 
Mach mal folgendes:

PHP:
$sql = "INSERT INTO kunden.daten (vorname) VALUES ('".$_POST['name']."')";

Desweiteren empfehle ich folgende Zeile an den Anfang der Datei zu schreiben:

PHP:
<?php error_reporting(E_ALL | E_STRICT); ?>
 
Zuletzt bearbeitet:
Zurück