MissPiggy
Erfahrenes Mitglied
Ich habe anhand des Tutorial "Loginsystem mit Sessions" versucht, ein Loginscript zu basteln (ich lerne PHP erst seit ein paar Wochen, meine Fähigkeiten sind noch sehr begrenzt ).. Mir ist auch nicht ganz klar, wie in diesem Tutorial die Session_ID übergeben wird.
In dem script was ich geschrieben habe, funktioniert das Übergeben von Sessionvariablen nur zum Teil. Eine wird übergeben, die andere nicht, un mir ist völlig schleierhaft, weiso das ist. Es wäre schön wenn mir da jemand weiterhelfen könnte
Das loginscript (name und pass werden als $_POST übergeben)
Bis zum Ende des scripts sind die Variablen $_SESSION['ID'] und $_SESSION['name'] vorhanden, jedoch im Folgescript existiert dann nur noch die $_SESSION['ID']
In dem script was ich geschrieben habe, funktioniert das Übergeben von Sessionvariablen nur zum Teil. Eine wird übergeben, die andere nicht, un mir ist völlig schleierhaft, weiso das ist. Es wäre schön wenn mir da jemand weiterhelfen könnte
Das loginscript (name und pass werden als $_POST übergeben)
PHP:
<?php session_start ?>
<html>
<head>
<?php
include "config.php";
function login($nam,$pw,&$id,&$name) {
$sqlab="select * from user where
name = '$nam'
and
pass='$pw' ";
$res=mysql_query($sqlab);
$num=mysql_num_rows($res);
$temp=mysql_fetch_assoc($res);
$id=$temp['ID'];
$name=$temp['name'];
return $num;
}
?>
</head>
<body>
<?php
if(!(empty($_POST['name'])) && !(empty($_POST['pass']))) {
$db=mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS);
mysql_select_db("micha") || die("db nicht vorhanden");
login($_POST['name'],$_POST['pass'],$userid,$nick) || die("name oder pass falsch");
$_SESSION['ID']=$userid;
$_SESSION['NAME']=$nick;
mysql_close($db);
if(isset($_SESSION['ID'])) {
header("location:Serien.php");
}
}
else {
if($_GET['action']=='logout')
session_destroy();
header ("location:login1.php");
}
?>
</body>
</html>
Bis zum Ende des scripts sind die Variablen $_SESSION['ID'] und $_SESSION['name'] vorhanden, jedoch im Folgescript existiert dann nur noch die $_SESSION['ID']