Loginscript problemen
Ik heb geprobeerd om daar een log-in scriptje bij te schrijven. Ik wil het formulier en de controle in 1 pagina hebben. Nu geeft hij bij het openen van de pagina al aan dat er een fout wachtwoord is ingevoerd. Wachtwoord en gebruikersnaam staan in het bestandje password.inc
########password.inc###############
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?
$username = "username";
$password = "password"
########login.php##################
<html>
<head>
<title>Untitled Document</title>
<link href="file:///D|/phpdev/www/design.css" rel="stylesheet" type="text/css">
</head>
<body>
<h1>Login voor Xbox Masters Content Management</h1>
<form method=post action="login.php">
<p align="center">Gebruikersnaam:
<input type=text name="test_username" size=24></p>
<p align="center"> Wachtwoord:
<input type=password name="test_password" size=20></p>
<p align="center"><input type="submit" value="login" name="login"></p>
</form>
[code]<?
include ('D:/phpdev/www/includes/password.inc');
if (($username == $test_username) AND ($password == $test_password))
{
echo ("Je wordt doorgestuurd naar de admin pagina");
}
else
{
echo ("foute wachtwoord ingevoerd");
}
?>
</body>
</html>
$username = "username";
$password = "password"
########login.php##################
<html>
<head>
<title>Untitled Document</title>
<link href="file:///D|/phpdev/www/design.css" rel="stylesheet" type="text/css">
</head>
<body>
<h1>Login voor Xbox Masters Content Management</h1>
<form method=post action="login.php">
<p align="center">Gebruikersnaam:
<input type=text name="test_username" size=24></p>
<p align="center"> Wachtwoord:
<input type=password name="test_password" size=20></p>
<p align="center"><input type="submit" value="login" name="login"></p>
</form>
[code]<?
include ('D:/phpdev/www/includes/password.inc');
if (($username == $test_username) AND ($password == $test_password))
{
echo ("Je wordt doorgestuurd naar de admin pagina");
}
else
{
echo ("foute wachtwoord ingevoerd");
}
?>
</body>
</html>
Ontopic:
Je zet een vergelijking op. $username == $test_username. Ik zie alleen een $username gedeclareerd via password.inc. Hoe is $test_username gedeclareerd?
Elwin
<html>
<head>
<title>Untitled Document</title>
<link href="file:///D|/phpdev/www/design.css" rel="stylesheet" type="text/css">
</head>
<body>
<h1>Login voor Xbox Masters Content Management</h1>
<form method=post action="login.php">
<p align="center">Gebruikersnaam:
<input type=text name="test_username" size=24></p>
<p align="center"> Wachtwoord:
<input type=password name="test_password" size=20></p>
<p align="center"><input type="submit" value="login" name="login"></p>
</form>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
}else{
$test_username = $_POST["test_username"];
$test_password = $_POST["test_password"]:
//waarom verwijs je naar een HDD? als je hem nu online zet krijg je problemen.
include ('D:/phpdev/www/includes/password.inc');
if (($username == $test_username) && ($password == $test_password))
{
echo ("Je wordt doorgestuurd naar de admin pagina");
}
else
{
echo ("foute wachtwoord ingevoerd");
}
?>
}else{
$test_username = $_POST["test_username"];
$test_password = $_POST["test_password"]:
//waarom verwijs je naar een HDD? als je hem nu online zet krijg je problemen.
include ('D:/phpdev/www/includes/password.inc');
if (($username == $test_username) && ($password == $test_password))
{
echo ("Je wordt doorgestuurd naar de admin pagina");
}
else
{
echo ("foute wachtwoord ingevoerd");
}
?>
</body>
</html
Maar goed:
Quote:
$test_username = $_POST["test_username"];
$test_password = $_POST["test_password"]:
$test_password = $_POST["test_password"]:
Dat zag ik in je openingspost niet staan... Daarom vroeg ik het me ook af...
Quote:
//waarom verwijs je naar een HDD? als je hem nu online zet krijg je problemen.
Problemen? Welke? Hoe? Je kan toch iets gewoon online zetten? Desnoods op een subdomein of een map /test, beveiligd met een wachtwoord...
Wat ik me ook afvraag: waarom zet je de gebruikersnaam en wachtwoord in een ander bestand die je gewoon include. Waarom zet je die variabelen niet gelijk in de eerste code?
(Kan het me voorstellen als je het over meerdere pagina's nodig hebt)
En dan je vergelijking.. je nest in de haakjes. Is dat nodig? Volgens mij moet het 'gewoon' zo:
Elwin
[Edit: Ik zag al dat me naam verkeerd was en alsnog verzend ik het formulier.. :S]
Gewijzigd op 08/04/2004 22:19:00 door Elwin - Fratsloos
op www.phpfreakz.nl reageerde niemand. :D
In deze regel kreeg ik een parse error:
Parse error: parse error, expecting `']" in d:\phpdev\www\admin\login.php on line 6
Nadat ik die dingen had toegevoegd:
if ((!isset($_POST['test_username`']")) || ((!isset($_POST['test_password`']")){
kreeg ik weer een parse error:
Parse error: parse error, expecting `','' or `')'' in d:\phpdev\www\admin\login.php on line 6
Nu weet ik het ook niet meer welke tekens er fout zijn in die regel.
if (!isset($_POST["test_username"])) || (!isset($_POST["test_password"])) {...}
Dit is het hele script, kan er nog wat anders zijn wat de fout veroorzaakt?
<html>
<head>
</head>
<body>
<h1>Login voor Xbox Masters Content Management</h1>
<form method=post action="login.php">
<p align="center">Gebruikersnaam:
<input type=text name="test_username" size=24></p>
<p align="center"> Wachtwoord:
<input type=password name="test_password" size=20></p>
<p align="center"><input type="submit" value="login" name="login"></p>
</form>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
}else{
$test_username = $_POST["test_username"];
$test_password = $_POST["test_password"]:
include ('D:/phpdev/www/includes/password.inc');
if (($username == $test_username) && ($password == $test_password))
{
echo ("Je wordt doorgestuurd naar de admin pagina");
}
else
{
echo ("foute wachtwoord ingevoerd");
}
?>
}else{
$test_username = $_POST["test_username"];
$test_password = $_POST["test_password"]:
include ('D:/phpdev/www/includes/password.inc');
if (($username == $test_username) && ($password == $test_password))
{
echo ("Je wordt doorgestuurd naar de admin pagina");
}
else
{
echo ("foute wachtwoord ingevoerd");
}
?>
</body>
</html>
Gewijzigd op 13/04/2004 16:05:00 door Rick te Brake
<head>
</head>
<body>
<h1>Login voor Xbox Masters Content Management</h1>
<form method=post action="login.php">
<p align="center">Gebruikersnaam:
<input type=text name="test_username" size=24></p>
<p align="center"> Wachtwoord:
<input type=password name="test_password" size=20></p>
<p align="center"><input type="submit" value="login" name="login"></p>
</form>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
}else{
$test_username = $_POST["test_username"];
$test_password = $_POST["test_password"];
//waarom verwijs je naar een HDD? als je hem nu online zet krijg je problemen.
include ('D:/phpdev/www/includes/password.inc');
if (($username == $test_username) && ($password == $test_password))
{
echo ("Je wordt doorgestuurd naar de admin pagina");
}
else
{
echo ("foute wachtwoord ingevoerd");
}
}
?>
}else{
$test_username = $_POST["test_username"];
$test_password = $_POST["test_password"];
//waarom verwijs je naar een HDD? als je hem nu online zet krijg je problemen.
include ('D:/phpdev/www/includes/password.inc');
if (($username == $test_username) && ($password == $test_password))
{
echo ("Je wordt doorgestuurd naar de admin pagina");
}
else
{
echo ("foute wachtwoord ingevoerd");
}
}
?>
</body>
</html>