ChrisB: Usereingaben bei bestimmten aktionen überprüfen? Passwort, suche

Beitrag lesen

Hi,

Bastel grad an einem Login mit registrierung, diese Daten kommen in die DB, die muss
ich wohl auch mit mysql_real_escape_string übergeben oder?

Zum x-ten Mal: Wenn du Daten in einen bestimmten Kontext ueberfuehrst, dann *musst* du die Daten diesem Kontext entsprechend behandeln.

Ob du einen Usernamen, ein Passwort, die Fellfarbe deines Hundes, oder die Todesanzeige von Oma in den Kontext MySQL ueberfuehrst - scheissegal. *Alle* erfordern natuerlich die entsprechende Behandlung.

Hab ein Tut dazu gefunden, wo es ohne gemacht wird,
ich mach es einfach mit.

A) Man findet viel Mist im Netz.
B) Da du ja herkommst, um dazuzulernen, kannst du dir deine eigenen Gedanken zu dem Mist, den du findest, machen, und ihn entsprechend einordnen.

Aber wie ist das beim fertigen Login, wenn der User seine Daten hat und sich einloggen will,
da muss er ja nur sein Benutzernamen und sein Passwort eingeben, muss ich diese Eingaben auch bearbeiten?

Ja natuerlich - was hammer den oben gerade gesagt, hm?

Wenn ja, mit was?

Na mit was wohl? Dem ueblichen.

Bzw. Passwort wird mittels md5 übergeben, also man sieht nur Sterne, aber der Benutzername.

Die Sterne siehst du nicht, weil das Passwort mit MD5 gehasht wird, sondern weil das input-Feld vom type password ist.

Und natürlich noch die Suchfunktion, ich hab mir da was provisorisch aus GET
gebastelt, müssen auch hier die Eingaben gesondert behandelt werden?

Siehe oben ...!

if (($_GET['suche_in']) && ($_GET['suche'])){

$sql = "SELECT * from songtexte WHERE $suche_in LIKE '$suche%' ";

$ergebnis = mysql_query($sql);
  while($row = mysql_fetch_object($ergebnis))
    {
    echo (htmlspecialchars($row->$suche_in));
    echo '<a  href="details.php?id=';
    echo (htmlspecialchars($row->id));
    echo '>';
    echo (htmlspecialchars($row->Titel));
    echo '</a>';
         }
   }
else {
echo 'keine treffer';
  }


>   
> Und hier funktioniert das Else nicht, also wenn es keine treffer gibt bekomme ich die else nicht angezeigt,  
> wo liegt hier der fehler?  
  
Das else interessiert sich ueberhaupt nicht dafuer, ob du von der DB Ergebnisse bekommst oder nicht.  
Es ist das Gegenstueck zum if - und nimmt das etwa Bezug darauf, ob und was die Datenbank liefert? Noe, nicht im Geringsten.  
  
MfG ChrisB