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 Jul 09, 2010 um 16:08:29 Uhr
Code in Codeblocks gepackt.

Content-Key: 146595

Url: https://administrator.de/contentid/146595

Printed on: April 24, 2024 at 11:04 o'clock

Member: dog
dog Jul 09, 2010 at 11:52:09 (UTC)
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
Member: maretz
maretz Jul 09, 2010 at 11:52:49 (UTC)
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.
Member: obrandt
obrandt Jul 09, 2010 at 12:02:27 (UTC)
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
Member: maretz
maretz Jul 09, 2010 at 12:06:24 (UTC)
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]