Nieuw lid |
|
Ik kreeg van iemand een script dat zou werken om om als je inlogd te tonen of je gebruikersnaam al in de db staat die je hebt ingevuld of dat je wachtwoord fout is of allebei
nou is hier het script
<?php
session_start();
include("mysql.php");
if (!empty($_POST)){ //test of er informatie binnen is gekomen
$username = $_POST["username"];
$wachtwoord = $_POST["wachtwoord"];
$query = "SELECT *
FROM gebruiker
WHERE username='".$username."'
AND hash=PASSWORD('".$wachtwoord."')";
// echo($query); hier kun je eventueel de query naar het scherm schrijven voor debugging
// exit; deze exit heb je dan nodig zodat je de query ook op je scherm ziet
$result = mysql_query($query) or die(mysql_error()); // query naar database opsturen
// controleren of het gelukt is
if(mysql_num_rows($result) == 1) {
$regel = mysql_fetch_array($result);
// de $_SESSION blijft bestaan zolang de client op je website blijft.
// De server houdt dat bij.
$_SESSION['username'] = $regel['username']; // dit zijn sessievariabelen voor
$_SESSION['voornaam'] = $regel['voornaam']; // gebruik in verschillende paginas
$_SESSION['achternaam'] = $regel['achternaam'];
$_SESSION['level'] = $regel['ulevel'];
header("Location: index.php?id=10"); // login gelukt. ga door naar ...
} else
$wachtwoorddb = mysql_query("SELECT hash from gebruiker WHERE username='$username'");
$wwcheck = mysql_result($wachtwoorddb, 0);
if($wwcheck != $wachtwoord){
echo "Het wachtwoord is onjuist";}
else
$usernamedb = mysql_query("SELECT username from gebruiker WHERE username='$username'");
$usercheck = mysql_result($usernamedb, 0);
if($usercheck != $username){
echo "gebruiker bestaat niet";}
}
?>
<br />
<br />
<h3>Inloggen:</h3>
<hr />
<form method="post" action="index.php?id=6">
<table>
<tr>
<td>Username:</td><td><input name="username" type="text" /></td>
</tr>
<tr>
<td>Password:</td><td><input name="wachtwoord" type="password" /></td>
</tr>
</table>
<p>
<input type="submit" name="Submit" value="Inloggen" />
</p>
</form>
<a href="index.php?id=16">Hier aanmelden</a>
<?php include("mysql.php"); if (!empty($_POST)){ //test of er informatie binnen is gekomen $username = $_POST["username"]; $wachtwoord = $_POST["wachtwoord"]; $query = "SELECT * FROM gebruiker WHERE username='".$username."' AND hash=PASSWORD('".$wachtwoord."')"; // echo($query); hier kun je eventueel de query naar het scherm schrijven voor debugging // exit; deze exit heb je dan nodig zodat je de query ook op je scherm ziet // controleren of het gelukt is // de $_SESSION blijft bestaan zolang de client op je website blijft. // De server houdt dat bij. $_SESSION['username'] = $regel['username']; // dit zijn sessievariabelen voor $_SESSION['voornaam'] = $regel['voornaam']; // gebruik in verschillende paginas $_SESSION['achternaam'] = $regel['achternaam']; $_SESSION['level'] = $regel['ulevel']; header("Location: index.php?id=10"); // login gelukt. ga door naar ... } else $wachtwoorddb = mysql_query("SELECT hash from gebruiker WHERE username='$username'"); if($wwcheck != $wachtwoord){ echo "Het wachtwoord is onjuist";} else $usernamedb = mysql_query("SELECT username from gebruiker WHERE username='$username'"); if($usercheck != $username){ echo "gebruiker bestaat niet";} } ?> <br /> <br /> <h3>Inloggen:</h3> <hr /> <form method="post" action="index.php?id=6"> <table> <tr> <td>Username:</td><td><input name="username" type="text" /></td> </tr> <tr> <td>Password:</td><td><input name="wachtwoord" type="password" /></td> </tr> </table> <p> <input type="submit" name="Submit" value="Inloggen" /> </p> </form> <a href="index.php?id=16">Hier aanmelden</a>
het gaat om het stukje net boven het einde van het php deel
als je kijkt op http://sonnyrei...x.php?id=6
en inlogd met a/a dan kan je inloggen maar als je een verschillende username en pass invult dan geeft die errors weer ook als de username al bestaat kan iemand mij hierbij helpen?
hij moet dus weergeven als je een goede username gebruikt en een verkeerd wachtwoord dat het wachtwoord alleen fout is
en als bijde fout zijn dan moet die zeggen dat beide fout zijn
|