Hallo,

Ben mijn website aan het uitbreiden met een login script voor onze leden (alle gebruikers zijn gekend en zitten in mysql database.

Ik heb een login.php pagina waar de gebruiker (lid) zijn naam moet invoeren en een passwoord. Tot dusver geen probleem. Nu wil ik dit uitbreiden. In mijn database heeft iedereen hetzelfde passwoord. Ik wil dit veranderen/uitbreiden zodat als de gebruikersnaam klopt en men gebruikt het oude passwoord dat men naar de passwordupdate.php pagina wordt doorverwezen. Ik heb al vanalles geprobeerd maar telkens mislukt mijn actie.

In mijn database heb ik een kolom toegevoegd (passwordcheck). dit is een enum veld 0, 1. Als deze waarde = 1 => gebruiker mag inloggen, = deze waarde 0, moet hij dus naar de passwordupdate.php .
(op die pagina komt een update regel die de kolop passwordcheck veranderd van 0 naar 1 (of omgekeerd) en in de kolom password het nieuwe invuld.

Hieronder de checklogin.php
<?php
$host="localhost"; // Host name
$username="xxx"; // Mysql username
$password="xxxxx"; // Mysql password
$db_name="members"; // Database name
$tbl_name="leden"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>


kan iemand me helpen?
Ik zou een ander login script gebruiken. Dit is een nogal oud kant en klaar script.
Met andere woorden in andere loginsystemen kan wel inzitten wat jij wil.
Tom Van Velthoven op 19/05/2011 19:42:23

In mijn database heeft iedereen hetzelfde passwoord. Ik wil dit veranderen/uitbreiden zodat als de gebruikersnaam klopt en men gebruikt het oude passwoord dat men naar de passwordupdate.php pagina wordt doorverwezen.


Lijkt me eenvoudig. Controleer of formulier is verstuurd. Als oude wachtwoord is gebruikt (en dat is voor iedereen gelijk dus kun je hard coderen) dan redirect naar pagina om nieuw ww aan te maken. Daarvoor hoef je toch geen extra veld (met een 1 of 0) aan te maken?

Reageren