Bei IF-Abfrage in PHP Text und Schriftart in einem HTML-Feld verändern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Bei IF-Abfrage in PHP Text und Schriftart in einem HTML-Feld verändern

    Hallo,

    ich habe einen Benutzer-Login geschaffen.

    Nun steht beim Aufruf der Seite in einer Tabellenzelle "Ausgeloggt"
    Wenn sich der Benutzer nun anmeldet, soll nach dem er das PHP-Skript zum Login ausführt, soll er anschließend den Inhalt dieser Tabellenzelle auf Eingeloggt und Schriftfarbe Grün ändern.

    Weiß jemand wie das geht??
  • Ich hatte sowas Ähnliches!
    Mach session_start() auf deine index.php ganz oben hin, am besten über allem anderem.
    Dann weißt du bei einem erfolgreichen Login der Variable $_SESSION['ID'] die UserID aus der Datenbank zu
    und dann kannst du bei deinem Feld folgende Abfrage machen

    Quellcode

    1. <?php
    2. if(isset($_SESSION['ID'])) {
    3. echo '<font color="green">EINGELOGGT</font>';
    4. }else{
    5. echo '<font color="black">AUSGELOGGT</font>';
    6. }
    7. ?>


    Bitte wie immer um Verbesserung, wenn ich was falsch gemacht hab!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von venum-lk ()

  • Variable is ein gutes Stichwort. Des Blöde is allerdings: Ich speichere meine Passwörter in einer Textdatei.
    Die Ganze Sache mit MySQL is mir irgendwie no bissal zu kompliziert.

    Aber ich häts trotzdem gern in ner Variablen. Ich weiß auch ned wie, aber ich will auf der HP robert-blabl.de halt einmal den Eingeloggt-Status oben auf der Startseite und dann halt, wenn man eingeloggt ist, soll man noch zusätzliche Seiten zur Verfügung bekommen.
  • @ mad: venum-lk wär der Name :)

    Ob du den Login über eine Textdatei abwickelst, oder über eine MySQL-Datenbank ist egal.
    Nur dass halt dann die ID nicht aus der Datenbank kommt, sondern aus deiner Datei.
    Du kannst ja auch andere Werte wie zb den Namen des Users abspeichern.
    Du musst nur nach einem erfolgreichen Login die Variable (eigendlich is es ja ein Array) mit irgendeinem Inhalt füllen, damit man sie mit isset überprüfen kann.

    Vielleicht wäre für dich auch dieses Tutorial bezüglich Sessions interesant:
    php-quake.net - Sessions

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von venum-lk ()

  • Du brauchst an sich an der Textdatei nicht 's ändern.
    Wie mad auch schon gesagt hat, ist es deine Sache, welche Werte du welchen Session-Variablen (Array) zuweist.
    Vll ein kleines Beispiel:

    Quellcode

    1. <?php
    2. $_SESSION['status'] = $xy;
    3. $_SESSION['angemeldet'] = $xy;
    4. $_SESSION['online'] = 1;
    5. $_SESSION['name'] = $xy
    6. // Irgendeinen Arraywert auf Existenz überprüfen
    7. if(isset($_SESSION['name'])) {
    8. echo '<font color="green">EINGELOGGT</font>';
    9. }else{
    10. echo '<font color="black">AUSGELOGGT</font>';
    11. }
    12. // Es is ja egal, mit was du das Array füllst, isset prüft ja nur, ob es existiert.
    13. // Du kannst es natürlich auch folgendermaßen machen:
    14. if(login_right($name,$pw)) { // login_right() ist keine Standart-PHP-Funktion
    15. $_SESSION['online'] = 1;
    16. else{
    17. $_SESSION['online'] = 0;
    18. }
    19. if($_SESSION['online'] = 1) {
    20. echo '<font color="green">EINGELOGGT</font>';
    21. }else{
    22. echo '<font color="black">AUSGELOGGT</font>';
    23. }
    24. ?>
    Alles anzeigen


    Noch ne kleine Frage.
    Du speicherst dein Passwort schon mit md5() ab?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von venum-lk ()

  • Ich hab mir nun des Tutorial auch durchgelesen, aber irgendwie check ich ned, wie ich meine Infos dann so gezielt aus der Textdatei rausfische.

    ich lad hier nochmal schnell die textdatei hoch, die meinen login abfrägt und verarbeitet:

    Quellcode

    1. <html>
    2. <head>
    3. <title>Login mit PHP</title>
    4. </head>
    5. <body>
    6. <?php
    7. function loaddata()
    8. {
    9. if(file_exists("password.txt"))
    10. {
    11. $data = file("password.txt");
    12. }
    13. return $data;
    14. }
    15. if($_REQUEST['username'] && $_REQUEST['password'])
    16. {
    17. $data = loaddata();
    18. $i = 0;
    19. foreach($data as $erg)
    20. {
    21. $erg = explode("--", $erg);
    22. if( (trim($_REQUEST['username'])==trim($erg[0])) &&
    23. (trim($_REQUEST['password'])==trim($erg[1])) )
    24. {
    25. //Erfolgreicher Login mit automat. Weiterleitung
    26. echo "<meta http-equiv=\"refresh\" content=\"1; URL=http://www.robert-blabl.de\">";
    27. echo "Sie haben sich erfolgreich angemeldet und werden in Kürze weitergeleitet <br><br>";
    28. echo "Falls ihr Browser keine automatische Weiterleitung unterstützt, ";
    29. echo "klicken sie bitte <a href=\"javascript:history.back();\">hier</a><br>";
    30. }
    31. else
    32. {
    33. echo "Ihre Anmeldedaten stimmen leider nicht überein <br>";
    34. echo "Bitte versuchen Sie es erneut oder wenn Sie sich an den Webmaster<br><br>";
    35. }
    36. $i++;
    37. }
    38. } else
    39. {
    40. echo "Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und versuchen Sie es erneut!";
    41. }//function loaddata()
    42. ?>
    43. </body>
    44. </html>
    Alles anzeigen
  • Quellcode

    1. if(trim($_REQUEST['username']) == trim($erg[0]) AND trim($_REQUEST['password']) == trim($erg[1])) {
    2. // Entweder nach erfolgreichem Login die Werte aus dem Forumular abspeichern
    3. $_SESSION['username'] = $_REQUEST['username'];
    4. /* Oder aus deiner Datei
    5. $_SESSION['username'] = $erg[0]; */
    6. /* Oder die Variante mit online
    7. $_SESSION['online'] = 1; */
    8. echo "<meta http-equiv=\"refresh\" content=\"1; URL=http://www.robert-blabl.de\">";
    9. echo "Sie haben sich erfolgreich angemeldet und werden in Kürze weitergeleitet <br><br>";
    10. echo "Falls ihr Browser keine automatische Weiterleitung unterstützt, ";
    11. echo "klicken sie bitte <a href=\"javascript:history.back();\">hier</a><br>";
    12. }
    Alles anzeigen


    Klärt des deine Frage?

    PS: Vergiss aber nicht session_start(), sonst existiert $_SESSION nicht!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von venum-lk ()