Php Problem: Eintragen in DB
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktion
besten sagen
code
date
datenbank
datum
eintragen
email
folgende datenbank
gleichen namen
hausnummer
header
http
nachname
ort
petition
postleitzahl
richtige code
tip
vertrauen
-
Ich habe folgende Config datei:
<?php // Datenbank Variablen $dbserver = \"localhost\"; $dbname = \"usr_web2_4\"; $dbuser = \"web2\"; $dbpass = \"**********\"; $table = \"petition\"; // Sonstige Variablen $beitraege = 10; ?>
Folgende Datenbank:
http://www.ostwestfalensgloria.de/1.jpg
Und folgende Eintrage Seite:
<?php include(\'var.inc.php\'); { echo\"<html>\". \"<head>\". \"<title>Petition</title>\". \"</head>\". \"<body>\"; echo\"Neuer Beitrag schreiben :\"; echo\"<form action=\\\"gb.php?aktion=insert\\\" method=\\\"post\\\">\". \"<table cellspacing=\\\"2\\\" cellpadding=\\\"2\\\" border=\\\"0\\\">\". \"<tr>\". \"<td>Name : </td>\". \"<td><input type=\\\"text\\\" name=\\\"name\\\" size=\\\"30\\\" maxlength=\\\"50\\\"></td>\". \"</tr>\". \"<tr>\". \"<td>Nachname : </td>\". \"<td><input type=\\\"text\\\" name=\\\"email\\\" size=\\\"30\\\" maxlength=\\\"50\\\"></td>\". \"</tr>\". \"<tr>\". \"<td>Postleitzahl :</td>\". \"<td><input type=\\\"text\\\" name=\\\"titel\\\" size=\\\"30\\\" maxlength=\\\"100\\\"></td>\". \"</tr>\". \"<tr>\". \"<td>Ort :</td>\". \"<td><input type=\\\"text\\\" name=\\\"titel\\\" size=\\\"30\\\" maxlength=\\\"100\\\"></td>\". \"</tr>\". \"<tr>\". \"<td>Straße :</td>\". \"<td><input type=\\\"text\\\" name=\\\"titel\\\" size=\\\"30\\\" maxlength=\\\"100\\\"></td>\". \"</tr>\". \"<tr>\". \"<td>Hausnummer :</td>\". \"<td><input type=\\\"text\\\" name=\\\"titel\\\" size=\\\"30\\\" maxlength=\\\"100\\\"></td>\". \"</tr>\". \"<tr>\". \"<td>E-Mail :</td>\". \"<td><input type=\\\"text\\\" name=\\\"titel\\\" size=\\\"30\\\" maxlength=\\\"100\\\"></td>\". \"</tr>\". \"<tr>\". \"<td><input type=\\\"submit\\\" name=\\\"sub\\\" value=\\\"Eintragen\\\"></td>\". \"<td><input type=\\\"reset\\\" name=\\\"res\\\" value=\\\"Reset\\\"></td>\". \"</tr>\". \"</table>\". \"</form>\"; } if ($aktion == \"insert\") { $conn = mysql_connect($dbserver,$dbuser,$dbpass); mysql_select_db($dbname,$conn); $datum = date(\"Y-m-d H:i:s\",time()); $query = \"INSERT INTO gb VALUES (\'\', \'\". addslashes($Name).\"\', \'\". addslashes($Nachname).\"\', \'\". addslashes($Postleitzahl).\"\', \'\". addslashes($Ort).\"\' , \'\". addslashes($Straße).\"\' , \'\". addslashes($Hausnummer).\"\' , \'\". addslashes($E-mail).\"\' , \'\".$datum.\"\')\"; $result = mysql_query($query,$conn); if (!$result) { die (\"Sorry, Datenbankeintrag hat nicht funktioniert\"); } mysql_close($conn); header(\"Location:gb.php\"); } ?>
Und dann trägt er nichts in die Datenbank ein, guckt aber selber:
http://ostwestfalensgloria.de/pro-arminia/gb.php
Wäre n1 wenn ich mir helfen könntet ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
$query = \"INSERT INTO gb VALUES (\'\', addslashes($Name), addslashes($Nachname), addslashes($Postleitzahl),addslashes($Ort),addslashes($Straße), addslashes($Hausnummer),addslashes($E-mail),$datum)\";
scheint mit den \" und \' zu sein
tipp schalt mal die register_globals off und nehme $_GET[\'aktion\']
mfg -
Also aus Formularen übergebene Daten sprichst du mit $_POST[\"feldname\"] an und nicht nur über $feldname.
Da die Felder bei dir alle den gleichen Namen haben (\"name\" und \"titel\"), hast du auch nicht genug variablen, um Daten in die Datenbank einzutragen.
Außerdem würde ich dir empfehlen statt der funktion addslashes auf mysql_real_escape_string() zu vertrauen. Vielleicht solltest du die Daten noch etwas mehr testen, sonst kann jeder alles in die Datenbank eintragen. -
1: $query = \"INSERT INTO gb VALUES (\'\', mysql_real_escape_string($_POST[\"Name\"]),
Und die namen alle richtig benenne, ginge das dann wohl?
Außerdem stimmt das so mit der Verbindung zu der Tabelle?
$table = \"petition\";
Da bin ich mir auch nicht sicher.
Beitrag geändert: 27.3.2008 17:01:39 von cellowich -
<?php include(\'var.inc.php\'); { echo\"<html>\". \"<head>\". \"<title>Petition</title>\". \"</head>\". \"<body>\"; echo\"Neuer Beitrag schreiben :\"; echo\"<form action=\\\"petition.php?aktion=insert\\\" method=\\\"post\\\">\". \"<table cellspacing=\\\"2\\\" cellpadding=\\\"2\\\" border=\\\"0\\\">\". \"<tr>\". \"<td>Name : </td>\". \"<td><input type=\\\"text\\\" name=\\\"Name\\\" size=\\\"30\\\" maxlength=\\\"50\\\"></td>\". \"</tr>\". \"<tr>\". \"<td>Nachname : </td>\". \"<td><input type=\\\"text\\\" name=\\\"Nachname\\\" size=\\\"30\\\" maxlength=\\\"50\\\"></td>\". \"</tr>\". \"<tr>\". \"<td>Postleitzahl :</td>\". \"<td><input type=\\\"text\\\" name=\\\"Postleitzahl\\\" size=\\\"30\\\" maxlength=\\\"100\\\"></td>\". \"</tr>\". \"<tr>\". \"<td>Ort :</td>\". \"<td><input type=\\\"text\\\" name=\\\"Ort\\\" size=\\\"30\\\" maxlength=\\\"100\\\"></td>\". \"</tr>\". \"<tr>\". \"<td>Straße :</td>\". \"<td><input type=\\\"text\\\" name=\\\"Straße\\\" size=\\\"30\\\" maxlength=\\\"100\\\"></td>\". \"</tr>\". \"<tr>\". \"<td>Hausnummer :</td>\". \"<td><input type=\\\"text\\\" name=\\\"Hausnummer\\\" size=\\\"30\\\" maxlength=\\\"100\\\"></td>\". \"</tr>\". \"<tr>\". \"<td>email :</td>\". \"<td><input type=\\\"text\\\" name=\\\"email\\\" size=\\\"30\\\" maxlength=\\\"100\\\"></td>\". \"</tr>\". \"<tr>\". \"<td><input type=\\\"submit\\\" name=\\\"sub\\\" value=\\\"Eintragen\\\"></td>\". \"<td><input type=\\\"reset\\\" name=\\\"res\\\" value=\\\"Reset\\\"></td>\". \"</tr>\". \"</table>\". \"</form>\"; } if ($aktion == \"insert\") { $conn = mysql_connect($dbserver,$dbuser,$dbpass); mysql_select_db($dbname,$conn); $datum = date(\"Y-m-d H:i:s\",time()); $query = \"INSERT INTO petition VALUES (\'\', \'\". mysql_real_escape_string($_POST[\"Name\"]).\"\', \'\". mysql_real_escape_string($_POST[\"Nachname\"]).\"\', \'\". mysql_real_escape_string($_POST[\"Postleitzahl\"]).\"\', \'\". mysql_real_escape_string($_POST[\"Ort\"]).\"\' , \'\". mysql_real_escape_string($_POST[\"Straße\"]).\"\' , \'\". mysql_real_escape_string($_POST[\"Hausnummer\"]).\"\' , \'\". mysql_real_escape_string($_POST[\"email\"]).\"\' , \'\".$datum.\"\')\"; $result = mysql_query($query,$conn); if (!$result) { die (\"Sorry, Datenbankeintrag hat nicht funktioniert\"); } mysql_close($conn); header(\"Location:petition.php\"); } ?>
Hiermit geht es allerdings irgendwie dann auch nicht.
Sry aber Php und Mysql sind nicht so meins
Könnte mir vll. jemand am besten sagen, wie der richtige Code lauten müsste damit ich in die Datenbank eintragen kann? ;)
Beitrag geändert: 28.3.2008 10:45:35 von cellowich -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage