Hoi allemaal,

Sinds vanmorgen een nieuwe template erin gegooid alleen nu doet m'n inlogsysteem het niet meer. Registratie gaat vlekkenloos, uitloggen gaat gewoon. Alleen als ik probeer in te loggen met bestaande gebr/pw redirect ik mezelf weer naar het inlogscherm. Als ik dan naar personal.php ga, zie ik mezelf gewoon als ingelogd. ik neem dus aan dat er iets foutgaat bij het inlogscherm.. ben er nu 2 uur mee bezig en ik snap nog steeds niet waar mijn fout zit.

Code:
Inlog-pagina:
<?php
session_start();
if (!empty($_POST)){
$email = $_POST['email'];
$wachtwoord = $_POST['wachtwoord'];
session_register('email');
session_register('wachtwoord');
header("Location: server2.php");
}
?>
<hier allerlei html >
form van inlog:
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
Mail adress: <input type="text" name="email" value="" /> <br /> <br />
Password: <input type="text" name="wachtwoord" value="" /> <br /> <br />
<input type="submit" name="Verzend" value="verzend" />

</form>

----------------------------------------------------------

server2.php ( controle pagina / redirections )
<?php
session_start(); // sessie beginnen
// controleren of pagina correct is aangeroepen.
$link = mysql_connect("localhost","root");
$db = mysql_select_db("server");

if (!empty($_POST['email'])){

$query = "SELECT * FROM members
WHERE email='" . $_POST['email'] ."'
AND wachtwoord='". $_POST['wachtwoord']. "'";
$result = mysql_query($query, $link) or die("FOUT : ");
if (mysql_num_rows($result) > 0){
// e-mailadres gevonden, registreer gegevens in session
$email = $_POST['email'];
$wachtwoord = $_POST['wachtwoord'];
session_register('email');
session_register('wachtwoord');
/*
Indien u in een echte toepassing in de database meer gegevens hebt
opgeslagen voor een user, deze dan uitlezen via sqlite_fetch_row($result)
toekennen aan diverse variabelen voor gebruik elders in de site.
Voor deze kleine applicatie is dat echter niet nodig.
*/
// Doorsturen naar beveiligde pagina
header("Location: personal.php");
exit();
}else{
// geen e-mail adres gevonden, of ongeldig wachtwoord.
$boodschap = "Geen geldige combinatie!";
die($boodschap);
}
}else{
// pagina was incorrect aangeroepen, direct doorsturen naar login.php
header("Location: server.php");
}
?>

-----------------

Gezien de rest wel gewoon werkt (personal.php werkt gewoon als ik mezelf er via de url balk naar navigeer.. en uitloggen is ook vlekkeloos.


Heeft iemand een tip voor me? Volgens mij is dit echt een ';' ofzo >.>

Alvast bedankt voor alle en ieder antwoord! :)

Groetjes,

Simolokid

Heb je dit zelf geschreven want volgens mij is session_register iets heel ouds of niet?

Ik zou het gewoon stap voor stap opnieuw doen...


<?php
session_start();

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// De verwerking
}
else
{
// Het formulier
}
?>


K neem aan dat je wel een formulier kan maken enzo?, want dan kunnen we het stap voor stap opnieuw doen...

Misschien denk jij hoezo opnieuw doen dit deed het toch ook?
Maar hier zitten toch wel een aantal fouten in als die, en hij is sql injection gevoelig...

Gr,
Dit script heb ik voor het grootste deel uit mijn boek.. nu bedenkend dat ik dan dus eigenlijk ook mijn boek in kan duiken...

Session_register staat gewoon in mijn boek hoor =P geen idee of dat oud is of niet. Basis cursus php 5 van peter kassenaar :)

SQL injection moet ik me nog in verdiepen.. ik maak deze site / inlogsysteem eigenlijk puur om alles te begrijpen.. tot nu toe valt het nog niet mee =P

Verder ga ik nu mijn boek ff snel pakken en kijken of ik fouten kan ontdekken ( ik mag hopen van wel.. ).

Als ik er dán nog niet uitkom, dan kom ik hier weer terug.

En nog even over jou begin-voorbeeld code: METHOD_REQUEST is compleet spaans... is er een nieuwe php versie uit ofzo? :O ik werk nu met xampp 1.7.2 :)

In iedergeval bedankt voor je antwoord... ga ik weer leuk door-zoeken >.> :)

Groetjes

Simolokid

[edit] heb je misschien hotmail/msn? kan je me eens fijn uitleggen wat er allemaal fout aan is O.o het zag er redelijk logisch uit in mijn ogen =P.
REQUEST_METHOD is niet echt heel bijzonder ofzo :P

Stuur je email maar door via de mail als je dat prettiger vind ;)
[email protected] schreef op 31.12.2009 16:02

Session_register staat gewoon in mijn boek hoor =P geen idee of dat oud is of niet. Basis cursus php 5 van peter kassenaar :)

Ja Session_register is oud en het is niet verstandig om het te gebruiken.
In php versie 6 is die functie er helemaal uit en kan je het dus niet gebruiken!
http://php.net/manual/en/function.session-register.php

[email protected] schreef op 31.12.2009 16:02

SQL injection moet ik me nog in verdiepen.. ik maak deze site / inlogsysteem eigenlijk puur om alles te begrijpen.. tot nu toe valt het nog niet mee =P

Je moet de site/ inlog systeem niet online gebruiken zonder beveiligd te zijn tegen SQL injection. Het is niet heel moeilijk om je er tegen te beschermen.
zie http://www.phphulp.nl/php/tutorials/3/444/

[email protected] schreef op 31.12.2009 16:02

En nog even over jou begin-voorbeeld code: METHOD_REQUEST is compleet spaans... is er een nieuwe php versie uit ofzo? :O ik werk nu met xampp 1.7.2 :)

METHOD_REQUEST zit al heel lang in php.
zie http://php.net/manual/en/reserved.variables.server.php voor meer informatie erover of google.

Mocht het allemaal nog moeilijk zijn, dan raad ik je aan om tutorials over php door te nemen zoals http://www.phptuts.nl/view/39/1/

Reageren