obrandt
Goto Top

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
<HTML>
<HEAD>
<TITLE>Eingabe der Daten in Datenbank</TITLE>
</head>
<body bgcolor="#FFFFFF">  
<p align=center><font size=5>Eingabe der Datens&auml;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&auml;ftlich
</select> </td>
</tr>
<tr>
<td colspan="2" align="center"><input type=submit value="Eintrag hinzuf&uuml;gen"> &nbsp;&nbsp;<input type=reset value="Alles L&ouml;schen"> </td>  
</tr>
</table>
</form>
<p>&nbsp;</p>
<p align="center"><a href="index.html">Zur&uuml;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&uuml;gen</TITLE></HEAD>
<BODY>

<HR>
<A HREF="index.html">zur&uuml;ck zur Admin-Seite</A>
</BODY>
</HTML>
</coode>
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

dog
dog 09.07.2010 um 13:52:09 Uhr
Goto Top
Scheint abe nicht zu funktionieren.

Ich glaube da hätte der Octopus eine genauere Fehlerbeschreibung liefern können face-wink

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
maretz
maretz 09.07.2010 um 13:52:49 Uhr
Goto Top
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.
obrandt
obrandt 09.07.2010 um 14:02:27 Uhr
Goto Top
Super,

danke für eure sehr schnellen Antworten! Da ich gerade nicht mehr am Platz bin werde ich es später mal testen und bin mir sicher ihr habt rechtface-smile
maretz
maretz 09.07.2010 um 14:06:24 Uhr
Goto Top
[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]