IP-Adresse in MySQL bei Form

dr-stein

Mitglied
Hallo Leute,

ich habe ein simples Forum mit PHP gebastelt und möchte gerne dass die IP-Adresse in der MySQL gespeichert ist. Hier der Code:

PHP:
<input name="ip" id="ip" type="hidden" value="<?
$_SERVER[REMOTE_ADDR]?> "><?php echo "<tr><td></td><td><input type=\"submit\" name=\"Submit\" value=\"Submit\"> <input type=\"reset\" name=\"Submit2\" value=\"Reset\"></td></tr></tbody></table></form></div>"; ?>

So... da oben habe ich also dann ein Verstecktes Textfeld erstellt, mit Value IP-Adresse. Das wird aber nicht in die MySQL übertragen...

Hier der Code.
PHP:
<?php
$host="localhost";
$username="***"; 
$password="***"; 
$db_name="***";
$tbl_name="forum_question"; 


mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");


$topic=$_POST['topic'];
$detail=$_POST['detail'];
$name=$_POST['name'];
$email=$_POST['email'];
$ip=$_POST['ip'];

$datetime=date("d/m/y h:i:s");

$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime, IP)VALUES('$topic', '$detail', '$name', '$email', '$datetime', '$ip')";
$result=mysql_query($sql);

if($result){
echo "Eintrag erfolgreich gespeichert.<BR>";
echo "<a href=main_forum.php>zur&uuml;ck...</a>";
}
else {
echo "ERROR";
}
mysql_close();
?>

Warum wird das nicht in die MySQL übertragen?
Lieben Gruß,
Eike
 
Moin Eike,

möglicherweise passt der Typ der Spalte nicht zu dem Wert, der eingetragen werden soll...wird der Rest denn eingetragen?(Falls nicht verrät mysql_error() aufschlussreiche Details)
 
Jop... sonst wird alles eingetragen.

Hier mal mein MySQL-Code:

Also mein IP-Feld hat:

Feld: IP
Type: varchar(40)
Kollation: latin1_swedish_ci
Atribute: Leer
Null: Nein

LG, Eike
 
Hast du dir mal $sql ausgeben lassen...hat das den erwarteten Inhalt?

Korrekterweise müsste es übrigens
Code:
$_SERVER['REMOTE_ADDR']
heissen.

Es ist , dass sei noch angemerkt, nicht empfehlenswert, diesen Wert per Formular zu Übermitteln, so gibst du dem User eine Möglichkeit, ihn zu Fälschen.
Als SERVER-Variable kannst du ihn direkt verwenden.
 
PHP:
INSERT INTO forum_question(topic, detail, name, email, datetime, IP)VALUES('tEST', 'test', 'Test', 'test', '25/12/09 10:03:54', ' ')

Die IP wird nicht ausgegeben..
 
Habe es hinbekommen... Der Befehl für die IP-Adresse funktionierte nicht. Habe nun folgenden benutzt:

PHP:
<?php 
$server = $HTTP_SERVER_VARS["REMOTE_ADDR"];  
?>  
<b>Deine IP:</b> <?php echo "$server" ?>

Danke... LG, Eike
 
Zurück