Ankündigung

Einklappen
Keine Ankündigung bisher.

IP-Adresse eintragen, mysql will nicht so wie ich

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • IP-Adresse eintragen, mysql will nicht so wie ich

    Hi,

    ich hab mir eine Abfrage gebastelt, in der ich die IP-Adresse des Besuchers auslese.

    Wenn der Besucher noch nicht auf meiner Seite war, dann soll die IP-Adresse in die MySQL-DB geschrieben werden. War er aber schon da, dann soll ausgegeben werden, dass die IP bereits vorhanden ist.

    So, Problem bei meinem Codegeschnippel...die IP wird jedes Mal eingetragen, egal ob bereits vorhanden oder nicht.

    Hab da sicher wieder nen Denkfehler drinnen, aber wie gesagt, ich lern ja erst und würd mich über Hilfe freuen.

    Mein PHP-Code:
    PHP-Code:
    $ipadresse $_SERVER['REMOTE_ADDR']; 

    $link mysql_connect($host$user$pass) or die ("Keine Verbindung zu der Datenbank möglich.");
    mysql_select_db($db$link) or die("Auswahl der Datenbank fehlgeschlagen");

    $sql "SELECT * FROM IP WHERE ip='$ipadresse' LIMIT 1";
    $db_erg mysql_query$sql );
    if (
    $db_erg == '$ipadresse') { echo "IP vorhanden"; } else {

    mysql_query("INSERT INTO IP(ip)
    VALUES
        ('
    $ipadresse')");
    mysql_close($link);
        } 

  • #2
    Hallo,

    PHP-Code:
    [...]

    $sql "SELECT COUNT(*) as anzahl FROM IP WHERE ip = '".$ipadresse."'";
    $db_erg mysql_query$sql );
    while(
    $data mysql_fetch_array($db_erg)) {
       
    $anzahl $data->anzahl;
    }
    if (
    $anzahl 0) { echo "IP vorhanden"; } else {

    mysql_query("INSERT INTO IP(ip)
    VALUES
        ('
    $ipadresse')");
    mysql_close($link);
        } 
    Du kannst es auf verschiedene Weisen lösen. Ich habe es so gemacht, dass zuerst MySQL zählt, wieviel Datenbankeinträge mit der IP des Besuchers vorhanden sind. Danach wird das Ergebnis von der Query-Aktion in ein Array geschrieben und am Ende in $anzahl gespeichert.

    Dann einfach überprüfen, ob der Wert in $anzahl größer 0 oder gleich 0 ist und fertig.
    [URL="http://www.mueller-websolutions.de"]http://www.mueller-websolutions.de[/URL]

    Kommentar


    • #3
      PHP-Code:
      $db_erg mysql_query$sql ); 
      PHP: mysql_query - Manual
      Schau mal was mysql_query zurückgibt.

      Kommentar


      • #4
        PHP-Code:
        <?php
        $ipadresse 
        $_SERVER['REMOTE_ADDR'];

        $db = new mysqli($host,$user,$pass,$database);
        $sql ="SELECT ipadresse FROM mitglieder WHERE ipadresse = '$ipadresse'";
        $result $db->query($sql);
        if(!
        $result){
            die(
        $db->error);
        }

        if (
        $result->num_rows == 0){
            
            
        //Insert deine IP
        }

        ?>
        Würde so gehen oder? Muss natürlich noch so angepasst werden das nicht jeder User dann die gleiche IP kriegt

        Kommentar

        Lädt...
        X