kostenloser Webspace werbefrei: lima-city


PHP if-Problem und mysql UPDATE-Problem

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    yonnyy

    yonnyy hat kostenlosen Webspace.

    Hi Leute,
    ich wollte mich mal mit dem Thema ip-adressen plus Php mal ein bischen beschäftigen und dazu wollte ich machen, dass er mal die ip adressen und deren pc namen in eine mysql tabelle speichert und und immer wenn eine person au die seite geht soll die seite gucken ob es den namen schon gibt, wenn ja die ip-adresse updaten, wenn nicht soll er eine neue row anlegen.
    Nur irgenwie blick ich s nich so ganz könnt ihr mir dabei helfen ?

    MFG Yonnyy


    if mysql_query("iptable (name) VALUES ('" . $hostname . "')")
    { mysql_query("UPDATE iptable (ip) VALUES ('" . $_SERVER['REMOTE_ADDR'] . "')")}
    else { mysql_query("INSERT INTO iptable (ip, name) VALUES ('" . $_SERVER['REMOTE_ADDR'] . "', '" . $hostname . "')");
    };
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 1. Falsches Forum -> PHP, MySQL & .htaccess
    2. In Zukunft bitte die Code-Tags verwenden
    3. Wo genau liegt das Problem?
    4. Wo testest du das Skript? Online oder unter XAMPP?
    5. könnte es in etwa so aussehen (quick & dirty):
    //Abfrage ob Name in Tabelle vorhanden
    $sql = mysql_query("SELECT * FROM iptable WHERE name = '".$hostname."'");
    if(mysql_num_rows($sql) == 0){
      //Name noch nicht vorhanden, also IP&Name eintragen
      mysql_query("INSERT INTO iptable (name, ip) VALUES ('".$hostname."', '".$_SERVER['REMOTE_ADDR'];."')");
    }
    else{
      //Name vorhanden, also IP updaten
      mysql_query("UPDATE iptable SET ip = '".$_SERVER['REMOTE_ADDR'];."' WHERE name = '".$hostname."'");
    }


    Beitrag zuletzt geändert: 10.7.2011 21:29:50 von alfr3d
  4. Verschoben nach php & mysql!
  5. Mach es von Anfang an richtig, dann hast du später weniger Probleme :)

    Tabelle:

    CREATE TABLE IF NOT EXISTS `iptable` (`ip` varchar(39) NOT NULL, `name` varchar(100) NOT NULL, PRIMARY KEY (`name`));


    Wichtig ist hier der Primary Key. Den nutzen wir, um die von dir gewünschte Abfrage zu vereinfachen.

    Erstmal ein paar Testdatensätze einfügen:

    INSERT INTO `iptable` (`ip`, `name`) VALUES ('127.0.0.1', 'localhost'), ('192.168.178.1', 'fritz.box');


    So weit, so gut. Nun machen wir uns den Primary Key zu Nutze, um dein Vorhaben umzusetzen:

    INSERT INTO `iptable` (`ip`, `name`) VALUES ('".$_SERVER['REMOTE_ADDR']."', '".$hostname."') ON DUPLICATE KEY UPDATE ip = '".$_SERVER['REMOTE_ADDR']."';


    Testen kannst du das mit folgendem SQL-Befehl:

    INSERT INTO `iptable` (`ip`, `name`) VALUES ('127.0.0.1', 'localhost') ON DUPLICATE KEY UPDATE ip = '192.168.0.1';


    Ungetestet, sollte aber funktionieren :)
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!