Alain Kumschick: PHPSESSID & MySQL

Beitrag lesen

hallo,

ich habe eine kleine frage! wieso wenn ich diesen script starte "index.php" und "login.php" kann ich mich problemlos einlogen aber sobald ich auf einer anderen seite gehen möchte mit dem selben script wie "login.php" springt der script auf die seite "index.php" zurück und fragt mich nach dem username und password????

ich benutze php v4.3.1 und mysql v4.0.13 unter Windows 2003!

in diesem script einmal eingelogt möchte ich die selbe seite wieder starten mit:

<a href="login.php?PHPSESSID=<? echo PHPSESSID; ?>">Link</a>

ich möchte verstehen wieso der script immer wieder auf "index.php" zurück springt. under linux funktioniert es perfekt. hat es was zu tun mit der "php.ini" datei?

ich verstehe nicht wie ich "PHPSESSID" anwenden soll! :-(

kann mir jemand helfen?

  • alain -

***************************************index.php*******************************

<html>
...

<!-- CONTENT HERE -->

<center>
  <form method="post" action="login.php">
    <table width="100%" border="0">

<tr>
        <td><b>username:</b></td>
        <td><input name="username" size="9" type="text" size="15"></td>
      </tr>

<tr>
        <td><b>password:</b></td>
        <td><input name="password" size="9" type="password" size="15"></td>
      </tr>

<tr>
        <td colspan="2"><input type="submit" value="login" name="login"></td>
      </tr>

</table>
  </form>
</center>

<!-- CONTENT HERE -->

...
</html>

***************************************login.php*******************************

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

<?
include ("./common_db.php");
$register_script = "./register.php";

function auth_user($username, $password) {
   global $default_dbname, $user_tablename;

$link_id = db_connect($default_dbname);
   $query = "SELECT username FROM userinfo
                             WHERE username = '$username'
                             AND password = '$password'";
   $result = mysql_query($query);

if(!mysql_num_rows($result)) return 0;
   else {
      $query_data = mysql_fetch_row($result);
      return $query_data[0];
   }
}

function login_form() {
   global $PHP_SELF;

?>

<?
// LOGIN
        include("./index.php");
endif;
// LOGIN
?>

<?
}

session_start();
if(!isset($username)) {
  login_form();
  exit;
}

else {
  session_register("username", "password");
  $username = auth_user($username, $password);
  if(!$username) {
    session_unregister("username");
    session_unregister("password");
?>

<?
// ERROR LOGIN
        include("./login_error.php");
endif;
// ERROR LOGIN
?>

<?
  exit;
  }
?>

<html>
...

<!-- CONTENT HERE -->

<center>
  <a href="login.php?PHPSESSID=<? echo PHPSESSID; ?>">Link</a>
</center>

<!-- CONTENT HERE -->

...
</html>

<?
}
?>