Hallo iedereen :)
Ik heb een vraag(je).
Ik ben bezig met een loginform te maken, met een database.
Maar ik stoot op een klein probleem. Hij wil namelijk niet inloggen.
hier mijn code:



                <article id="login">                  
                        
                   	<?php
						if(isset($_POST['submit'])){
							$Gebruikersnaam = $_POST['username']; //Variable aanmaken voor het ingegeven gebruikersnaam.
							$Wachtwoord = $_POST['password']; //Variable aanmaken voor het ingegeven wachtwoord.
							
							// Beveiliging tegen Mysql injection.
							$Gebruikersnaam = stripslashes($Gebruikersnaam);
							$Wachtwoord = stripslashes($mypassword);
							$Gebruikersnaam = mysql_real_escape_string($Gebruikersnaam);
							$Wachtwoord = mysql_real_escape_string($Wachtwoord);
							$sql="SELECT * FROM Gebruikers WHERE Gebruikersnaam=".$Gebruikersnaam." and Wachtwoord=".$Wachtwoord."";
							$result=mysql_query($sql);
							
							// Aantal records tellen
							$count=mysql_num_rows($result);
							
							// Kiijk of er 1 rij overeen komt.
							if($count==1){
							
							// Registreren van Gebruikersnaam en Wachtwoord en doorverwijzen naar de login_succes.php
							session_register("Gebruikersnaam");
							session_register("Wachtwoord"); 
							header("location:login_success.php");
							}
							else {
								echo "Oeps er ging iets mis. Gelieve de juiste login gegevens in te geven.";
								echo "U wordt terug gestuurd naar de login pagina.";
								echo '<meta http-equiv="refresh" content="5;url=login.php" />';
							}
							}else{
							disconnectfromdb();
								?>
							<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
								<p>Gebruikersnaam:</p>
									<input id="name" name="username" placeholder="Gebruikersnaam" type="text">
								<p>Wachtwoord:</p>
									<input id="password" name="password" placeholder="**********" type="password"><br />
									<input name="submit" type="submit" value=" Login" />
                       		</form>
								<?php
							}
					?>
                        
                </aricle>



Iemand die mij kan vertellen, waarom ik steeds de foutmelding krijg, en niet kan worden doorgestuurd naar de login_succes.php ?

Alvast bedankt :)





Bedankt!
T'is gelukt!
Maar met die hash256 snap ik niet goed hoe ik dat moet toepassen.
Moet ik gewoon in mijn php code die has256 toepassen zoals je in je vorige reactie zei?
Want in mijn mysql database zelf vind ik nergens dat die kan opgeslagen worden als hash256.
SHA256 is 256bit groot. Dus Een varchar van 64 zal voldoende zijn.
Okay bedankt :)
Eens zien of het zo lukt :)
Je doet gewoon het volgende om jouw wachtwoorden in een sleutel in de database te zetten:

Stel jij hebt password '1234'.

vul die 1234 in het scriptje hieronder in en bekijk het resultaat in de browser
<?php

$sleutel = hash('sha256', '1234');

echo $sleutel;

?>

Kopieer de sleutel die je in de browser ziet en ga naar je wachtwoord veld in phpmyadmin

Vervang het oude wachtwoord voor de nieuwe

p.s. je wachtwoordveld moet je gewoon op varchar zetten met een lengte van 64.


[size=xsmall]Toevoeging op 21/12/2014 14:57:30:[/size]

dan je query bij het inlogggen:

<?php
$sql="SELECT * FROM Gebruikers WHERE Gebruikersnaam=".$Gebruikersnaam." and Wachtwoord=".hash('sha256', $Wachtwoord);
?>
256 bits = 32 bytes

Dus VARCHAR255 is erg overdreven ;-)
Dank je Aar ik heb het aangepast.

Het is 64 bytes blijkt na een strlen()

                            $Gebruikersnaam = $_POST['username'];


Volgens mij moet dit ijn :


                            $Gebruikersnaam = $_POST['name'];


Dit soort problemen is te voorkomen door de veld-name en de veld-id zoveel mogelijk gelijk te houden. (Dit kan niet altijd, bij radiobuttons bijv. gaat dit niet)
Beter schrap je die hele lijn, het wekt alleen verwarring op.
Je kan $_POST['username'] en $_POST['password'] al direct gebruiken nadat je je formulier gesubmitted hebt.
Ik las laatst de term KISS:

Keep it short & simple

Reageren