globe: Variablen vergleichen

Beitrag lesen

n'abend,

dann nehme ich an Du bist ein Feiner!

ein feiner Pinkel?

Die Variable die übernommen(aus Formularfeld) kommt richtig an und die aus der DB ebenfalls.

Gibt es zu einer Domain mehrere Datensätze?

Formular 123 , BD 512 aber irgend warum werden beide nicht miteinander verglichen warum? Das war meine Frage.

Siehe vorherige Frage. Wenn es mehrere Datensätze gibt, musst du das entsprechend behandeln.

$result = mysql_query("SELECT pass,domain FROM kunden WHERE domain = '$domain' ");
   while($row = mysql_fetch_array($result))
    {

Stimmt das »==« an dieser Stelle? Also willst du den Fehler gefunden haben, wenn pass (aus der Datenbank) und ticket (aus der Benutzereingabe) übereinstimmen?

if($row['pass'] == $ticket) { $ok = 0;
     $error = "Sorry, Ihre Eingabe stimmt leider nicht!";
     }
        print "Alles OK";
    }

füge doch bitte überall echo-statements (var_dump()) ein, um die jeweiligen Variablen Inhalte auszugeben, damit man überhaupt mal sieht, was da ganz konkret funktioniert.

Warum fragst du das Ticket eigentlich nicht direkt in der SQL-Query mit ab? Ich sehe hier keinen Grund, der es nötig machen würde alle Daten zu einer Domain zu laden. Hierdurch würde auch die Datenbank den Vergleich (und die Optimierung) übernehmen:

$res = mysql_query( 'SELECT 1  
    FROM kunden  
   WHERE domain = "'. mysql_real_escape_string( $domain ) .'"  
     AND pass = "'. mysql_real_escape_string( $ticket ) .'"' );  
  
  
if( !$res || !mysql_num_rows($res) )  
{  
  // es konnte kein Datensatz gefunden werden  
}  
else  
{  
  // wir haben einen Datensatz  
}

mysql_real_escape_string() dient dazu, besondere zeichen zu maskieren, um z.b. »SQL-injection« zu verhindern.  !$res ist die Anwendung des Wissens, dass eine mysql_query() im Fehlerfall und im Falle keiner gefundenen Datensätze  false zurück liefert.

weiterhin schönen abend...

--
Freundlich wie man war, hat man mir Großbuchstaben geschenkt.
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|