Von Php Formularen in mysql speichern
Hallo,
für viele eine wahrscheinlich leichte Aufgabe! Ich möchte über mein Formular die eingegeben Daten an meine Mysql DB senden. Scheint abe nicht zu funktionieren. Habe die neuste Xampp Version auf Windows 7 installiert... Ich hänge die scripte mal an und würde mich über einige Antworten freuen.
sonnige Grüße
Oliver
Formular:eingabe.html
File: insert-record.php
<code type="php">
<?php
$verbindung = mysql_connect ("localhost", "root", "admin")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");
mysql_select_db("partner")
or die ("Die Datenbank existiert nicht.");
$eintrag = "INSERT INTO partnerprogramm (name, vorname, strasse, plz, ort, tel, fax, email)
VALUES('$name','$vorname', '$strasse', '$plz,'$stadt','$telefon','$fax','$email')";
$eintrag=mysql_query($eintrag);
if($eintrag == true)
{
echo "Eintrag war erfolgreich";
}
else
{
echo "Fehler beim Speichern";
}
?> <!-- Ende der php-Prozedur-->
<HTML>
<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 3.2 Final//EN">
<HEAD><TITLE>Datensatz Einfügen</TITLE></HEAD>
<BODY>
<HR>
<A HREF="index.html">zurück zur Admin-Seite</A>
</BODY>
</HTML>
</coode>
für viele eine wahrscheinlich leichte Aufgabe! Ich möchte über mein Formular die eingegeben Daten an meine Mysql DB senden. Scheint abe nicht zu funktionieren. Habe die neuste Xampp Version auf Windows 7 installiert... Ich hänge die scripte mal an und würde mich über einige Antworten freuen.
sonnige Grüße
Oliver
Formular:eingabe.html
<HTML>
<HEAD>
<TITLE>Eingabe der Daten in Datenbank</TITLE>
</head>
<body bgcolor="#FFFFFF">
<p align=center><font size=5>Eingabe der Datensätze in Datenbank</font></p>
<form name "eingabe.html" action="insert-record.php" method="POST">
<table align="center" cellspacing="0" cellpadding="8" border="1">
<tr>
<td>Name</td>
<td><input type=text size=40 maxlength=30 name="name"></td>
</tr>
<tr>
<td>Vorname</td>
<td><input type=text size=40 maxlength=30 name="vorname"></td>
</tr>
<tr>
<td>Strasse</td>
<td><input type=text size=40 maxlength=40 name="strasse"></td>
</tr>
<tr>
<td>PLZ</td>
<td><input type=text size=8 maxlength=5 name="plz"></td>
</tr>
<tr>
<td>Stadt</td>
<td><input type=text size=40 maxlength=30 name="stadt"></td>
</tr>
<tr>
<td>Telefon</td>
<td><input type=text size=20 maxlength=20 name="telefon"></td>
</tr>
<tr>
<td>Fax</td>
<td><input type=text size=20 maxlength=20 name="fax"></td>
</tr>
<tr>
<td>Email</td>
<td><input type=text size=30 maxlength=30 name="email"></td>
</tr>
<tr>
<td>Art</td>
<td><select name="art">
<option> privat
<option> geschäftlich
</select> </td>
</tr>
<tr>
<td colspan="2" align="center"><input type=submit value="Eintrag hinzufügen"> <input type=reset value="Alles Löschen"> </td>
</tr>
</table>
</form>
<p> </p>
<p align="center"><a href="index.html">Zurück zur Startseite</a></p>
</body>
</html>
File: insert-record.php
<code type="php">
<?php
$verbindung = mysql_connect ("localhost", "root", "admin")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");
mysql_select_db("partner")
or die ("Die Datenbank existiert nicht.");
$eintrag = "INSERT INTO partnerprogramm (name, vorname, strasse, plz, ort, tel, fax, email)
VALUES('$name','$vorname', '$strasse', '$plz,'$stadt','$telefon','$fax','$email')";
$eintrag=mysql_query($eintrag);
if($eintrag == true)
{
echo "Eintrag war erfolgreich";
}
else
{
echo "Fehler beim Speichern";
}
?> <!-- Ende der php-Prozedur-->
<HTML>
<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 3.2 Final//EN">
<HEAD><TITLE>Datensatz Einfügen</TITLE></HEAD>
<BODY>
<HR>
<A HREF="index.html">zurück zur Admin-Seite</A>
</BODY>
</HTML>
</coode>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator masterG am 09.07.2010 um 18:08:29 Uhr
Code in Codeblocks gepackt.
Content-ID: 146595
Url: https://administrator.de/contentid/146595
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
4 Kommentare
Neuester Kommentar
Scheint abe nicht zu funktionieren.
Ich glaube da hätte der Octopus eine genauere Fehlerbeschreibung liefern können
Aber gut:
Du verwendest in deinem Code eine Syntax die
register_globals
erfordert und das ist gleich 3x schlecht, weil:a) Die Einstellung bei neueren PHP-Versionen deaktiviert ist
b) Sie demnächst rausfliegen wird
c) Sie zu aktivieren ein großes Sicherheitsrisiko ist.
Korrekterweise benutzt man die $_POST Superglobale: http://www.php.net/manual/de/reserved.variables.post.php
Und dann wäre da noch die SQL-Injection - dazu wird bei Wikipedia alles gesagt: http://de.wikipedia.org/wiki/SQL-Injection#PHP
und was passiert wenn du das script durchlaufen lässt?
Aber:
$eintrag = "INSERT INTO partnerprogramm (name, vorname, strasse, plz, ort, tel, fax, email)
VALUES('$name','$vorname', '$strasse', '$plz,'$stadt','$telefon','$fax','$email')";
Hier sollte sowas wie $_POST["variablenname"] stehen statt $name usw...
values(\"".$_POST["name"]."\",.. z.B.
Aber:
$eintrag = "INSERT INTO partnerprogramm (name, vorname, strasse, plz, ort, tel, fax, email)
VALUES('$name','$vorname', '$strasse', '$plz,'$stadt','$telefon','$fax','$email')";
Hier sollte sowas wie $_POST["variablenname"] stehen statt $name usw...
values(\"".$_POST["name"]."\",.. z.B.
[OT]
Ich glaube nicht das Paul ne gute beschreibung liefern könnte... Der hat nämlich schon ne Schlange vor sich stehen die den alle einladen wollen:
http://www.tz-online.de/fussball-wm-2010/kurioses/besten-rezepte-orakel ...
Und is ja bestes Grillwetter angesagt!
[/OT]
Ich glaube nicht das Paul ne gute beschreibung liefern könnte... Der hat nämlich schon ne Schlange vor sich stehen die den alle einladen wollen:
http://www.tz-online.de/fussball-wm-2010/kurioses/besten-rezepte-orakel ...
Und is ja bestes Grillwetter angesagt!
[/OT]