SD'ers,
Ik zit met een lullig PHP-probleempje, en ik snap eigenlijk niet wat er nou fout aan is.
Het is een loginsysteempje, en als de gebruiker al ingelogd is hoeft hij natuurlijk niet opnieuw in te loggen, als hij op een andere pagina komt.
Ik heb dit geprobeerd met cookies, maar op één of andere manier pakt hij hem niet.
Nu dacht ik, laat ik het dan maar met een sessie proberen, maar ook dit werkt niet, zowel op mijn lokale MAMP-server als op de server van mijn host.
Dit is mijn code van het loginsysteem:
Waarschijnlijk maak ik ergens een foutje die ik helemaal over het hoofd zie.PHP Code:
<?php
$ingelogd = "ingelogd";
$fout = "niet ingelogd";
// if(isset($_COOKIE['login']))
if(isset($_SESSION['login']))
{
echo $ingelogd;
}
else
{
if(isset($_POST['login-submit']))
{
$gebruikersnaam = mysql_real_escape_string(htmlspecialchars($_POST['gebruikersnaam2']));
$wachtwoord = mysql_real_escape_string(htmlspecialchars($_POST['wachtwoord2']));
$selectlogin = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='". $gebruikersnaam ."' AND wachtwoord='". $wachtwoord ."'");
$numlogin = mysql_num_rows($selectlogin);
$datalogin = mysql_fetch_assoc($selectlogin);
if($numlogin == 0)
{
echo $fout;
}
else
{
// setcookie("login", $info['gebruikersnaam'], time()+3600*24);
echo $ingelogd;
$_SESSION['login'] == $datalogin['gebruikersnaam'];
}
}
else
{
?>
<div id='login'>
<form method='post'>
<input type='text' name='gebruikersnaam2' value='Gebruikersnaam' onblur="if(this.value==''){this.value='Gebruikersnaam';}" onfocus="if(this.value=='Gebruikersnaam'){this.value='';}" />
<input type='password' name='wachtwoord2' value='Wachtwoord' onblur="if(this.value==''){this.value='Wachtwoord';}" onfocus="if(this.value=='Wachtwoord'){this.value='';}" />
<input type='submit' name='login-submit' value=''/>
</form>
<div id="logintekst">
<span class='registreren'><a href='index.php?p=registreren'>Registreren</a></span>
<span class='wwvergeten'><a href='index.php?p=wwvergeten'>Wachtwoord vergeten?</a></span>
</div>
</div>
<?php
}
}
?>
Dat heb je snel met wat onervaren scripters. Iemand?
Mvg,
Kees Leurink
- Basisprobleem PHP
-
17-05-2012, 18:41 #1
- Berichten
- 125
- Lid sinds
- 17 Jaar
Basisprobleem PHP
-
-
17-05-2012, 18:44 #2
- Berichten
- 1.499
- Lid sinds
- 17 Jaar
Re: Basisprobleem PHP
session_start(); ?
-
17-05-2012, 18:45 #3
- Berichten
- 1.031
- Lid sinds
- 17 Jaar
Re: Basisprobleem PHP
-
17-05-2012, 18:49 #4
- Berichten
- 935
- Lid sinds
- 17 Jaar
Re: Basisprobleem PHP
je moet elke afzonderlijke pagina / aanroep beginnen met session_start(); zodat de sessie overal 'in leven' blijft.
-
17-05-2012, 19:08 #5
- Berichten
- 125
- Lid sinds
- 17 Jaar
Re: Basisprobleem PHP
Deze pagina wordt geinclude, en session_start(); staat op de index.php, en aangezien elke pagina wordt geinclude in index.php, staat session_start(); erboven. Vergeten te vermelden.
Maar waarom lukt het niet met cookies? Ik vind dat namelijk fijner werken :)
-
17-05-2012, 20:20 #6
- Berichten
- 169
- Lid sinds
- 17 Jaar
Re: Basisprobleem PHP
PHP Code:$_SESSION['login'] == $datalogin['gebruikersnaam'];
-
17-05-2012, 20:35 #7
- Berichten
- 125
- Lid sinds
- 17 Jaar
Re: Basisprobleem PHP
Klopt, je hebt gelijk. Had het doorslaggevende foutje kunnen zijn, maar hij werkt nog steeds niet... Misschien dat ik wel iets anders over het hoofd zie hoor. Geeft MAMP-server eigenlijk wel sessies en/of cookies mee?
-
18-05-2012, 21:58 #8
- Berichten
- 158
- Lid sinds
- 14 Jaar
Re: Basisprobleem PHP
setcookie("login", $info['gebruikersnaam'], time()+3600*24, "/");
bij cookies is het handig om de directory te noemen waarop je cookie werkt, / is gewoon overal na de main directory
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic