IP in Datenbank eintragen

olguil

Mitglied
MySQL 3.23.37
phpMyAdmin 2.2.3

Hallo Ihr,

bestimmt schlagt ihr jetzt die Hände über den Kopf zusammen, aber ich bin ein echter Anfänger.
Ich habe versucht ein Script zu basteln, welches die IP des Users ausliest und in die Tabelle meiner Datenbank einträgt.
Ich möchte nur eingetragene User an eine bestimmten Ort etwas machen lassen.

Das "unfertige" Scipt:

Code:
<?PHP
/* Datenbankserver - In der Regel die IP */  $db_server = "localhost";
/* Datenbankname */
  $db_name = "XXXXX";
/* Datenbankuser */
  $db_user = "XXXXX";
/* Datenbankpasswort */
  $db_passwort = "xxxxx";
		 
/* Erstellt Connect zu Datenbank her */  $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);  mysql_select_db("form",$db); 
  $result = mysql_query("INSERT INTO form");
	
  $var = $_SERVER{'REMOTE_ADDR'}; 
  $var = mysql_insert_id(); 
  
  
  ?>
Ich arbeite mit SuperHTML, was der eine oder andere bestimmt kennt. Entschuldigt bitte, ich weiss nicht, wie ich die farbigen Code kopieren kann.

Oliver
 
Ich bin bisschen verwirrt, aber ersetzte mal...
Code:
//Das muss Weg:
$result = mysql_query("INSERT INTO form");
$var = $_SERVER{'REMOTE_ADDR'}; 
$var = mysql_insert_id(); 
//Das muss hin:
$var=$_SERVER{'REMOTE_ADDR'}; 
$query="INSERT INTO form (ip) VALUES ('$var')";
$result=mysql_query($query) OR die("MySQL hat einen Fehler verursacht!<br>");
 
Hallo,

danke für deine Hilfe, aber ich bekomme die Antwort (natürlich): MySQL hat einen Fehler verursacht!
Eine Eintragung der IP in die Tabelle form in ip ist aber leider nicht erfolgt, sorry.

Hast du vielleicht eine andere Lösung?

Ich möchte dieses Script in eine andere Datei (Formular) unterbringen, welches praktisch im Hintergrund die IP des "Ausfüllers" speichert. Ich hoffe ich habe mich verständlicher ausgedrückt. Und nochmals danke im Vorwege für deine/eure Mühe, aber ihr habt mit mir einen echten Debben, sorry.

Oliver
 
Ja ich hab glaub ich verstanden was du brauchst.
Code:
<?
if(isset($_POST[feld1]))
{
  $mysql_host="localhost";  //Host name - normalerweise localhost
  $mysql_db=""; //Datenbank Name
  $mysql_pass="";//Datenbank Passwort
  $db=@mysql_connect($mysql_host,$mysql_db,$mysql_pass); 
  mysql_select_db($mysql_db,$db);
  
  $ip=$_SERVER{'REMOTE_ADDR'}; 
  $query="INSER INTO form (ip) VALUES ('$ip')";  
  $result=mysql_query($query) OR die("Fehler beim eintragen!");

  $feld1 = $_POST[feld1];
  echo $feld1;
} else {
?>
<form action="diesedatei.php" method="post">
<input type="text" name="feld1" size="20">
<input type="submit" value="Abschicken!">
<form>
<?
}
?>

ich hoffe das hilft!

PS: Du musst natürlich noch deine Namen umändern und die werte richtig eintragen!
 
Hallo,

also der Kern meiner Frage, das Eintragen, hat wunderbar funktioniert. Vielen Dank nochmal.

Ich habe deine Antwort nur meinen Bedürfnissen leicht modifiziert:

PHP:
<?PHP

  $mysql_host="localhost";  //Host name - normalerweise localhost
  $mysql_db="XXXXXX"; //Datenbank Name
  $mysql_pass="xxxxxx";//Datenbank Passwort
  $db=@mysql_connect($mysql_host,$mysql_db,$mysql_pass); 
  mysql_select_db($mysql_db,$db);
  
  $ip=$_SERVER{'REMOTE_ADDR'}; 
  $query="INSERT INTO form (ip) VALUES ('$ip')";  
  $result=mysql_query($query) OR die("Fehler beim eintragen!");
  
?>

Ich suchte halt nur dieses Kernscript. Aber wie gesagt danke für die Hilfe. Es funktioniert einwandfrei ohne Fehlermeldung.

Oliver
 
Ok, ich denke dein Fehler war:
mysql_select_db("form",$db);

da hat das "form" nix zu suchen :)

is mir aber auch erst grade aufgefallen weil es so versteckt war, also nächstes mal bitte alles schön untereinander ;)
 
Zurück