Ankündigung

Einklappen
Keine Ankündigung bisher.

Befehl für Abfrage von Existenz

Einklappen

Neue Werbung 2019

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

  • Befehl für Abfrage von Existenz

    Hallo zusammen,
    es gibt ja viele Befehle, die Sachen auf Gleichheit/ Ungleichheit etc. prüfen.
    if (1==1) {}

    Das kennt man ja alles...

    Mich würde es nun interessieren, ob es einen Befehl gibt, der prüft, ob etwas überhaupt da ist. Also konkretes Beispiel:

    PHP soll aus einer MySql-Datenbank einen Benutzer auswählen, bei dem die session_id = 56tziuop9ü9tz6re5dtf6zu89 ist.
    Wenn niemand jedoch diese Session gespeichert hat, dann findet PHP natürlich auch keinen Eintrag, weshalb eben jener Benutzer nicht exisitert.

    Weiß jemand, wie ich PHP sagen kann, dass

    if (Benutzer existend) {}

    ?

    Ich hoffe ihr versteht mein Problem ^^

    Liebe Grüße
    Heizkessel

  • #2
    session_id ändern sich glaub ich jedes mal wenn man sich neu einloggt...also würde ich sagen dass so eine abfrage über session_id sinnlos ist...so würde ich das sagen...aber so eine abfrage über sql geht über den befehl IF EXISTS so weit ich weiß....probier mal das hier:

    PHP-Code:
    IF EXISTSSELECT FROM phonebook
    WHERE name 
    'john doe' )
      
    UPDATE phonebook
      SET extension 
    '1234' WHERE name 'john doe'
    ELSE
      
    INSERT INTO phonebook VALUES'john doe','1234' 
    also ich weiß es nicht genau...aber vllt gehts...
    gruß Heiko

    Kommentar


    • #3
      Du kannst es auch ganz einfach lössen indem du die Daten der Datenbank in einen Array speicherst und diesen ausliest und vergleichst.

      PHP-Code:
         $user htmlspecialchars($_POST['user']);
         
      $pass htmlspecialchars($_POST['pass']);
         
      $db mysql_connect('localhost''user''pass') or die("MySQL Connect Error!");
         
      mysql_select_db('datenbank'$db) or die("Database Select Error!");
         
      $sql "SELECT * FROM tabelle WHERE user=".$user."";
         
      $result mysql_query($sql) or die(mysql_error());
         
      $row mysql_fetch_array($result);
         
         if (
      $row['user'] == $user && $row['pass'] == $pass) {
            echo 
      "Willkommen $user!";
         } else {
            echo 
      "Login Fehlgeschlagen!";
         } 
      Vergiss bloß das htmlspecialchars nicht, ich hab es ein wenig auf die leichte schulter genommen und hab nun mehr sicherheitslücken als ein schweizer käse löcher

      Ich sag nur: SQL-Injection und Cross Site Scripting
      MFG
      DJ Nuno

      Kommentar


      • #4
        Vielen Dank ich beiden!!
        Ihr habt mir auf jeden Fall weiter geholfen!

        Liebe Grüße
        Heizkessel

        Kommentar

        Lädt...
        X