[PHP] Inlogscript met cookies werkt niet (meer)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sinds een aantal dagen hebben de users van mijn site problemen met inloggen.
Na analyse blijkt dat de login cookie niet meer geset wordt. De reden daarvan is mij onduidelijk.
De hosting is enige dagen terug wel overgegaan naar php 5.1.1 maar ik weet niet of dat er iets mee te maken heeft. Zal het probleem wat systematischer weergeven.

De user logt op index.php in middels zijn naam en wachtwoord.
Na invullen van deze data wordt deze verstuurd naar verwerk.php
Verwerk.php bekijkt of de gegeven overeenkomen met een user in de db, zo ja zet hij een cookie en redirect naar index.php, zo nee geeft hij een foutmelding en redirect hij terug naar index.php

Het gaat dus fout bij verwerk.php want hij set geen cookie meer. Heb zelf me IE leeggegooid en geprobeerd in te loggen, en idd er staat geen cookie.
De code hiervan is als volgt:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
mysql_select_db($database, $db)or die ("Verbinding maken met de Database is mislukt!");
$sql = "SELECT pid FROM personen WHERE voor='$naam' AND wachtwoord='$wachtwoord'";
$result = mysql_query($sql) or die ("Unable to get results.");
$num = mysql_num_rows($result);
while ($row = mysql_fetch_object($result)) 
{
$pid=$row->pid;
}
$cookie_data = $naam.'-'.$pid;
setcookie ("cookie_info",$cookie_data, $time+3600);
$welkom="Welkom $naam ! <br/> Je wordt binnen een aantal seconden doorgestuurd naar de hoofdpagina...";
}


Hij geeft nu wel de zin 'Welkom .. hoofdpagina' weer, maar set geen cookie!

Vreemd omdat er normaal nooit problemen zijn, maar hoor de klachten pas sinds een aantal dagen. (Wellicht na installeren php 5.1.1, maar dat weet ik niet zeker.

Kan iemand me hiermee helpen!?

Acties:
  • 0 Henk 'm!

  • webfreakz.nl
  • Registratie: November 2003
  • Laatst online: 21-08 15:56

webfreakz.nl

el-nul-zet-é-er

setcookie("cookie_info", $cookie_data, time()+3600);

?

"You smell that, son? What sir? Napalm, I love the smell of napalm in the mornin!" || Children of Bodom fan!


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Als ik zo je code bekijk, denk ik al te weten waar de fout ligt. Je gebruikt $naam en $wachtwoord, waar komen die vandaan? In de FAQ staat waarschijnlijk de oplossing waarom forms niet meer werken.

Verder: bestaan er meerdere gebruikers met dezelfde naam/wachtwoord combinatie? Waarom zou je dan while gebruiken?
Wat gebeurt er wanneer iemand een foutieve username/wachtwoordcombinatie invoert? Krijgt hij dan ook Welkom $naam te zien?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ben er al achter. Ik heb verkeerde back-up teruggezet.
Na de foutmeldingen heb ik mijn laatste backup teruggezet (ja, erg lompe maatregel), maar deze was niet correct meer. Na de inc te hebben aangepast werkt het weer.

Bedankt voor jullie antwoorden.