loginsysteem

Status
Niet open voor verdere reacties.

patje8

Gebruiker
Lid geworden
31 jul 2005
Berichten
436
Ik heb een loginsysteem gemaakt en dit werkt perfect alleen moet wanneer er iemand inlogt er bij de rij tijd (in myqsl) het getal 1 moeten komen.

Dit is mijn login.php:
PHP:
<?
session_start();

require("config.php");
include("htmltop.php");
if($submit){

$query = mysql_query("SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam' AND wachtwoord = '$wachtwoord' AND geactiveerd = '1'");
$result = mysql_num_rows($query);

if(!$result){
$a = "Gebruikersnaam en/of Wachtwoord is/zijn incorrect. Of je bent vergeten om je account te activeren...<br><br><a href=\"?gebruikersnaam=$gebruikersnaam\">Ga terug</a>";
}
else{
while($object = mysql_fetch_object($query)){
$memberid = $object->memberid;
}
$login = 1;
session_register("login");
session_register("memberid");
}
}

if(!$login){
$a = "<form method=\"POST\" action=\"$PHP_SELF\">
  <input type=\"hidden\" name=\"submit\" value=\"1\">
  Naam:<br>
  <input type=\"text\" name=\"gebruikersnaam\" size=\"20\" value=\"$gebruikersnaam\"><br>
  Wachtwoord:<br>
  <input type=\"password\" name=\"wachtwoord\" size=\"20\"><br>
  <input type=\"submit\" value=\"Login\"> <input type=\"reset\" value=\"Aanmelden\"
  onclick=\"document.location.href=('index.php')\">
</form>";
}
?>
<a href="index.php">Verder</a><?
// Op de plaats in je layout waar je het inlogformulier wilt hebben doe je ( echo $a; )
echo $a;
include("htmlbottom.php");
?>
 
Weet je wat er gebeurt als iemand als wachtwoord ' OR 1 OR ' (met de enkele aanhalingstekens) invult?
Bekijk je sql statement dan nog eens als je dat invult.

Met de sql statement
UPDATE members SET tijd=1 WHERE memberid=$memberid
stel je de tijd in
 
Laatst bewerkt:
Na een succesvolle login dus ergens na else
Overigens zou ik die while loop eruit gooien en je SELECT statement uitbreiden met LIMIT 1
 
PHP:
<?
session_start();

require("config.php");
include("htmltop.php");
if($submit){

$query = mysql_query("SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam' AND wachtwoord = '$wachtwoord' AND geactiveerd = '1' LIMIT 1" );
$result = mysql_num_rows($query);

if(!$result){
$a = "Gebruikersnaam en/of Wachtwoord is/zijn incorrect. Of je bent vergeten om je account te activeren...<br><br><a href=\"?gebruikersnaam=$gebruikersnaam\">Ga terug</a>";
}
else{
$object = mysql_fetch_object($query);
$memberid = $object->memberid;
mysql_query("UPDATE members SET tijd='1' WHERE memberid='$memberid');

$login = 1;
session_register("login");
session_register("memberid");
}
}

if(!$login){
$a = "<form method=\"POST\" action=\"$PHP_SELF\">
  <input type=\"hidden\" name=\"submit\" value=\"1\">
  Naam:<br>
  <input type=\"text\" name=\"gebruikersnaam\" size=\"20\" value=\"$gebruikersnaam\"><br>
  Wachtwoord:<br>
  <input type=\"password\" name=\"wachtwoord\" size=\"20\"><br>
  <input type=\"submit\" value=\"Login\"> <input type=\"reset\" value=\"Aanmelden\"
  onclick=\"document.location.href=('index.php')\">
</form>";
}
?>
<a href="index.php">Verder</a><?
// Op de plaats in je layout waar je het inlogformulier wilt hebben doe je ( echo $a; )
echo $a;
include("htmlbottom.php");
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan