IP mitschicken beim Formularabsenden in die Datenbank
Daniel82
- php
0 Bobby0 dr.White0 Vinzenz Mai0 Vinzenz Mai0 wahsaga
Hallo,
wie muss das hidden-input-Feld bestückt werden, wenn ich die IP in die Datenbank schicken lassen will?
Moin
Hallo,
wie muss das hidden-input-Feld bestückt werden, wenn ich die IP in die Datenbank schicken lassen will?
meinst du die allgemeine PHP-Variable für die IP?
Gruß Bobby
Moin
Hallo,
wie muss das hidden-input-Feld bestückt werden, wenn ich die IP in die Datenbank schicken lassen will?
meinst du die allgemeine PHP-Variable für die IP?
Gruß Bobby
Sorry!
1.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR']; ?>">
2.) <input type="hidden" name="ip" value="<? echo $_SERVER['REMOTE_ADDR']; ?>">
3.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR'] ?>">
Welche ist richtig?
Moin
1.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR']; ?>">
2.) <input type="hidden" name="ip" value="<? echo $_SERVER['REMOTE_ADDR']; ?>">
3.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR'] ?>">
Welche ist richtig?
alle 3 sind nicht unbedingt falsch. Versichte aber bitte auf Short-tags.
Richtig ist:
<input type="hidden" name="ip" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>">
^^^
Gruß Bobby
hi,
1.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR']; ?>">
2.) <input type="hidden" name="ip" value="<? echo $_SERVER['REMOTE_ADDR']; ?>">
3.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR'] ?>">
Welche ist richtig?
Alle drei unsinnig - weil sie die IP enthalten, die bei der Anforderung der Formularseite verwendet wurde.
Mit der, von der die Formulardaten dann letztendlich abgeschickt werden, muss diese nichts zu tun haben.
Entweder habe ich zwischendurch wirklich meine IP gewechselt - oder ich manipuliere den Feldinhalt vor dem Abschicken.
Nimm dir den Wert einfach zu dem Zeitpunkt aus $_SERVER, zu dem du die Daten tatsächlich in die Datenbank einträgst, also den Request mit den Formulardaten verarbeitest.
gruß,
wahsaga
hi,
1.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR']; ?>">
2.) <input type="hidden" name="ip" value="<? echo $_SERVER['REMOTE_ADDR']; ?>">
3.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR'] ?>">
Welche ist richtig?
Alle drei unsinnig - weil sie die IP enthalten, die bei der Anforderung der Formularseite verwendet wurde.
Mit der, von der die Formulardaten dann letztendlich abgeschickt werden, muss diese nichts zu tun haben.Entweder habe ich zwischendurch wirklich meine IP gewechselt - oder ich manipuliere den Feldinhalt vor dem Abschicken.
Nimm dir den Wert einfach zu dem Zeitpunkt aus $_SERVER, zu dem du die Daten tatsächlich in die Datenbank einträgst, also den Request mit den Formulardaten verarbeitest.
gruß,
wahsaga
Also, im INSERT INTO?
Hallo Daniel,
Nimm dir den Wert einfach zu dem Zeitpunkt aus $_SERVER, zu dem du die Daten tatsächlich in die Datenbank einträgst, also den Request mit den Formulardaten verarbeitest.
Also, im INSERT INTO?
Ja. (bzw. in dem Script mit dem du die Daten in die Datenbank einträgst.)
Schöne Grüße,
Johannes
Hallo Daniel,
Nimm dir den Wert einfach zu dem Zeitpunkt aus $_SERVER, zu dem du die Daten tatsächlich in die Datenbank einträgst, also den Request mit den Formulardaten verarbeitest.
Also, im INSERT INTO?
Ja. (bzw. in dem Script mit dem du die Daten in die Datenbank einträgst.)
Schöne Grüße,
Johannes
$strSQL = "INSERT INTO setzen (ip) VALUES ('".$_SERVER."');";
So?
Hallo Daniel,
$strSQL = "INSERT INTO setzen (ip) VALUES ('".$_SERVER."');";
Nein, $_SERVER ist doch ein Array. Die IP-Adresse steht in $_SERVER['REMOTE_ADDR']. Das Semikolon in der SQL-Anweisung kannst du übrigens weglassen.
Schöne Grüße,
Johannes
<input type="hidden" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>">
mfg doc
Hallo Daniel,
wie muss das hidden-input-Feld bestückt werden, wenn ich die IP in die Datenbank schicken lassen will?
ich vermute, Du möchtest die öffentliche IP-Adresse, über die der Browser mit Deinem Server kommuniziert, abspeichern. Dann kann Dir $_SERVER['REMOTE_ADDR'] weiterhelfen.
Bitte beachte auch folgenden Satz in der verlinkten Doku:
"Möglicherweise finden Sie das eine oder andere der folgenden Elemente nicht in $_SERVER."
Freundliche Grüße
Vinzenz
Hallo Ingrid,
Du solltest nicht Deine wichtigen Fragen vergessen :-)
wie muss das hidden-input-Feld bestückt werden, wenn ich die IP in die Datenbank schicken lassen will?
warum möchtest Du ein Input-Feld mit einer Information befüllen, die Dir bereits zur Verfügung steht und sie wieder zum Browser zurückschicken? Welchen Sinn hat das?
ich vermute, Du möchtest die öffentliche IP-Adresse, über die der Browser mit Deinem Server kommuniziert, abspeichern. Dann kann Dir $_SERVER['REMOTE_ADDR'] weiterhelfen.
Bitte beachte weiterhin, dass z.B. zwei aufeinanderfolgende Anforderungen des _gleichen_ AOL-Benutzers über verschiedene Proxies geleitet werden können (und auch oft werden) und daher unterschiedliche IP-Adressen aufweisen, d.h. wenn Du ein hidden-input-Feld verwendest, kann es passieren, dass sich die IP-Adresse im hidden-input-Feld von der in $_SERVER['REMOTE_ADDR']
unterscheidet.
Aus den genannten zwei Gründen würde ich auf den hidden-input-Kram verzichten.
Freundliche Grüße
Vinzenz
hi,
d.h. wenn Du ein hidden-input-Feld verwendest, kann es passieren, dass sich die IP-Adresse im hidden-input-Feld von der in
$_SERVER['REMOTE_ADDR']
unterscheidet.
Ausserdem könnte ich als Nutzer den Wert vor dem Absenden des Formulars manipulieren, um dir vorzugaukeln, der V1agra-Spam, den ich gerade gepostet habe, käme von einer IP in Südostasien ...
gruß,
wahsaga