Eintrag in Datenbank

Fragen oder Probleme mit HTML, PHP oder CSS?

Eintrag in Datenbank

Beitragvon nicky777 am 22.08.2007, 16:01

Hi Leute,
Folgendes Script soll einen Eintrag in die Datenbank 'IT05' in die Tabelle 'eintragen' machen.
Alles funktioniert.
Außer, dass in der Zeile 'Name' der im Textfeld eingetragene Wert eingetragen werden soll.
Komischerweise allerdings bleibt dieser Wert in der Datenbank immer NULL.
Woran liegt das?

Code: Alles auswählen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Mein Gästebuch</title>
<meta name="author" content="Dieter">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<h2>David's Gästebuch</h2>
<form action="eintragendb.php?action=add" method="POST">
<input type="Text" name="Textfeld1" value="HANNES">
<input type="Submit" name="btn1" value="Klick">
</form>
<?php
    $conn = mysql_connect ("localhost", "root", "");
    mysql_select_db ("it05", $conn) OR die ("Datenbank konnte nicht geöffnet werden");
    $str_sql = "INSERT INTO eintragen(name,email,www,text) VALUES ($_POST[Textfeld1],'Jana@HM.de','www.JH.de','Hey Ho Letzz goo!')";
    $result = mysql_query($str_sql);
?>
</body>
</html>


bye bye

David
nicky777
 
Beiträge: 491
Registriert: 02.12.2004, 17:37
Wohnort: Siegen


Beitragvon FireFoxFan am 22.08.2007, 16:32

Woran liegt das?

An deiner Variablenverarbeitung.
Wie man Formularfelder in PHP verwendet, kannst du z.B. hier nachlesen.

Genaugenommen ist der Fehler, dass du das Formularfeld Textfeld1 im PHP-Teil als $Textfeld1 verarbeiten wolltest. Es muss aber $_POST["Textfeld1"] sein !

So sollte es klappen:
Code: Alles auswählen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Mein Gästebuch</title>
<meta name="author" content="Dieter">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<h2>David's Gästebuch</h2>
<form action="eintragendb.php?action=add" method="POST">
<input type="Text" name="Textfeld1" value="HANNES">
<input type="Submit" name="btn1" value="Klick">
</form>
<?php
    $conn = mysql_connect ("localhost", "root", "");
    mysql_select_db ("it05", $conn) OR die ("Datenbank konnte nicht geöffnet werden");
    $str_sql = "INSERT INTO eintragen(name,email,www,text) VALUES ($_POST["Textfeld1"],'Jana@HM.de','www.JH.de','Hey Ho Letzz goo!')";
    $result = mysql_query($str_sql);
?>
</body>
</html>
FireFoxFan
 
Beiträge: 172
Registriert: 23.04.2006, 10:40

Beitragvon nicky777 am 22.08.2007, 18:17

Mhh... also so gehts jetzt auch nicht.
Das einzige, was du am Quelltext ja jetzt verändert hast sind ja die Anführungsstriche.
Und die dürfen ja nicht dahin... dann meckert der.
Irgendwie ist noch was falsch ;-)
nicky777
 
Beiträge: 491
Registriert: 02.12.2004, 17:37
Wohnort: Siegen

Beitragvon FireFoxFan am 22.08.2007, 18:30

Hallöchen,
hast du dein erstes Posting editiert ? Mir war so, als stände da vorhin noch was anderes.

Du hast Recht, die Version, die ich gepostet habe kann garnicht gehen.
Aber sicher ist, dass der Fehler in der Zeile mit dem InsertInto-Befehl liegt.
Ich glaube ich war da mit den Anführungszeichen durcheinander gekommen; probiere mal folgendes:

Code: Alles auswählen
$str_sql = "INSERT INTO eintragen(name,email,www,text) VALUES ('".$_POST["Textfeld1"]."','Jana@HM.de','www.JH.de','Hey Ho Letzz goo!')";


Wenn das nicht klappt melde dich nochmal, ich versuche es dann nochmal :wink:

mfg
FireFoxFan

PS:
dann meckert der.
Wenn "er" das nächste Mal "meckert", poste bitte die genaue Fehlermeldung.
FireFoxFan
 
Beiträge: 172
Registriert: 23.04.2006, 10:40

Beitragvon nicky777 am 22.08.2007, 19:23

Supi!!! jetzt gehts ;-)
nicky777
 
Beiträge: 491
Registriert: 02.12.2004, 17:37
Wohnort: Siegen


Zurück zu HTML, PHP & Co.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste