Problem mit Formular bezüglich id des eingeloggten users und der time()-Funktion

Zimtgruen

Erfahrenes Mitglied
Guten Abend,

Ich habe hier ein Formular, welches Daten in eine Datenbank einträgt. Aber es trägt anstatt der ID des eingeloggten Users eine 0 und anstatt des timestamps auch eine 0 ein. Kann mir einer sagen, warum?

Hier ist der Code:
PHP:
<?php
	session_start();
	if(isset($_SESSION["login"])) { // Wenn eingeloggt..

		include("datenbank.php");
		include("functions1.inc.php");
		refresh($_SESSION["login"]); // refresht

$titel = $_POST["titel"];
$beschreibung = $_POST["beschreibung"];
$autor = $_SESSION["login"];


$eintrag = "INSERT INTO sammlung
(titel, beschreibung, autor, datum)

VALUES
('$titel', '$beschreibung', 'autor', 'time()')";



$eintragen = mysql_query($eintrag);

if($eintragen == true)
   {
   echo "Die Sammlung ist jetzt eingetragen! <meta http-equiv=\"refresh\" content=\"3; URL=texte.php\">";
   }
else
   {
   echo mysql_error() . "\n";
   }

?>

Die beiden ' um die Funktion tim() herum sind da, weil er mir vorher einen Fehler in meine mySQL Syntax angezeigt hat an dieser Stelle.

Vielen Dank
 
PHP:
$eintrag = "INSERT INTO sammlung 
(titel, beschreibung, autor, datum) 

VALUES 
('".mysql_real_escape_string($titel)."', '".mysql_real_escape_string($beschreibung)."', '".mysql_real_escape_string($autor)', ".time()."')";
 
Hi!

Also hier
('$titel', '$beschreibung', 'autor', 'time()')";
stimmt was nicht.

Erst einmal fehlt bei 'autor' das $. Du würdest also nur das Wort in die DB einschreiben bzw. 0 wenn es ein Zahlenfeld ist.
Steht denn da was drin? Aus Sicherheitsgründen würde ich die Daten aus der Post Variabel nicht so direkt in die SQL Anweisung schreiben, Stichwort SQL Injection.

Edit:
Och nö.. der Gumbo war schneller...

Viele Grüße,
Jacka
 
Zuletzt bearbeitet:
Zurück