$id = time(); erscheint nicht in mysql tabelle

monicas

Grünschnabel
Guten Abend,
ich habe versucht ein älteres Gästebuch nachzubauen. Das hat soweit auch geklappt, nur bekomme ich die Abfrage

PHP:
$id = time();

nicht in meine datenbank-tabelle.

soeben habe ich getestet, ob die Abfrage

PHP:
<?php
$t=time();
echo($t . "<br />");
echo(date("D F d Y",$t));
?>

auf meinem server läuft, und ja, es geht. Umsomehr wundere ich mich das die

PHP:
$id = time();
$sqlkommando = "INSERT INTO guestbook (id, name, email, message) VALUES ('".mysql_real_escape_string($_POST['id'])."', '".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['email'])."', '".mysql_real_escape_string($_POST['message'])."')";

die id nicht in die Datenbank-tabelle einfügt. Hat dazu jemand eine Idee?


Ps. In mysgl ist die id-spalte so definiert:
id bigint(20) (Null)Nein auto_increment
 
Hi Chumper,
vielen Dank fuer den Tip!!
Allerdings verstehe ich nicht wirklich, warum das so sein muss Haettest Du evtl. dafuer eine kleine Erklaerung?

Ich versuche also nachher mal folgendes:

PHP:
$id = time(); 
$sqlkommando = "INSERT INTO guestbook (id, name, email, message) VALUES ('".mysql_real_escape_string('id')."', '".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['email'])."', '".mysql_real_escape_string($_POST['message'])."')";

Gruss
 
Hi Chumper,
vielen Dank fuer den Tip!!
Allerdings verstehe ich nicht wirklich, warum das so sein muss Haettest Du evtl. dafuer eine kleine Erklaerung?

Ich versuche also nachher mal folgendes:

PHP:
$id = time(); 
$sqlkommando = "INSERT INTO guestbook (id, name, email, message) VALUES ('".mysql_real_escape_string('id')."', '".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['email'])."', '".mysql_real_escape_string($_POST['message'])."')";

Gruss

Hi,

$POST['id'] würde man dann nutzen wenn $id per URL übergeben wird.
Da Du $id aber im vorfeld definiert hast existiert $id nur und kann nicht aus der URL ausgelesen werden.
Von daher musst $id eintragen und nicht $_POST['id']
Ich hoffe ich hab mich klar ausgedrückt;)

Gruss

Wipeout
 
Hi,

$POST['id'] würde man dann nutzen wenn $id per URL übergeben wird.
Da Du $id aber im vorfeld definiert hast existiert $id nur und kann nicht aus der URL ausgelesen werden.
Von daher musst $id eintragen und nicht $_POST['id']
Ich hoffe ich hab mich klar ausgedrückt;)

Gruss

Wipeout

Das ist aber leider falsch!

$_POST - Variablen sind superglobale Variablen welche über ein Formular übergeben werden können.
$_GET - Variablen sind das gleiche nur werden diese über die URL übergeben.

Deswegen auch die beiden Methoden

Code:
<form action"" method="post">

und

Code:
<form action="" method="get">
 
Asche auf mein Haupt ;)

Stimmt natürlich was du sagst, hab das gemeint was Du geschrieben hast, mich nur unglücklich ausgedrückt ;)
Kommt davon wenn man sowas vor dem frühstück macht ;)
 
Hi Chumper,
vielen Dank fuer den Tip!!
Allerdings verstehe ich nicht wirklich, warum das so sein muss Haettest Du evtl. dafuer eine kleine Erklaerung?

Ich versuche also nachher mal folgendes:

PHP:
$id = time(); 
$sqlkommando = "INSERT INTO guestbook (id, name, email, message) VALUES ('".mysql_real_escape_string('id')."', '".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['email'])."', '".mysql_real_escape_string($_POST['message'])."')";

Gruss
Dass muss heissen:
PHP:
'".mysql_real_escape_string($id)."' und nicht ('id')
 
Hallo,
habs so eingetragen und was soll man sagen, kaum macht mans richtig, schon funktionierts.

Vielen Dank an euch, meine Hochachtung!!
 
Zurück