• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP & MYSQL: schreibt nicht in Tabelle über formular

Status
Für weitere Antworten geschlossen.

surfhai

Neues Mitglied
PHP & MYSQL: schreibt nicht in Tabelle über formular

Mein Test script funktioniert irgendwie nicht ganz, er führt die Datei zwar Erwartungsgemäß aus aber schreibt nichts in die MYSQL Tabelle

hier ist der code den ich ausführe:

[php:1:8dbb273927]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>Listing 12.7: Auflisten der datumnbanken</title>
</head>
<body>
<?php

include("./include/config.inc.php");

$db_link = mysql_connect( MYSQL_HOST, MYSQL_USER, MYSQL_PASS );
if ( ! $db_link )
die ( "Keine Verbindung zu MySQL" );
$db_select = mysql_select_db( MYSQL_DATABASE , $db_link );
if ( ! $db_select )
die ( "Konnte " . MYSQL_DATABASE . " nicht öffnen." );

$create_tab = "CREATE TABLE IF NOT EXISTS emails (
ID INT AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(70),
nachricht TEXT,
datum DATETIME)";

mysql_query( $create_tab, $db_link );

if ( isset( $_POST['email'] ) && isset( $_POST['nachricht'] ) )
{
$hinzu = "INSERT INTO MYSQL_DATABASE ( email, nachricht, datum )
VALUES ( " . $_POST['email'] . ", " . $_POST['nachricht'] . ", NOW() )";
mysql_query( $hinzu, $db_link );
print "Eingabe erfolgreich. Erneut versuchen <a href=\"" . $_SERVER['PHP_SELF'] . "\">LINK</a>";
} else {
print "<div>";
print "<form action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"POST\">";
print "

E-Mail:</p>";
print "

<input type=\"text\" name=\"email\" value=\"\" size=\"70\" maxlength=\"70\" /></p>";
print "

Message:</p>";
print "

<textarea name=\"nachricht\" cols=\"100\" rows=\"10\"></textarea></p>";
print "

<input type=\"Submit\" value=\"Eintragen\" /></p>";
print "</form>";
print "</div>";
}
mysql_close( $db_link );
?>
</body>
</html>
[/php:1:8dbb273927]

hier ist der ausgegebene HTML Code:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>Listing 12.7: Auflisten der datumnbanken</title>
</head>
<body>
<div><form action="/projects/LAN-Page/test1.php4" method="POST">

E-Mail:</p>

<input type="text" name="email" value="" size="70" maxlength="70" /></p>

Message:</p>

<textarea name="nachricht" cols="100" rows="10"></textarea></p>

<input type="Submit" value="Eintragen" /></p></form></div></body>
</html>

MfG
 
Werbung:
da benötige ich mal die fehlermeldungen von mysql und zwar für die create anweisung und dem Insert.

und zwar ersetzt Du folgende Zeilen
1.
Code:
mysql_query( $create_tab, $db_link );
durch
Code:
$result = mysql_query($create_tab);
if (!$result) {
   die('MySQL Fehler: ' . mysql_error())
}
und
Code:
mysql_query( $hinzu, $db_link );
durch
Code:
$result = mysql_query( $hinzu);
if (!$result) {
   die('Ungültige Abfrage: ' . mysql_error())
}

Bei dem create könnte ein fehler sein, ich kenne das mit dem primary_key anders. Bei mir sieht das so aus
Code:
$create_tab = "CREATE TABLE IF NOT EXISTS emails (
               ID INT AUTO_INCREMENT,
               email VARCHAR(70),
               nachricht TEXT,
               datum DATETIME,
               PRIMARY KEY(ID))";
 
danke für das beispiel mit dem ich mysql fehler ausgeben kann

aber ich hab das problem schon gelöst (dank fehlerausgabe von mysql, hab ich total scheisse eingebunden. hat aber geklappt)

das problem war die INSERT Anweisung

1. hab ich INSERT INTO MYSQL_DATABASE geschrieben... aber da muss ja "emails" hin, total beknackter fehler :)

2. habe ich vergessen das Spalten (email, nachricht, datum) nicht in ' ' geschrieben werden, dagegen die Werte schon

und das Create funktioniert :) hab ich von http://tut.php-q.net/

MfG
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben