ip speichern - wird nicht ausgegeben!
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfall
angeben
code
erstellt code
falsch code
folgende funktion
funktionieren
host
not
null
posten
spalte
spalten
speichern
string
syntax
tabelle
text
-
hi!
ich will eine ip mit php in der db speichern
ich hab folgende funktion erstellt:
<? function save_new_ip() { include("inc/dbdata.inc.php"); $sql = "INSERT INTO `dd_all_ips` ( `id` , `datetime` , `ip` ) VALUES ( '', NOW( ) , '". $REMOTE_ADDR. "')"; $c = mysql_connect($db['host'], $db['user'], $db['pw']); if ($c) { if (mysql_select_db($db['db'])); { $result = mysql_query($sql); if ($result) { return; } } } } ?>
müsste doch eigentlich funktionieren oder?
tuts aber nicht.
der MySql-string sieht dann so aus:
INSERT INTO `dd_all_ips` ( `1` , `datetime` , `ip` ) VALUES ( '', NOW( ) , '')
was ist falsch? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
die ip des seitenbesuchers bekommst du mit $_SERVER['REMOTE_ADDR'] nicht mit $REMOTE_ADDR
mfg -
syberpsace schrieb:
die ip des seitenbesuchers bekommst du mit $_SERVER['REMOTE_ADDR'] nicht mit $REMOTE_ADDR
Doch es geht.
so zumindest!
echo $REMOTE_ADDR;
-
census schrieb:
Deine SQL-Syntax ist falsch.
insert into tblname (col1, col2, ...) values (val1, val2, ...)
NOTA BENE das Wörtchen values.
hab ich doch! da is nix falsch! -
Sorry, war wohl ein Anfall von Schwäche.
Könntest du bitte das Createscript von der Tabelle posten, damit man die Spaltendefinitionen sehen kann?
Ist "id" eventuell ein Autoinkrement und du versuchst dennoch da reinzuschreiben?
Heißt die Spalte id oder 1 ?
INSERT INTO `dd_all_ips` ( `1` , `datetime` , `ip` ) VALUES ( '', NOW( ) , '')
Würde ja bedeuten, dass die Tabelle drei Spalten mit den Namen 1, datetime und ip hat. Wobei alle 3 Textfelder sind (char, varchar, text, etc) bzw datetime ein beliebiges Zeitformat. Stimmt das?
Beitrag zuletzt geändert: 24.8.2009 22:42:57 von census -
Ab PHP4.1 benutzt man normalerweise die superglobals, also $_SERVER['REMOTE_ADDR'].
$REMOTE_ADDR funktioniert ab PHP5 soweit ich weiss nicht mehr.
Kann aber auch sein, dass ich mich da irre. -
census schrieb:
Sorry, war wohl ein Anfall von Schwäche.
Könntest du bitte das Createscript von der Tabelle posten, damit man die Spaltendefinitionen sehen kann?
Ist "id" eventuell ein Autoinkrement und du versuchst dennoch da reinzuschreiben?
Heißt die Spalte id oder 1 ?
INSERT INTO `dd_all_ips` ( `1` , `datetime` , `ip` ) VALUES ( '', NOW( ) , '')
Würde ja bedeuten, dass die Tabelle drei Spalten mit den Namen 1, datetime und ip hat. Wobei alle 3 Textfelder sind (char, varchar, text, etc) bzw datetime ein beliebiges Zeitformat. Stimmt das?
CREATE TABLE `dd_all_ips` ( `id` int(11) NOT NULL auto_increment, `datetime` timestamp NOT NULL, `ip` varchar(15) NOT NULL default '', `referer` longtext NOT NULL, `request` longtext NOT NULL, PRIMARY KEY (`id`) )
hab sie inzwischen erweitert und es funktioniert jetzt auch! -
sollte so funktionieren.
INSERT INTO dd_all_ips (datetime, ip) VALUES (NOW(), '$REMOTE_ADDR')
grüße
Beitrag zuletzt geändert: 25.8.2009 0:05:47 von hexito -
hexito schrieb:
sollte so funktionieren.
INSERT INTO dd_all_ips (datetime, ip) VALUES (NOW() , '$REMOTE_ADDR')
grüße
nein das funktioniert nicht! du musst spaltennamen "id" mit angeben!
INSERT INTO dd_all_ips (id, datetime, ip) VALUES (, NOW() , '$REMOTE_ADDR')
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage