Loginscript werkt niet
Pagina: « vorige 1 2 3 4 5 volgende »
Quote:
if(mysql_num_rows($res) == 0){
echo "Gebruikersnaam/wachtwoord foutief."; ?>
<form method='POST'>
Gebruikersnaam: <input style="border:#FF0000 solid 2px;" type='text' name='username' value=" "/><br />
Password: <input style="border:#FF0000 solid 2px;" type='password' name='password' /><br />
<input type='submit' value='Login!' />
</form>
echo "Gebruikersnaam/wachtwoord foutief."; ?>
<form method='POST'>
Gebruikersnaam: <input style="border:#FF0000 solid 2px;" type='text' name='username' value=" "/><br />
Password: <input style="border:#FF0000 solid 2px;" type='password' name='password' /><br />
<input type='submit' value='Login!' />
</form>
Maar ik heb het idee dat dat netter moet kunnen
Gewijzigd op 08/02/2012 20:54:33 door Matthijs Vos
Je maakt dan een compleet nieuwe form aan?
Ja klopt, dat moet volgens mij niet nodig zijn. Maar hoe het wel moet weet ik niet.
Die style = moet je met php een ifje achter zetten. Het is maar een regel die veranderd hoeft te worden, ipv de hele form opnieuw maken
je kan javascript ervoor gebruiken
Dat weet ik, wil ik alleen liever niet omdat je alle gebruikers dan verplicht dit aan te hebben.
@jeroen
Hoe bedoel je??
die op PHP.net, daar staat namelijk dit:
This language construct is equivalent to exit().
Jeroen, het maakt inderdaad geen verschil, zie ook This language construct is equivalent to exit().
maar, heeft tegenwoordig niet iedereen javascript aanstaan? zelfs mobiele gebruikers :P ik denk niet dat het met php kan wat jij precies wilt en omdat dan in dezelfde form te hebben maar misschien ook wel, ik ben het nog niet tegengekomen
Of lees in ieder geval de andere reacties door. jeroen vd geeft in zijn reactie (09/02/2012 21:27:52) aan hoe het is op te lossen.
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
37
38
39
40
41
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
37
38
39
40
41
<?php
require('config.php');
$sytle = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
if (isset($_POST['username'] && trim($_POST['username']) != '' &&
isset($_POST['password'] && trim($_POST['password']) != '')
{
if (($users = mysql_query(
"SELECT username, password FROM project2_members WHERE
username = '" . mysql_real_escape_string($_POST['username']) . "' AND
password = " . mysql_real_escape_string($_POST['password'] . "'"))) == false)
{
die('er is een fout opgetreden. probeert u het opnieuw');
}
else
{
if (mysql_num_rows($users) == 0)
{
echo 'The username/password was not found. ' . $username . $password;
$style = 'style="border:#FF0000 solid 2px;"';
}
else
{
echo 'You have been logged in.';
$_SESSION['loggedin'] = 'true';
$_SESSION['username'] = $_POST['username'];
}
}
}
}
else
{
echo '<form method="post" action="vul_hier_zelf_je_site_in?act=login">
Username: <input ' . $style . ' type="text" name="username"><br>
Password: <input ' . $style . ' type="password" name="password"><br>
<input type="submit" value="login">
</form>';
}
?>
require('config.php');
$sytle = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
if (isset($_POST['username'] && trim($_POST['username']) != '' &&
isset($_POST['password'] && trim($_POST['password']) != '')
{
if (($users = mysql_query(
"SELECT username, password FROM project2_members WHERE
username = '" . mysql_real_escape_string($_POST['username']) . "' AND
password = " . mysql_real_escape_string($_POST['password'] . "'"))) == false)
{
die('er is een fout opgetreden. probeert u het opnieuw');
}
else
{
if (mysql_num_rows($users) == 0)
{
echo 'The username/password was not found. ' . $username . $password;
$style = 'style="border:#FF0000 solid 2px;"';
}
else
{
echo 'You have been logged in.';
$_SESSION['loggedin'] = 'true';
$_SESSION['username'] = $_POST['username'];
}
}
}
}
else
{
echo '<form method="post" action="vul_hier_zelf_je_site_in?act=login">
Username: <input ' . $style . ' type="text" name="username"><br>
Password: <input ' . $style . ' type="password" name="password"><br>
<input type="submit" value="login">
</form>';
}
?>
wachtwoorden plain text opslaan is nooit een goed idee. ga je anders opslaan, moet je dit gaan aanpassen. zie dit topic over hoe wel: klik
Gewijzigd op 10/02/2012 15:31:10 door Jeroen VD
Waarom gebruik je if (isset($_GET['act'])) ? eerder in dit topic werd mij verteld dat if( $_SERVER['REQUEST_METHOD'] === 'POST' ) beter zou zijn
ik pas het even aan.
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
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
<?
require("config.php");
$style = '';
if( $_SERVER['REQUEST_METHOD'] === 'POST' )
{
if (($res = mysql_query(
"SELECT username, password FROM project2_members WHERE
username = '" . mysql_real_escape_string($_POST['username']) . "' AND
password = " . mysql_real_escape_string($_POST['password'] . "'"))) == false)
{
die('er is een fout opgetreden. probeert u het opnieuw');
}
else{
if(mysql_num_rows($res) == 0){
echo "Gebruikersnaam/wachtwoord foutief.";
$style = 'style="border:#FF0000 solid 2px;"';
} else{
echo("U bent ingelogd, u word nu doorgestuurd....");
$_SESSION['loggedin'] = true ;
$_SESSION['username'] = $_POST['username'];
echo '<meta HTTP-EQUIV="REFRESH" content="1; url=http://www.fox-creations.nl/projects/project001/persoonlijke-pagina">';
}
}
}
else{
echo '<form method="post">
Username: <input ' . $style . ' type="text" name="username"><br>
Password: <input ' . $style . ' type="password" name="password"><br>
<input type="submit" value="login">
</form>';
}}
?>
require("config.php");
$style = '';
if( $_SERVER['REQUEST_METHOD'] === 'POST' )
{
if (($res = mysql_query(
"SELECT username, password FROM project2_members WHERE
username = '" . mysql_real_escape_string($_POST['username']) . "' AND
password = " . mysql_real_escape_string($_POST['password'] . "'"))) == false)
{
die('er is een fout opgetreden. probeert u het opnieuw');
}
else{
if(mysql_num_rows($res) == 0){
echo "Gebruikersnaam/wachtwoord foutief.";
$style = 'style="border:#FF0000 solid 2px;"';
} else{
echo("U bent ingelogd, u word nu doorgestuurd....");
$_SESSION['loggedin'] = true ;
$_SESSION['username'] = $_POST['username'];
echo '<meta HTTP-EQUIV="REFRESH" content="1; url=http://www.fox-creations.nl/projects/project001/persoonlijke-pagina">';
}
}
}
else{
echo '<form method="post">
Username: <input ' . $style . ' type="text" name="username"><br>
Password: <input ' . $style . ' type="password" name="password"><br>
<input type="submit" value="login">
</form>';
}}
?>
Maar dit werkt niet. Als ik verkeerd ww intyp krijg ik "Gebruikersnaam/wachtwoord foutief." maar niet het contact formulier met de rode randen.
Obelix en Idefix op 09/02/2012 22:32:56:
@reshadd: als je iets niet weet, reageer dan niet ;-)
Of lees in ieder geval de andere reacties door. jeroen vd geeft in zijn reactie (09/02/2012 21:27:52) aan hoe het is op te lossen.
Of lees in ieder geval de andere reacties door. jeroen vd geeft in zijn reactie (09/02/2012 21:27:52) aan hoe het is op te lossen.
ehm en waar slaat je reactie dan precies op? hij zegt dat het netter kan, ik geef aan dat het naar mijn mening met javascript best netjes kan.. maar hij wil javascript niet gebruiken en ik zeg dat het met php ook zou kunnen maar ik weet alleen niet hoe? dus welk deel is fout?
regel 24 is een refresh, toch? dit kun je vervangen door een header()
en bekijk mijn script is, vergelijk het met die je net gepost hebt, wat valt je op?
Toevoeging op 10/02/2012 15:30:24:
@reshadd: tada, zonder javascript!
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
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
<?
$style = '';
if( $_SERVER['REQUEST_METHOD'] === 'POST' )
{
if (isset($_POST['username']) && trim($_POST['username']) != '' && isset($_POST['password']) && trim($_POST['password'])); {
if (($res = mysql_query(
"SELECT username, password FROM project2_members WHERE
username = '" . mysql_real_escape_string($_POST['username']) . "' AND
password = " . mysql_real_escape_string($_POST['password'] . "'"))) == false)
{
die('er is een fout opgetreden. probeert u het opnieuw');
}
else{
if(mysql_num_rows($res) == 0){
echo "Gebruikersnaam/wachtwoord foutief.";
$style = 'style="border:#FF0000 solid 2px;"';
} else{
echo("U bent ingelogd, u word nu doorgestuurd....");
$_SESSION['loggedin'] = true ;
$_SESSION['username'] = $_POST['username'];
echo '<meta HTTP-EQUIV="REFRESH" content="1; url=http://www.fox-creations.nl/projects/project001/persoonlijke-pagina">';
}
}
}}
echo '<form method="post">
Username: <input ' . $style . ' type="text" name="username"><br>
Password: <input ' . $style . ' type="password" name="password"><br>
<input type="submit" value="login">
</form>';
}
?>
$style = '';
if( $_SERVER['REQUEST_METHOD'] === 'POST' )
{
if (isset($_POST['username']) && trim($_POST['username']) != '' && isset($_POST['password']) && trim($_POST['password'])); {
if (($res = mysql_query(
"SELECT username, password FROM project2_members WHERE
username = '" . mysql_real_escape_string($_POST['username']) . "' AND
password = " . mysql_real_escape_string($_POST['password'] . "'"))) == false)
{
die('er is een fout opgetreden. probeert u het opnieuw');
}
else{
if(mysql_num_rows($res) == 0){
echo "Gebruikersnaam/wachtwoord foutief.";
$style = 'style="border:#FF0000 solid 2px;"';
} else{
echo("U bent ingelogd, u word nu doorgestuurd....");
$_SESSION['loggedin'] = true ;
$_SESSION['username'] = $_POST['username'];
echo '<meta HTTP-EQUIV="REFRESH" content="1; url=http://www.fox-creations.nl/projects/project001/persoonlijke-pagina">';
}
}
}}
echo '<form method="post">
Username: <input ' . $style . ' type="text" name="username"><br>
Password: <input ' . $style . ' type="password" name="password"><br>
<input type="submit" value="login">
</form>';
}
?>
Toevoeging op 10/02/2012 15:55:17:
het komt erop neer dat de form altijd geechot wordt, ook na de verwerking, dus geen reden om accolades eromheen te zetten
Die accolade op regel 33 het stukje script af dat checkt of je niet al bent ingelogd:
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
37
38
39
40
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
37
38
39
40
<?
if (isset($_SESSION['loggedin'])){
header ('location: pagina.php') ;
exit();
}else{
require("config.php");
$style = '';
if( $_SERVER['REQUEST_METHOD'] === 'POST' )
{
if (isset($_POST['username']) && trim($_POST['username']) != '' && isset($_POST['password']) && trim($_POST['password'])); {
if (($res = mysql_query(
"SELECT username, password FROM project2_members WHERE
username = '" . mysql_real_escape_string($_POST['username']) . "' AND
password = " . mysql_real_escape_string($_POST['password'] . "'"))) == false)
{
die('er is een fout opgetreden. probeert u het opnieuw');
}
else{
if(mysql_num_rows($res) == 0){
echo "Gebruikersnaam/wachtwoord foutief.";
$style = 'style="border:#FF0000 solid 2px;"';
} else{
echo("U bent ingelogd, u word nu doorgestuurd....");
$_SESSION['loggedin'] = true ;
$_SESSION['username'] = $_POST['username'];
echo '<meta HTTP-EQUIV="REFRESH" content="1; url=http://www.fox-creations.nl/projects/project001/persoonlijke-pagina">';
}
}
}}
echo '<form method="post">
Username: <input ' . $style . ' type="text" name="username"><br>
Password: <input ' . $style . ' type="password" name="password"><br>
<input type="submit" value="login">
</form>';
}
?>
if (isset($_SESSION['loggedin'])){
header ('location: pagina.php') ;
exit();
}else{
require("config.php");
$style = '';
if( $_SERVER['REQUEST_METHOD'] === 'POST' )
{
if (isset($_POST['username']) && trim($_POST['username']) != '' && isset($_POST['password']) && trim($_POST['password'])); {
if (($res = mysql_query(
"SELECT username, password FROM project2_members WHERE
username = '" . mysql_real_escape_string($_POST['username']) . "' AND
password = " . mysql_real_escape_string($_POST['password'] . "'"))) == false)
{
die('er is een fout opgetreden. probeert u het opnieuw');
}
else{
if(mysql_num_rows($res) == 0){
echo "Gebruikersnaam/wachtwoord foutief.";
$style = 'style="border:#FF0000 solid 2px;"';
} else{
echo("U bent ingelogd, u word nu doorgestuurd....");
$_SESSION['loggedin'] = true ;
$_SESSION['username'] = $_POST['username'];
echo '<meta HTTP-EQUIV="REFRESH" content="1; url=http://www.fox-creations.nl/projects/project001/persoonlijke-pagina">';
}
}
}}
echo '<form method="post">
Username: <input ' . $style . ' type="text" name="username"><br>
Password: <input ' . $style . ' type="password" name="password"><br>
<input type="submit" value="login">
</form>';
}
?>
wordt wel het form geechot, na het verkeerd inloggen? maar zonder rode randen?
nee, krijg alleen die echo