Hallo,
ik heb een session filetje aangemaakt, en gehost op funpic. Lokaal op mijn testserver werkt alles correct maar op de hosting niet. Heb ik iets verkeerd gedaan?

Filetjes:

- login.php=> ingeven naam en wachtwoord
- geheim.php => indien de login ok is, dan kom je
hier terecht
- logout.php=> uitloggen

Na het "inloggen" op de webhost, krijg ik telkens de melding "je bent niet ingelogd"; alsof er iets mis is met de sessie registratie.

Filtjes zijn op onderstaande plaats terug te vinden.

http://yofatim.yo.funpic.de/sessieteses/login/

Alvast bedankt
Jozef
Zonder code kan niemand jou vertellen of je iets verkeerd doet.
En toch doe ik een gooi.
Jij werkt lokaal met PHP 0.01 en funpic met iets anders.
Jij werkt met $HTTP_POST_VARS wat uit de tijd van de romeinen komt (of was het nog eerder? Ik ben ook geen expert).

Of je het is precies andersom, maar zo nauwkeurig kan ik niet gokken.

Waarschijnlijk heeft het gewoon met een instelling te maken waardoor het lokaal wel werkt, wat eigenlijk niet hoort. Waardoor het online niet werkt.

Maar alsnog blijft een stuk code erg handig.
Bovenaan:

<?php
session_start();
?>

:P.
(Moet toch een gokje wagen zonder source hè ;))
Hier komt de kode:

/************login.php*********/
<?php
session_start();
if (!empty($_POST)){
// eventueel nog meer validatie, nu even ervan uitgaan dat
// gegevens correct zijn aangeleverd via het formulier
$username= $_POST["username"];
$wachtwoord = $_POST["wachtwoord"];
session_register("username");
session_register("wachtwoord");
// Of korter genoteerd:
// $_SESSION["username"] = $_POST["username"];
// $_SESSION["wachtwoord"] = $_POST["wachtwoord"];
// doorsturen naar beveiligde pagina
header("Location: geheim.php");
}
?>
<html>
<head>
<title>Inloggen</title>
</head>

<body>
<h2>Inloggen:</h2>
<hr>
<form name="form1" method="post" action="<?php echo($_SERVER["PHP_SELF"]);?>">
Inlognaam: <input name="username" type="text"><br>
wachtwoord: <input name="wachtwoord" type="password"><br>
<input type="submit" name="Submit" value="Inloggen">
</form>
</body>
</html>
/*****************geheim.php**************/

Na het inloggen moet ik in "geheim.php" terecht komen

/*****************geheim.php**************/
<?php session_start(); ?>
<html>
<head>
<title>Beveiligde pagina</title>
</head>

<body>
<?php
if (isset($_SESSION["username"])){
echo("<h2>U hebt toegang tot deze pagina; uw gebruikersnaam is " .
$_SESSION["username"] ."</h2>");
echo("en uw wachtwoord is ". $_SESSION["wachtwoord"]);
echo("<br><a href=\"logout.php\">Uitloggen</a>");
// overige 'geheime' gegevens :-)
}else{
echo("<h2>U hebt zich nog niet aangemeld;<br>u kunt zich
<a href=\"login.php\">hier registreren</a>");
}
?>


</body>
</html>

/************************************/


Hallo,
Kan iemand mij uitleggen wat er verkeerd is aan bovenstaand scriptje?
kijk eens in de php.ini.. naar de instellingen van de sessies?

(staat redelijk onderin)
session_register(); is verkeerd.
komt uit de prehistory.
gebruik superglobals
En het kan ook nog dat session.auto_start = 1 bij jou lokaal staat en session.auto_start = 0 bij funpic en deze : session.use_trans_sid = 1 kan bij funpic ook op 0 staan.

Wat de eerste doet is duidelijk namelijk het starten van de sessie.
de tweede indien geactiveerd met 1 geeft automatisch de sessie door aan de volgende pagina


Reageren