Problem mit Login-Script (wohl Sessions)

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

  • Problem mit Login-Script (wohl Sessions)

    Hallo, liebe Leute,

    seit einigen Tagen tritt folgendes Problem auf, wenn ich mich über mein PHP-Login-Script (basierend auf dem Tutorial von php-resource.de - arbeitet mit Sessions) einloggen möchte:

    Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0.
    Mein Hoster meint, keine Änderungen an der Software des Servers vorgenommen zu haben - auch ich habe weder etwas am Code noch etwas an den Einstellungen des Servers vorgenommen, bevor das Problem auftrat.

    Wenn ich das Formular des Login-Scripts absende, erscheint die Meldung, dass der Login erfolgreich war, allerdings darunter die oben beschriebene Fehlermeldung. Anschließend leitet die Datei login.php wie gewohnt auf die index.php des Admincenters weiter, wo ich allerdings erkennen kann, dass die Variablen nicht in die Session geschrieben wurden, da die Begrüßungsmeldung meinen Usernamen nicht enthält und ich keine Änderungen im Admin-Center vornehmen kann ("reingelassen" werde ich allerdings schon).

    Hier der Code der login.php:

    PHP-Code:
    <?php
    session_start
    ();

    require(
    "../inc/config.php");

    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>
    <head>
        <title>Login zum AdminControlPanel</title>
    <link rel="stylesheet" type="text/css" href="<?php echo $acpstylesheet?>">
    </head>

    <body class="text">
    <?php if(!isset($_POST['submit'])) { ?>
    <form action="<?php $PHP_SELF ?>" method="post">
    <table width="400" bgcolor="#000000" border="0" 
    cellpadding="5" cellspacing="1" align="center">
        <tr>
            <td bgcolor="#e7e7e7" align="center" colspan="2">
            <b>Login</b>
            </td>
        </tr>
        <tr>
            <td width="170" bgcolor="#e7e7e7">Benutzername</td>
            <td width="230" bgcolor="#ffffff">
    <input type="text" name="username" size="20" class="input"<?php if($_POST['username'] != ""
    {echo 
    ' value="'.$_POST['username'].'"';} ?>></td>
        </tr>
        <tr>
            <td width="170" bgcolor="#e7e7e7">Passwort</td>
            <td width="230" bgcolor="#ffffff">
    <input type="password" name="password" size="20" class="input"></td>
        </tr>
        <tr>
            <td bgcolor="#e7e7e7" align="center" colspan="2">
            <input type="submit" name="submit" 
    value="Anmelden" class="button">
            </td>
        </tr>
    </table>
    </form>
    <?php
    }elseif(!isset($_POST['username']) || $_POST['username'] == "") {
        echo 
    '<p align="center">
    Einen Benutzernamen brauchen wir schon ;-)<br><br><a href="index.php">Zur&uuml;ck</a></p>'
    ;
    }elseif(!
    $_POST['password'] || $_POST['password'] == ""
    {
        echo 
    '<form action="index.php" method="post">';
        echo 
    '<p align="center">
    Ein Passwort brauchen wir schon ;-)<br><br>'
    ;
        echo 
    '<input type="hidden" name="username" value="'.$_POST['username'].'">';
        echo 
    '<input type="submit" name="zurueck" value="Zur&uuml;ck">';
        echo 
    '</p>';
        echo 
    '</form>';
    }else{
        
    $query = @mysql_query("SELECT user, pass FROM users 
    WHERE user = '"
    .$_POST['username']."'")
     or die(
    'Select ist fehlgeschlagen!');
        
    $result = @mysql_fetch_array($query) or 
    die(
    '<p align="center">Sorry, aber dieser Benutzername existiert nicht!
    <br><a href="index.php">Zur&uuml;ck</a></p>'
    );
        if(
    $_POST['password'] != $result['pass']){
            echo 
    '<form action="index.php" method="post">';
            echo 
    '<p align="center">Sorry, aber dieses Passwort ist falsch!<br><br>';
            echo 
    '<input type="hidden" name="username" value="'.$_POST['username'].'">';
            echo 
    '<input type="submit" name="zurueck" value="Zur&uuml;ck"></p>';
            echo 
    '</form>';
            die;
        }else{
            
    $user $result['user'];
            
    session_register('user');
        echo 
    '<p align="center">Login erfolgreich, <a href="index.php">weiter</a> gehts hier...</p>';
            
    ?>
        <script language="JavaScript">
            window.setTimeout('window.location.href="index.php"','1000')
            </script>
            <?php
        
    }
    }
    ?>
    </body>
    </html>
    Ich wäre wahnsinnig erleichtert, wenn von euch mal jemand einen Blick darauf werfen könnte und mir evtl. zur Lösung verhelfen könnte.

    Vielen, allerbesten Dank schonmal!


    Grüße

    Mimmi
    Zuletzt geändert von Mimmi; 17.03.2006, 15:29.

  • #2
    erstmal:
    http://php-resource.de/forum/showthr...threadid=50454

    Kommentar


    • #3
      Kann mir denn keiner helfen?

      Kommentar


      • #4
        Original geschrieben von Mimmi
        Kann mir denn keiner helfen?
        Verdammt, was soll das?

        Du wurdest aufgefordert, die Regeln zu lesen - warum setzt du sie nicht um?


        Außerdem sagt die Meldung doch schon sehr ausführlich, wo das Problem liegt, und was man tun kann, um die Meldung zu unterdrücken.

        Und das Manual hätte dir bzgl. session_register auch überdeutlich verraten, dass diese Funktion nicht mehr benutzt werden soll.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Ich habe die Regeln komplett gelesen und die Fehler doch ausgebessert, wieso schnauzt du mich denn so an? Habe ich etwa zusätzlich noch Fehler übersehen?

          Leider Gottes bin ich nurmal kein Informatiker und kann die Meldung nicht exakt so deuten, dass ich auf eine Lösung komme.

          Bemüht habe ich mich doch wirklich sehr, die Informationen so genau wie möglich aufzuführen.

          Und das Login-Script habe ich aus dem Tutorial von PHP-Resource.de, was mich wiederum dazu bewegte, davon auszugehen, hier in diesem Forum evtl. Hilfe zu erlangen.

          Wie hätte ich als Anfänger bitte darauf kommen sollen, die Funktion session_register() nachzuschlagen, wenn mich die Fehlermeldung nicht auf sie hinweist und der Code des Scripts nicht von mir stammt?

          Ich hoffe, doch noch auf Verständnis zu stoßen, bei meinem Problem unterstützt zu werden und nun nicht im gesamten Forum verrufen zu sein, ich habe meinen Beitrag doch nicht mit böser Absicht geschrieben

          Vielen, allerbesten Dank.

          Grüße

          Kommentar


          • #6
            brich den code um, damit man nicht horizontal scrollen muss. das steht auch in dem thread, auf den du verwiesen worden bist.

            schau dir das erste beispiel im manual an:
            http://de2.php.net/manual/en/functio...n-register.php

            dort siehst du, wie man es richtig macht.

            Kommentar


            • #7
              Der Code ist doch umgebrochen?!
              Haben wir evtl. verschiedene Bildschirmauflösungen?
              Bei mir erscheinen nämlich keine Scrollbalken.
              Ich lese mir das nun alles mal durch und melde mich wieder.
              Vielen, allerbesten Dank!
              Grüße

              Kommentar


              • #8
                orientiere dich an den durchschnittlichen 1024 pixel breite.

                Kommentar


                • #9
                  Entschuldigung bitte, daran habe ich nicht gedacht, eine Einstellung von 1024xY liegt mir seit langem fern

                  Kommentar


                  • #10
                    Original geschrieben von Mimmi
                    Entschuldigung bitte, daran habe ich nicht gedacht, eine Einstellung von 1024xY liegt mir seit langem fern
                    Wie solltest du auch daran denken - wo es doch nur im verlinkten Thread ausdrücklich drinsteht!

                    Gewöhne dir bitte ab, immer alles nur halb zu lesen.

                    Und damit jetzt Schluss mit dieser Diskussion, sollte alles geklärt sein.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar

                    Lädt...
                    X