session

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

  • session

    Hallo,
    bekomme folgende Fehlermeldung:

    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

    und weiß nix damit anzufangen...

    kann mir jemand helfen?

  • #2
    Hmm, du solltest schon den code mit posten der das Problem hervorruft. Die PHP Version wäre auch noch ganz nett.

    Kommentar


    • #3
      code und version

      PHP Version 4.3.3

      der Code:
      <?php
      session_start();


      require("connect.inc.php");
      ?>
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

      <html>
      <head>
      <title>LogIn zum Adminbereich</title>
      <link rel="stylesheet" type="text/css" href="style.css">
      </head>

      <body>
      <?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>Bitte erst anmelden</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ü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ück">';
      echo '</p>';
      echo '</form>';
      }

      else{
      $password = md5($password);

      $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ück</a></p>');
      if($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ück"></p>';
      echo '</form>';
      die;
      }else{
      $user = $result['user'];
      session_register('user');
      echo '<p align="center">LogIn erfolgreich!!!!!!<br><br><a href="sichere_seite.php">Weiter</a></p>';
      ?>
      <!--
      <script language="JavaScript">
      window.setTimeout('window.location.href="sichere_seite.php"','3000')
      </script>
      -->
      <?php
      }
      }
      ?>
      </body>
      </html>

      die fehlermeldung kommt bei erfolgreicherm einloggen..

      Kommentar


      • #4
        PHP-Code:
        session_register('user'); 
        ist veraltet und sollte nimmer benutzt werden ..

        solltest stattdessen
        PHP-Code:
        $_SESSION['user'] = $result['user']; 
        verwenden
        mfg,
        [color=#0080c0]Coragon[/color]

        Kommentar


        • #5
          klappt

          hat geklappt vielen Dank.

          gibt es mit dem obigen skript dir Möhlickkeit jedem user ein verzeichniss zuzuweisen, das er nur auf die dateien indem verzeichniss zugriff hat?

          Kommentar


          • #6
            Ich hab HIER folgendes dazu gefunden:
            Die Funktion session_register() funktioniert nicht in Umgebungen wo register_globals auf off gestellt ist.
            In PHP Versionen bis 4.2.0 konnte man durch einen Fehler in PHP, die Session-Variable dennoch im globalen Bereich zu initialisieren. Ab der Version 4.3.0
            gibt PHP bei aktivierten bug_compact_42 und bug_compact_warn eine Warnung aus.

            Wo kämen wir hin, wenn jeder sagte: Wo kämen wir hin? und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

            Kommentar

            Lädt...
            X