Inlog script met mysql vraag
ik ben bezig met een inlog script en gistere werkte hij perfect maar vandaag probeerde ik weer in te loggen en hij deed het niet hij gaf gelijk de error aan voor als je je naam verkeerd hebt ingevuld of het wachtwoord terwijl die wel kloppen met me database zouden jullie me mischien willen helpen?
dit is de script
Quote:
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
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
<?php
session_start();
include("config.php");
// kijke of hij de login wilt
if (!empty($_POST[username]))
{
require_once("contactdb.php");
// kijke of de info goed is
$query = mysql_query("SELECT * FROM usersG
WHERE username = '$_POST[username]'
AND password = '$_POST[password]'")
or die ("Error - De door u ingevulde gegevens zijn fout.");
$row = mysql_fetch_array($query)
or die ("Error - De door u ingevulde gegevens zijn fout.");
if (!empty($row[username])) // hij heeft t
{
$_SESSION[username] = $row[username];
$_SESSION[type] = $row[type];
echo "Welkom $_SESSION[type] $_POST[username]! U bent nu ingelogd.<BR><BR> Klik <a href='home.php'><b>hier</b></a> om terug te gaan of wacht enkele seconden.";
header ('refresh: 3; url=home.php');
exit();
}
else // verkeerde info
{
echo "Error - De door u ingevulde gegevens zijn fout.<br /><br />
Probeer opnieuw.";
exit();
}
}
?>
session_start();
include("config.php");
// kijke of hij de login wilt
if (!empty($_POST[username]))
{
require_once("contactdb.php");
// kijke of de info goed is
$query = mysql_query("SELECT * FROM usersG
WHERE username = '$_POST[username]'
AND password = '$_POST[password]'")
or die ("Error - De door u ingevulde gegevens zijn fout.");
$row = mysql_fetch_array($query)
or die ("Error - De door u ingevulde gegevens zijn fout.");
if (!empty($row[username])) // hij heeft t
{
$_SESSION[username] = $row[username];
$_SESSION[type] = $row[type];
echo "Welkom $_SESSION[type] $_POST[username]! U bent nu ingelogd.<BR><BR> Klik <a href='home.php'><b>hier</b></a> om terug te gaan of wacht enkele seconden.";
header ('refresh: 3; url=home.php');
exit();
}
else // verkeerde info
{
echo "Error - De door u ingevulde gegevens zijn fout.<br /><br />
Probeer opnieuw.";
exit();
}
}
?>
Quote:
Code (php)
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
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
<?php
if (isset($_SESSION['username']))
{
echo"U bent ingelogd";
}
else
{
echo'
<table>
<tr>
</span><span class="style2"><span class="style13"><form action="index.php" method="post"><table width="75%" border="0" align= "center" cellpadding="3" cellspacing="1">
<h2>Inloggen</h2>
</tr>
<tr>
<td width="100%"><label><span class="style14">Gebruikersnaam: </span>
<input type="text" name="username" size="25" value=""></label></td>
</tr>
<tr>
<td width="100%"><label><span class="style14">Wachtwoord: </span>
<input type="password" name="password" size="25" value=""></label></td>
</tr>
<tr>
<td width="100%"><input type="submit" value="Login!"><a href="register.php">Of Registreer hier.</a></td>
</tr>
</table>
';
}
?>
if (isset($_SESSION['username']))
{
echo"U bent ingelogd";
}
else
{
echo'
<table>
<tr>
</span><span class="style2"><span class="style13"><form action="index.php" method="post"><table width="75%" border="0" align= "center" cellpadding="3" cellspacing="1">
<h2>Inloggen</h2>
</tr>
<tr>
<td width="100%"><label><span class="style14">Gebruikersnaam: </span>
<input type="text" name="username" size="25" value=""></label></td>
</tr>
<tr>
<td width="100%"><label><span class="style14">Wachtwoord: </span>
<input type="password" name="password" size="25" value=""></label></td>
</tr>
<tr>
<td width="100%"><input type="submit" value="Login!"><a href="register.php">Of Registreer hier.</a></td>
</tr>
</table>
';
}
?>
Wat staat er in de query (regel 10) als je hem echoot naar het scherm? Klopt het dan met wat je verwacht?
Toevoeging op 02/11/2010 18:40:59:
maar nu ik die echo weer weg heb gehaald dan doet hij het weer :| best wel vaag maar tog bedankt dat je me wou helpen
Zorg voor controle op de input van je script.
Wees consequent <BR> en <br /> door elkaar.
Haal variabelen buiten quotes.
Is bovenstaande 1 script? Waarom dan steeds < ?php openen en sluiten?
Gewijzigd op 02/11/2010 18:46:15 door Obelix Idefix
omdat de eerste script boven me head staat en derest kan eigenlijk wel bij elkaar
je script is ook lek, sql injection
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
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
<?php
# Sessie starten
session_start();
# DB Connectie maken
include('config.php');
# Forumulier verzonden
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
# Gebruikersnaam, wachtwoord ingevult?
if( empty( $_POST['gebruikersnaam'] ) )
{
$errors[] = '';
}
if( empty( $_POST['wachtwoord'] ) )
{
$errors[] = '';
}
# Errors?
if( !isset( $errors ) )
{
# Query + Check of query is gelukt e.d.
}
else
{
# Errors weergeven
foreach( $errors as $error )
{
echo $error.'<br />';
}
}
}
else
{
# Formulier
}
?>
# Sessie starten
session_start();
# DB Connectie maken
include('config.php');
# Forumulier verzonden
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
# Gebruikersnaam, wachtwoord ingevult?
if( empty( $_POST['gebruikersnaam'] ) )
{
$errors[] = '';
}
if( empty( $_POST['wachtwoord'] ) )
{
$errors[] = '';
}
# Errors?
if( !isset( $errors ) )
{
# Query + Check of query is gelukt e.d.
}
else
{
# Errors weergeven
foreach( $errors as $error )
{
echo $error.'<br />';
}
}
}
else
{
# Formulier
}
?>
Gewijzigd op 03/11/2010 09:36:26 door Milo S
Kijk ook eens naar: mysql_real_escape_string()
want dit:
Code (php)
1
2
3
2
3
$query = mysql_query("SELECT * FROM usersG
WHERE username = '$_POST[username]'
AND password = '$_POST[password]'")
WHERE username = '$_POST[username]'
AND password = '$_POST[password]'")
kan echt niet. Je sluit de regel niet af met ;
en je moet nooit $_ => POST, GET, REQUEST, SESSION in je query zetten!
Gewijzigd op 02/11/2010 21:23:39 door Bas IJzelendoorn
Milo S op 02/11/2010 20:54:50:
Je script klopt van geen kanten, gebruik het volgende als basis. Als je wat beter zoekt hier vind je kant en klare login scripts in het forum die perfect zijn! Bijna allemaal zo'n opbouw.
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
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
<?php
# Sessie starten
session_start();
# DB Connectie maken
include('config.php');
# Forumulier verzonden
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
# Gebruikersnaam, wachtwoord ingevult?
if( empty( $_POST['gebruikersnaam'] ) )
{
$errors[] = '';
}
if( empty( $_POST['wachtwoord'] ) )
{
$errors[] = '';
}
# Errors?
if( isset( $erros ) )
{
# Query + Check of query is gelukt e.d.
}
else
{
# Errors weergeven
foreach( $errors as $error )
{
echo $error.'<br />';
}
}
}
else
{
# Formulier
}
?>
# Sessie starten
session_start();
# DB Connectie maken
include('config.php');
# Forumulier verzonden
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
# Gebruikersnaam, wachtwoord ingevult?
if( empty( $_POST['gebruikersnaam'] ) )
{
$errors[] = '';
}
if( empty( $_POST['wachtwoord'] ) )
{
$errors[] = '';
}
# Errors?
if( isset( $erros ) )
{
# Query + Check of query is gelukt e.d.
}
else
{
# Errors weergeven
foreach( $errors as $error )
{
echo $error.'<br />';
}
}
}
else
{
# Formulier
}
?>
oke dankjewel zal dese ff probere
Post je eind resultaat ook even dan kunnen we je wijzen op eventuele fouten...
Milo S op 02/11/2010 21:31:41:
Post je eind resultaat ook even dan kunnen we je wijzen op eventuele fouten...
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<?php
# Sessie starten
session_start();
# DB Connectie maken
include('contactdb.php');
# Forumulier verzonden
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
# Gebruikersnaam, wachtwoord ingevult?
if( empty( $_POST['username'] ) )
{
$errors[] = 'Je bent je gebruikernaam vergeten.';
}
if( empty( $_POST['password'] ) )
{
$errors[] = 'Je bent je wachtwoord vergeten.';
}
# Errors?
if( isset( $erros ) )
{
$query = mysql_query("SELECT * FROM usersG
WHERE username = '$_POST[username]'
AND password = '$_POST[password]'")
or die ("Error - De door u ingevulde gegevens zijn fout.");
$row = mysql_fetch_array($query)
or die ("Error - De door u ingevulde gegevens zijn fout.");# Query + Check of query is gelukt e.d.
if (isset($_SESSION['username']))
{
echo"U bent ingelogd";
}
}
else
{
echo'
<table>
<tr>
</span><span class="style2"><span class="style13"><form action="index.php" method="post"><table width="75%" border="0" align= "center" cellpadding="3" cellspacing="1">
<h2>Inloggen</h2>
</tr>
<tr>
<td width="100%"><label><span class="style14">Gebruikersnaam: </span>
<input type="text" name="username" size="25" value=""></label></td>
</tr>
<tr>
<td width="100%"><label><span class="style14">Wachtwoord: </span>
<input type="password" name="password" size="25" value=""></label></td>
</tr>
<tr>
<td width="100%"><input type="submit" value="Login!"><a href="register.php">Of Registreer hier.</a></td>
</tr>
</table>
';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Goodfellas</title>
<style type="text/css">
<!--
body {
background-color: #000;
}
body,td,th {
color: #FFF;
}
-->
</style></head>
<body>
<center>
<p> </p>
<form id="form1" name="form1" method="post" action="">
<p> You know, we always called each other GoodFellas. Like you'd say to somebody: Your're gonna like this guy; he's alright.</p>
<p>He's a good fella. He's one of us.You understand? <br />
".We were GoodFellas; wiseguys."</p>
<p><img src="goodfella.gif" width="320" height="135" />
</p>
<p> </p>
<?php
// status bekijken
if (!empty($_SESSION[username])) // hij heeft t
{
echo "U bent ingelogd als, <b>$_SESSION[username]</b>.";
}
else // verkeerde info
{
}
?>
<?php
if (isset($_SESSION['username']))
{
echo' <BR><BR><a href="logout.php">Uitloggen</a></span></span></td><br />
<br />
<br />
<br />
<br />
<br />
<br />
';
}
else
{
}?>
</p>
<p><u>Vragen / Wachtwoord Vergeten ?</u> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<embed src="Goodfellas.mp3" width="350" height="45" autostart="true" > </embed><br/> <br/> <br/>
<br/>
</form>
</color>
</center>
</body>
</html>
# Sessie starten
session_start();
# DB Connectie maken
include('contactdb.php');
# Forumulier verzonden
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
# Gebruikersnaam, wachtwoord ingevult?
if( empty( $_POST['username'] ) )
{
$errors[] = 'Je bent je gebruikernaam vergeten.';
}
if( empty( $_POST['password'] ) )
{
$errors[] = 'Je bent je wachtwoord vergeten.';
}
# Errors?
if( isset( $erros ) )
{
$query = mysql_query("SELECT * FROM usersG
WHERE username = '$_POST[username]'
AND password = '$_POST[password]'")
or die ("Error - De door u ingevulde gegevens zijn fout.");
$row = mysql_fetch_array($query)
or die ("Error - De door u ingevulde gegevens zijn fout.");# Query + Check of query is gelukt e.d.
if (isset($_SESSION['username']))
{
echo"U bent ingelogd";
}
}
else
{
echo'
<table>
<tr>
</span><span class="style2"><span class="style13"><form action="index.php" method="post"><table width="75%" border="0" align= "center" cellpadding="3" cellspacing="1">
<h2>Inloggen</h2>
</tr>
<tr>
<td width="100%"><label><span class="style14">Gebruikersnaam: </span>
<input type="text" name="username" size="25" value=""></label></td>
</tr>
<tr>
<td width="100%"><label><span class="style14">Wachtwoord: </span>
<input type="password" name="password" size="25" value=""></label></td>
</tr>
<tr>
<td width="100%"><input type="submit" value="Login!"><a href="register.php">Of Registreer hier.</a></td>
</tr>
</table>
';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Goodfellas</title>
<style type="text/css">
<!--
body {
background-color: #000;
}
body,td,th {
color: #FFF;
}
-->
</style></head>
<body>
<center>
<p> </p>
<form id="form1" name="form1" method="post" action="">
<p> You know, we always called each other GoodFellas. Like you'd say to somebody: Your're gonna like this guy; he's alright.</p>
<p>He's a good fella. He's one of us.You understand? <br />
".We were GoodFellas; wiseguys."</p>
<p><img src="goodfella.gif" width="320" height="135" />
</p>
<p> </p>
<?php
// status bekijken
if (!empty($_SESSION[username])) // hij heeft t
{
echo "U bent ingelogd als, <b>$_SESSION[username]</b>.";
}
else // verkeerde info
{
}
?>
<?php
if (isset($_SESSION['username']))
{
echo' <BR><BR><a href="logout.php">Uitloggen</a></span></span></td><br />
<br />
<br />
<br />
<br />
<br />
<br />
';
}
else
{
}?>
</p>
<p><u>Vragen / Wachtwoord Vergeten ?</u> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<embed src="Goodfellas.mp3" width="350" height="45" autostart="true" > </embed><br/> <br/> <br/>
<br/>
</form>
</color>
</center>
</body>
</html>
Het is niet gelukt ik ben ook niet zo goed in php maar als ik naar me page ga dan zie ik me gebruikersnaam en wachtwoord balk en knop niet
Gebruik code-tags voor het overzichtelijk weergeven van je code[/modedit]
Gewijzigd op 02/11/2010 22:43:07 door Joren de Wit
Bekijk dat gegeven script eens goed. Daar staat correcte php in. Jij hebt in jouw stukje weer veel syntax onjuiste php staan. Verder is je html volgorde helemaal onjuist.
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
42
43
44
45
46
47
48
49
50
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
42
43
44
45
46
47
48
49
50
<?php
# Sessie starten
session_start();
# DB Connectie maken
include('config.php');
# Forumulier verzonden
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
# Gebruikersnaam, wachtwoord ingevult?
if( empty( $_POST['username'] ) )
{
$errors[] = 'U bent uw gebruikernaam vergeten in te vullen.';
}
if( empty( $_POST['password'] ) )
{
$errors[] = 'U bent uw wachtwoord vergeten in te vullen.';
}
# Errors?
if( !isset( $errors ) )
{
}
else
{
foreach( $errors as $error )
{
echo $error.'<br />';
}
}
}
else
{
echo '
<form action="" method="post">
<label></label>
<input name="username" type="text" />
<label></label>
<input name="password" type="password" />
<input type="submit" value="Inloggen" />
</form>
';
}
?>
# Sessie starten
session_start();
# DB Connectie maken
include('config.php');
# Forumulier verzonden
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
# Gebruikersnaam, wachtwoord ingevult?
if( empty( $_POST['username'] ) )
{
$errors[] = 'U bent uw gebruikernaam vergeten in te vullen.';
}
if( empty( $_POST['password'] ) )
{
$errors[] = 'U bent uw wachtwoord vergeten in te vullen.';
}
# Errors?
if( !isset( $errors ) )
{
}
else
{
foreach( $errors as $error )
{
echo $error.'<br />';
}
}
}
else
{
echo '
<form action="" method="post">
<label></label>
<input name="username" type="text" />
<label></label>
<input name="password" type="password" />
<input type="submit" value="Inloggen" />
</form>
';
}
?>
Weg met al die html! Eerst even gewoon een net php scriptje. Probeer je query er zelf in te bouwen! Vergeet or die(); en maak een goede foutafhandeling. Ook is het beter als je je formulier met css opmaakt en niet een tabel, dus houd het formuliertje wat ik er heb ingegooid.
@ SanThe; bij mijn sript stonden paar typ foutjes, nu verbetert :P. En ik denk dat de volgorde nog wel een van de grootste problemen is die we hier steeds tegenkomen, samen met de slechte afhandelingen natuurlijk.
Gewijzigd op 03/11/2010 09:40:48 door Milo S