Hallo,
ik ben echt al een aantal dagen bezig met een login systeem en wat ik ook doe telkens krijg ik weer een andere error! Nu ben ik zover dat ik geen errors meer krijg maar ik kan ook niet inloggen. Het maakt niet uit of ik het juiste wacht woord invul hij knalt hem telkens naar wrong pass or user.
Ik wordt er debiel van
<?php
include_once("connect.php") ;


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

// To protect MySQL injection (more detail about MySQL injection)
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);

$sql="SELECT * FROM admis WHERE username='$username' and password='$password'";
$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("username");
session_register("password");
header("location:admin.php");
}
else {
echo "Wrong Username or Password";
}
?>
Afra schreef op 20.05.2009 13:26
Ligt het nou aan mij, of is de toepassing van stripslashes in combinatie met mysql_real_escape_string in de posts hierboven een beetje vreemd. Bij het registratie formulier zorg je altijd eerst dat eventuele slashes toegevoegd door magic quotes worden weggehaald, dmv stripslashes, daarna pas je mysql_real_escape_string toe, en díe waarde wordt toegevoegd in de database.

Correct.
nick schreef op 20.05.2009 13:45
Mijn vraag is of het BETER functioneerd. Waarom iets werkends vervangen met iets waarvan je het voordeel niet in ziet.

Beter? Het wordt gewoon afgeschaft.
Afra schreef op 20.05.2009 13:53

Vrees voor de dag dat alle programmeurs gaan zeggen: "ja, maar het werkt toch, waarom zou ik het verbeteren?"


OKeej ik ben overtuigd maar ga het niet meer vandaag aanpassen want dan doe ik straks nog iets stoms zoals mn pc uit het raam flikkeren ofzo.

"*Zeer Slecht humeur vandaag"
rvw schreef op 20.05.2009 11:24
// username and password sent from form
$username=$_POST['username'];
$password=$_POST['password'];

na dit ben ik al gestopt met lezen
Waarom kopieer je vars ?

nou ja toch maar ff verder gelezen:
<?
$username=$_POST['username'];
$password=$_POST['password'];

// To protect MySQL injection (more detail about MySQL injection)
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
?>
word:
<?
// To protect MySQL injection (more detail about MySQL injection)
$_POST['username'] = stripslashes(mysql_real_escape_string($_POST['username']));
$_POST['password'] = stripslashes(mysql_real_escape_string($_POST['password']));
?>


en dan ga ik nu je vraag lezen :)
<?
$sql="SELECT * FROM admis WHERE username='$username' and password='$password'";
?>
word:
<?
$sql="SELECT * FROM admis WHERE username='" . $_POST['username'] . "' and password='" . $_POST['password'] . "'";
?>

en waar is je fout afhandeling ?

dit script is nog lang niet klaar !

kortom dit script is KUT(kwalitatief uitermate teleurstellend)

En jou fouten verbetering ook.

Je merkt niet op dat het eerst real_escape_string is, daarna nog eens stripslashes, en dat allemaal op een variable waarvan je niet weet of hij bestaat, en dat allemaal gooi je in een global, dus mocht er wat mis gaan in 1 van die 2 functies, is je basis variable foetsie, niet meer op te halen.

iltar van der berg schreef op 20.05.2009 14:12

Je merkt niet op dat het eerst real_escape_string is, daarna nog eens stripslashes



zoals ik dus ook al zei
Afra schreef op 20.05.2009 14:20
[quote='iltar van der berg schreef op 20.05.2009 14:12']
Je merkt niet op dat het eerst real_escape_string is, daarna nog eens stripslashes



zoals ik dus ook al zei[/quote]

Ah daar heb ik overheen gekeken, mijn excuses
iltar van der berg schreef op 20.05.2009 14:12



klopt heb niet alles gezien.

Reageren