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

Login Datenbank

Status
Für weitere Antworten geschlossen.

Dessp

Mitglied
Ich möchte eine Datenbank in der ID, Zeit, Datum, IP, Seite gespeichert werden. Dafür habe ich volgene code:
Code:
<?php
$ip = $_SERVER["REMOTE_ADDR"];
$datum = date("d-m-Y");
$zeit = date("H-i-s");
$seite = startseite;
echo " Daten:
 Datum: $datum <br>Zeit: $zeit <br>Seite: $seite <br>IP: $ip ";
mysql_connect("localhost", "benutzername", "passwort");
mysql_select_db("detektivatreff");
$sql="INSERT INTO sss_besucherzaehler (Datum, Zeit, IP, Seiten) VALUES('$datum','$zeit','$ip','$seite')"; 
$result=mysql_query($sql);  
mysql_close();
echo"Daten wurden eingetragen";
?>
Allerdings erscheinen keine Daten in der datenbank
 
Wozu

Wieso soll ich POST benutzen das wird nicht per PROT versendet ist ja kein Formular sonder nur datum zeit ip und die seite auf der der code ist
 
lernt doch mal, richtig zu escapen...

PHP:
<?php
$sql = "INSERT INTO sss_besucherzaehler VALUES('".$datum."', '".$zeit."', '".$ip."', '".$seite."')";
?>

wir befinden uns hier bei hochkommata, nicht bei anführungszeichen ("gänsefüßchen"), da muss escaped werden, man kann da die variable nicht direkt schreiben, da es sonst als text interpretiert, nach register_globals gesucht (hier deaktiviert) und als leeres feld eingegeben wird.

und vorallem, verwend mal mysql_error().

Nils aka XraYSoLo
 
Zuletzt bearbeitet:
Also um das kurz klarzustellen.
PHP unterscheidet zwischen " und '.
Alles was in "" steht, wird von PHP geparsed.
Das heißt, Variablen und Funktionen werden ausgeführt.

Mit '' definiere ich lediglich einen String, der genau so ausgegeben wird.

PHP:
$a = 50;

$str = "Inhalt von a: $a";
echo $str; // Inhalt von a: 50

$str = "Inhalt von a: '$a'";
echo $str; // Inhalt von a: '50'

$str = 'Inhalt von a: $a';
echo $str; // Inhalt von a: $a

$str = 'Inhalt von a: '.$a;
echo $str; // Inhalt von a: 50

$str = 'Inhalt von a: \''.$a.'\'';
echo $str; // Inhalt von a: '50'

Von daher ist sein SQL-Statement vollkommen in Ordnung.
 
Machs besser so:
PHP:
mysq_query() OR die(mysql_error());


MfG, matibaski
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben