Ik ben bezig met een loginscript wat niet wil werken. Beveiliging moet nog ingebouwd worden.
Iemand die het probleem ziet?
PHP Code:
// index.php
session_start();
include "../includes/config.php";
include "../classes/user.class.php";
$user = new User($mysqli);
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$gebruikersnaam = $_POST["gebruikersnaam"];
$wachtwoord = $_POST["wachtwoord"];
if(isset($gebruikersnaam) AND isset($wacthwoord))
{
// Gebruiker inloggen
$user->login($gebruikersnaam, $wachtwoord);
if($user->loggedin == true)
{
header("refresh:2; url=index.php");
}
}
}
PHP Code:
// user.class.php
class User
{
private $database;
public $loggedin = false;
public function __construct($database)
{
$this->database = $database;
}
public function login($username, $password)
{
// Select user
$select = "SELECT * FROM users WHERE username = '".$username."' AND password = '".md5($password)."'";
$this->database->query($select);
if($this->database->num_rows == 1)
{
$this->loggedin = true;
$_SESSION["username"] = $username;
}
}
public function logout()
{
$this->loggedin = false;
if(isset($_SESSION["username"]))
{
session_destroy();
}
}
}
- Inloggen wil niet lukken..
-
01-06-2011, 16:13 #1Particulier
- Berichten
- 1.477
- Lid sinds
- 16 Jaar
Inloggen wil niet lukken..
Laatst aangepast door RoyB : 01-06-2011 om 16:30
-
01-06-2011, 16:22 #2
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
Re: Inloggen wil niet lukken..
session_start(); aanwezig bovenaan ?
-
01-06-2011, 16:23 #3Particulier
- Berichten
- 1.477
- Lid sinds
- 16 Jaar
-
01-06-2011, 16:26 #4
- Berichten
- 40
- Lid sinds
- 13 Jaar
Re: Inloggen wil niet lukken..
if(isset($gebruikersnaam) AND isset($wacthwoord))
moet dat niet zijn:
if(isset($gebruikersnaam) AND isset($wachtwoord)) <-------
-
01-06-2011, 16:29 #5Particulier
- Berichten
- 1.477
- Lid sinds
- 16 Jaar
-
01-06-2011, 16:31 #6
- Berichten
- 40
- Lid sinds
- 13 Jaar
Re: Inloggen wil niet lukken..
Ben je na de refresh niet meer ingelogd? Want hoe controleer je na de refresh of iemand is ingelogd? Controleer je dat via de user class of via de sessie?
Aanvullend bericht:
Met onderstaande function in je class zou je iig de sessie controleren...
PHP Code:public function is_loggedin()
{
return isset($_SESSION['username']);
}
Laatst aangepast door Clifford James : 01-06-2011 om 16:33 Reden: Automatisch samengevoegd.
-
01-06-2011, 16:37 #7Particulier
- Berichten
- 1.477
- Lid sinds
- 16 Jaar
Re: Inloggen wil niet lukken..
Ben je na de refresh niet meer ingelogd? Want hoe controleer je na de refresh of iemand is ingelogd? Controleer je dat via de user class of via de sessie?
Aanvullend bericht:
Met onderstaande function in je class zou je iig de sessie controleren...
PHP Code:public function is_loggedin()
{
return isset($_SESSION['username']);
}
PHP Code:if($user->loggedin == true)
{
echo $_SESSION["username"];
}
-
01-06-2011, 16:41 #8
- Berichten
- 40
- Lid sinds
- 13 Jaar
-
01-06-2011, 16:44 #9Particulier
- Berichten
- 1.477
- Lid sinds
- 16 Jaar
-
01-06-2011, 16:48 #10
- Berichten
- 40
- Lid sinds
- 13 Jaar
-
01-06-2011, 16:52 #11Particulier
- Berichten
- 1.477
- Lid sinds
- 16 Jaar
-
01-06-2011, 16:56 #12
- Berichten
- 40
- Lid sinds
- 13 Jaar
Re: Inloggen wil niet lukken..
Dat klopt maar dan moet je opnieuw de user class initialiseren. En dan staat loggedin standaard op FALSE om dat de login functie niet word aangeroepen omdat er geen $_POST data bestaat.
Heb je mijn functie überhaupt al geprobeerd? Deze controleert of de sessie bestaat en dus of de user is ingelogd.
-
01-06-2011, 16:59 #13Particulier
- Berichten
- 1.477
- Lid sinds
- 16 Jaar
Re: Inloggen wil niet lukken..
Dat klopt maar dan moet je opnieuw de user class initialiseren. En dan staat loggedin standaard op FALSE om dat de login functie niet word aangeroepen omdat er geen $_POST data bestaat.
Heb je mijn functie überhaupt al geprobeerd? Deze controleert of de sessie bestaat en dus of de user is ingelogd.
-
01-06-2011, 17:00 #14Particulier
- Berichten
- 59
- Lid sinds
- 16 Jaar
Re: Inloggen wil niet lukken..
Code:if(isset($gebruikersnaam) AND isset($wacthwoord))
Ook kan je query wat optimalisatie gebruiken; een LIMIT 1 aan het einde en SELECT NULL ipv * (mits je deze data niet gebruikt).
-
01-06-2011, 18:06 #15Particulier
- Berichten
- 1.477
- Lid sinds
- 16 Jaar
Re: Inloggen wil niet lukken..
Maar daarmee is het probleem niet opgelost..
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