Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Login Bereich (Sessions, MySQL)

Einklappen

Neue Werbung 2019

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

  • Problem mit Login Bereich (Sessions, MySQL)

    Hi,

    ich habe versucht mit PHP und MySQL einen Login Bereich zu erstellen.

    Nach dem Login sollen die User die ganze Zeit eingeloggt sein. Müsste ja mit Sessions gehen. Die Userdaten sind in einer MySQL Datenbank gespeichert.

    Leider funktioniert der Login nicht.

    Hier mal das Script:
    PHP-Code:
    <?php

    <?php 
      session_start
    ();
          
    session_register("SESSION_Passwort");
          
    session_register("SESSION_User");
          
    $titel="Mitgliederbereich";
    include(
    "../../include/header.php");?>
     <?php

     $DatabaseHost 
    "localhost";
     
    $DatabaseUser "user";
     
    $DatabasePassword "123456789";
     
    $Database "user";
     
    $TableLogin "user";
     
     if(
    $_REQUEST['Send'])
     {
         
    $DatabasePointer mysql_connect($DatabaseHost$DatabaseUser$DatabasePassword);
         
    mysql_select_db($Database$DatabasePointer);
         if(
    mysql_num_rows(mysql_query("SELECT User FROM $TableLogin WHERE User='".stripslashes($_REQUEST['User'])."' AND Passwort='".stripslashes($_REQUEST['Passwort'])."'"$DatabasePointer))==1)
         {
             
    mysql_query("UPDATE $TableLogin SET LetzterLogin='".date("Y-m-d H:i:s")."' WHERE User='".stripslashes($_REQUEST['User'])."' AND Passwort='".stripslashes($_REQUEST['Passwort'])."'"$DatabasePointer);
          
    $SESSION_Passwort=$_REQUEST['Passwort'];
           
    $SESSION_User=$_REQUEST['User'];
             echo
    "Sie sind eingeloggt!";
     
             
    //hier der geschützte Inhalt
     
         
    }
         else
         {
             echo
    "Der User und/oder das Passwort wurden nicht gefunden!";
         }
     }
     else
     {
     
    ?>
     <form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post">
     User <input maxlength="50" name="User" type="text">

     Passwort <input maxlength="50" name="Passwort" size="10" type="password">

     <input name="Send" type="submit" value="Login">
        </form>
     <?php
     
    }

     
    ?>



    <?php include("../../include/footer.php");?>

    ?>

    Kommt immer folgender Fehler:


    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/virtual/pchilfe.net/test/htdocs/user/member/index.php:2) in /var/www/virtual/pchilfe.net/test/htdocs/user/member/index.php on line 3

    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/virtual/pchilfe.net/test/htdocs/user/member/index.php:2) in /var/www/virtual/pchilfe.net/test/htdocs/user/member/index.php on line 3


    Was ist an dem Script falsch???


    Danke schonmal !


  • #2
    kein Thema für "PHP - Fortgeschrittene"
    Forensuche benutzen, nach "headers already sent" suchen.

    Alternativ:
    Forum: PHP - Anfänger
    Thread: Neu bei phpfriend.de? Interessante Links! PHP,MySQL,CSS,Scripte..
    Link: http://www.faq-phpfriend.de/
    Kategorie: Fehlermeldungen
    12. Warning: Cannot send session cookie - headers already sent ...
    13. Warning: Cannot add header information - headers already sent ...

    Kommentar


    • #3
      Versuch mal vor jegliche Ausgabe ob_start() und am Ende der Seite ob_end_flush() zu benutzen. Das puffert die Ausgabe bis das Script komplett fertig durchlaufen ist. Damit sollten deine Probleme behoben sein.

      Kommentar


      • #4
        Zitat von chr1z
        Versuch mal vor jegliche Ausgabe ob_start() und am Ende der Seite ob_end_flush() zu benutzen. Das puffert die Ausgabe bis das Script komplett fertig durchlaufen ist. Damit sollten deine Probleme behoben sein.


        Also, habe jetzt an den Anfang der Seite ob_start(); und an das Ende ob_end_flush();

        gesetzt. Habe aber immernoch den selben Fehler wie davor.

        Kommentar


        • #5
          Dann lies Dir halt an, was der Fehler bedeutet und was man dagegen tut.

          Kommentar


          • #6
            Ok, also das mit dem einloggen klappt. Bleibt sogar die ganze Zeit eingeloggt . Leider auch dann wenn man sich ausloggen soll

            Habe jetzt zwei Dateien:

            Login:
            PHP-Code:
            <?php 
            session_start
            ();
            session_register("SESSION_Passwort");
            session_register("SESSION_User");
            $titel="Mitgliederbereich";
            include(
            "../../include/header.php");?>

             <?php
            if ($SESSION_User =="")
            {
             
            $DatabaseHost "localhost";
             
            $DatabaseUser "user";
             
            $DatabasePassword "4e2ffa8a";
             
            $Database "user";
             
            $TableLogin "user";
             
             if(
            $_REQUEST['Send'])
             {
                 
            $DatabasePointer mysql_connect($DatabaseHost$DatabaseUser$DatabasePassword);
                 
            mysql_select_db($Database$DatabasePointer);
                 if(
            mysql_num_rows(mysql_query("SELECT User FROM $TableLogin WHERE User='".stripslashes($_REQUEST['User'])."' AND Passwort='".stripslashes($_REQUEST['Passwort'])."'"$DatabasePointer))==1)
                 {
                     
            mysql_query("UPDATE $TableLogin SET LetzterLogin='".date("Y-m-d H:i:s")."' WHERE User='".stripslashes($_REQUEST['User'])."' AND Passwort='".stripslashes($_REQUEST['Passwort'])."'"$DatabasePointer);
                  
            $SESSION_Passwort=$_REQUEST['Passwort'];
                   
            $SESSION_User=$_REQUEST['User'];
                     echo
            "Sie sind eingeloggt! ";
             
                     
            //hier der geschützte Inhalt
             
                 
            }
                 else
                 {
                     echo
            "Der User und/oder das Passwort wurden nicht gefunden!";
                 }
             }
             else
             {
             
            ?>
             <form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post">
             User <input maxlength="50" name="User" type="text">

             Passwort <input maxlength="50" name="Passwort" size="10" type="password">

             <input name="Send" type="submit" value="Login">
                </form>
             <?php
             
            }
            }
            else
            {
             
            ?>
             
             Eingeloggt
            <?php
            }
             include(
            "../../include/footer.php");?>

            Logout.php:
            PHP-Code:
            <?php
            <?php
            session_start
            ();
            session_unregister("User");
            session_unregister("Passwort");
            ?>

            <?php
            session_start
            ();
            $titel="Mitgliederbereich";
            include(
            "../../include/header.php");?>
            Ausgeloggt
            <?php 
             
            include("../../include/footer.php");?>
            ?>

            Leider geht der Logout nicht Woran liegt das?

            Kommentar


            • #7
              session_register("SESSION_User");
              und
              session_unregister("User");
              arbeiten aneinander vorbei.

              Der Beitrag wurde verschoben, wegen...
              ... Postings im falschen Forum. Bitte beim nächsten Mal darauf achten..

              Bemerkung:
              Die gestellte Frage entspricht nicht dem Wissensstand eines/einer Fortgeschrittenen. Dazu: http://www.phpfriend.de/forum/viewtopic.php?t=21515

              moved to PHP - Anfänger
              mod = master of disaster

              Kommentar

              Lädt...
              X