Inlogscript wordt HELEMAAL niet uitgevoerd
Ik heb een site online staan, en ik heb een paar bestandjes er gehost, en een database.
Het punt is: de homepage+plaatje werken prima, evenals het registreren verloopt vlekkeloos.
Maar als ik dan ga inloggen, komt er niks van terecht, en word ik alsmaar naar de homepage gestuurd, wat ik ook doe of invoer.
Ik kan geldige invoer invoeren, een verkeerd wachtwoord, een leeg veld, beide velden leeg, ik word alleen maar naar de homepage gestuurd. Dus heb ik er iets in gehardcode dat ik een tekst te zien krijg (wat niet zou moeten, omdat inlog een puur php script is, maar nu dus wel), als het script aangeroepen wordt.
Config.php is een verzameling van een paar variabelen zoals de URL van de homepage ( http://www.dating.url.ph/), de naam van de site, en de phpMyAdmin inlogcodes enzo. Daar zit de fout zeker weten niet.
code login.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
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
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
<?php
session_start();
include('config.php');
echo "<html><body>HALLO</body></html>"; //dit is er dus bijgekomen, wat "hallo" zou moeten schrijven maar wordt ook niet gedaan.
IF (($_POST['password'] == "") OR ($_POST['username'] == "" ))
{ header("Location: " . $homepage . "register.php"); }
mysql_connect($SQLhost, $SQLuser, $SQLpass) or die("Kan niet verbinden met de database: " . mysql_error());
mysql_select_db($SQLdb) or die("Kan de database niet vinden: ". mysql_error());
$md5_pass = md5($_POST['password']);
$sql_inlog = mysql_query ("SELECT ID FROM USER WHERE Username = '" . $_SESSION['username'] . "' AND Password = '" . $md5_pass . "' ");
IF($sql_inlog === false)
{ header("Location: ".$homepage ); }
else {
$_SESSION['username'] = mysql_result ( mysql_query ("SELECT Username FROM user WHERE Username = '".$_POST['username']."' "), 0);
$_SESSION['background'] = mysql_result ( mysql_query ("SELECT Background FROM profiel WHERE Username = '".$_SESSION['username']."' "), 0);
// Kijk of lijst 1 ingevuld is, zo niet stuur door naar lijst 1
$sql_l1 = mysql_query (
"SELECT Provincie
FROM USER
WHERE Username = '" . ($_SESSION['username']) . "'
") ;
if ($sql_l1 === false)
{ echo 'Error : ' . mysql_error(); }
else { $info = mysql_fetch_row($sql_l1);
if ($info[0] == '')
{ $_POST['controle']="FALSE";
header('Location: list1.php'); }
else {// Kijk of lijst 2 ingevuld is, zo niet stuur door naar lijst 2
$sql_l2=mysql_query(
"SELECT Provincie
FROM PARTNER
WHERE Username = '" . ($_SESSION['username']) . "'
");
if ($sql_l2===false)
{ echo 'Error : ' . mysql_error(); }
else { $info = mysql_fetch_row($sql_l2);
if ($info[0] == '')
{ $_POST['controle']="FALSE";
header('Location: list2.php'); }
else { // kijk of lijst 3 ingevuld is, zo niet stuur door naar lijst 3
$sql_l3=mysql_query(
"SELECT Profielbericht
FROM PROFIEL
WHERE Username = '" . $_SESSION['username'] . "'
");
if ($sql_l3===false)
{ echo 'Error: ' . mysql_error(); }
else { $info[0] = mysql_Fetch_row($sql_l3);
if ($info[0] == '')
{$_POST['controle']="FALSE";
header("Location: list3.php"); }
else { //alles is ingevuld, stuur door naar profiel
header('Location: profile.php'); }
}
}
}
}
}
}
?>
session_start();
include('config.php');
echo "<html><body>HALLO</body></html>"; //dit is er dus bijgekomen, wat "hallo" zou moeten schrijven maar wordt ook niet gedaan.
IF (($_POST['password'] == "") OR ($_POST['username'] == "" ))
{ header("Location: " . $homepage . "register.php"); }
mysql_connect($SQLhost, $SQLuser, $SQLpass) or die("Kan niet verbinden met de database: " . mysql_error());
mysql_select_db($SQLdb) or die("Kan de database niet vinden: ". mysql_error());
$md5_pass = md5($_POST['password']);
$sql_inlog = mysql_query ("SELECT ID FROM USER WHERE Username = '" . $_SESSION['username'] . "' AND Password = '" . $md5_pass . "' ");
IF($sql_inlog === false)
{ header("Location: ".$homepage ); }
else {
$_SESSION['username'] = mysql_result ( mysql_query ("SELECT Username FROM user WHERE Username = '".$_POST['username']."' "), 0);
$_SESSION['background'] = mysql_result ( mysql_query ("SELECT Background FROM profiel WHERE Username = '".$_SESSION['username']."' "), 0);
// Kijk of lijst 1 ingevuld is, zo niet stuur door naar lijst 1
$sql_l1 = mysql_query (
"SELECT Provincie
FROM USER
WHERE Username = '" . ($_SESSION['username']) . "'
") ;
if ($sql_l1 === false)
{ echo 'Error : ' . mysql_error(); }
else { $info = mysql_fetch_row($sql_l1);
if ($info[0] == '')
{ $_POST['controle']="FALSE";
header('Location: list1.php'); }
else {// Kijk of lijst 2 ingevuld is, zo niet stuur door naar lijst 2
$sql_l2=mysql_query(
"SELECT Provincie
FROM PARTNER
WHERE Username = '" . ($_SESSION['username']) . "'
");
if ($sql_l2===false)
{ echo 'Error : ' . mysql_error(); }
else { $info = mysql_fetch_row($sql_l2);
if ($info[0] == '')
{ $_POST['controle']="FALSE";
header('Location: list2.php'); }
else { // kijk of lijst 3 ingevuld is, zo niet stuur door naar lijst 3
$sql_l3=mysql_query(
"SELECT Profielbericht
FROM PROFIEL
WHERE Username = '" . $_SESSION['username'] . "'
");
if ($sql_l3===false)
{ echo 'Error: ' . mysql_error(); }
else { $info[0] = mysql_Fetch_row($sql_l3);
if ($info[0] == '')
{$_POST['controle']="FALSE";
header("Location: list3.php"); }
else { //alles is ingevuld, stuur door naar profiel
header('Location: profile.php'); }
}
}
}
}
}
}
?>
Code Index.html:
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
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
<?php
include('config.php');
?>
<!DOCTYPE html>
<html>
<head>
<title><?php echo $sitename; ?> - Home</title>
<link rel="icon" type="image/ico" href="favicon.ico" />
<style>
#bottom_table{
position: absolute;
right: 0px;
bottom: 0px; }
</style>
</head>
<body bgcolor="#00BFFF">
<center> <a href=""><img border="0" src="logo.png" alt="<?php echo $sitename; ?>" width="435" height="264"></a></center> <br />
<div style="text-align: center;"><big style="font-weight;">
Welcome to our Main Page!<br />
You can log in or register below:
</big> <br /> <br />
<table align="center">
<form action="login.php" method="post">
<tr><td width="114">
<div style="text-align: right;"><style="font-weight;">Username:</td>
<td width="200"><input type="text" size="30" name="username" value="">
</div></style></td></tr>
<tr><td>
<div style="text-align: right;"><style="font-weight;">Password:</td><td> <input type="password" size="30" name="password" value="">
</div></style></td></tr>
<tr><td></td> <td align="left"><input type="submit" value="Log In!">
</form></td></tr>
</table><br />
<table align="center">
<tr><td>You don't have an account yet?</td></tr>
<form action="register.php" method="post">
<input type="hidden" name="controle" value="FALSE">
<tr><td><input type="submit" value="Register!"></td></tr>
</form>
</div></table>
<div id="bottom_table">
<table align="right"> <tr> <td>
<small><small><a href="mailto: <?php echo $mailto; ?>">© Kevin Nauta 2012-2013 </a> </small></small>
</div> </td> </tr> </table>
</body>
</html>
include('config.php');
?>
<!DOCTYPE html>
<html>
<head>
<title><?php echo $sitename; ?> - Home</title>
<link rel="icon" type="image/ico" href="favicon.ico" />
<style>
#bottom_table{
position: absolute;
right: 0px;
bottom: 0px; }
</style>
</head>
<body bgcolor="#00BFFF">
<center> <a href=""><img border="0" src="logo.png" alt="<?php echo $sitename; ?>" width="435" height="264"></a></center> <br />
<div style="text-align: center;"><big style="font-weight;">
Welcome to our Main Page!<br />
You can log in or register below:
</big> <br /> <br />
<table align="center">
<form action="login.php" method="post">
<tr><td width="114">
<div style="text-align: right;"><style="font-weight;">Username:</td>
<td width="200"><input type="text" size="30" name="username" value="">
</div></style></td></tr>
<tr><td>
<div style="text-align: right;"><style="font-weight;">Password:</td><td> <input type="password" size="30" name="password" value="">
</div></style></td></tr>
<tr><td></td> <td align="left"><input type="submit" value="Log In!">
</form></td></tr>
</table><br />
<table align="center">
<tr><td>You don't have an account yet?</td></tr>
<form action="register.php" method="post">
<input type="hidden" name="controle" value="FALSE">
<tr><td><input type="submit" value="Register!"></td></tr>
</form>
</div></table>
<div id="bottom_table">
<table align="right"> <tr> <td>
<small><small><a href="mailto: <?php echo $mailto; ?>">© Kevin Nauta 2012-2013 </a> </small></small>
</div> </td> </tr> </table>
</body>
</html>
Code (php)
1
2
3
2
3
$sql_inlog = mysql_query ("SELECT ID FROM USER WHERE Username = '" . $_SESSION['username'] . "' AND Password = '" . $md5_pass . "' ");
IF($sql_inlog === false)
{ header("Location: ".$homepage ); }
IF($sql_inlog === false)
{ header("Location: ".$homepage ); }
Ik zou op zijn minst een error verwachten als een query stuk loopt. Met een redirect kan je niks debuggen.
Houd ook in je hoofd dat de MySQL-functies gedateerd zijn, en dat je het beste MySQLi kan gebruiken.
Die echo op lijn 5 kan ook botsen met je headers, als er iets in je script fout loopt.
Gewijzigd op 14/11/2013 19:12:00 door - Ariën -
Zelfs als ik de admin probeer (user=Admin, pass=root) dan gebeurt er niks.
En die botsingen met headers, weet ik. Dan krijg ik een error van: cannot send because (er staat al iets op het scherm oid). Maar dat komt er ook niet...
Hoeveel werk zou het zijn om alles van mysql naar mysqli om te zetten?
En ik weet ook niet of dat werkt met mijn hosting company achtig iets (http://www.hostinger.nl)
EDIT:
ik heb nu een hele smerige hack in config gezet:
zodat ik wel door kan gaan met controleren van andere scripts...
Op die manier kan ik wel zien dat alle andere query's het wel doen, na een kleine wijziging die ook nodig was. (query's om bijv. info naar database te sturen of te halen op het profiel)
Gewijzigd op 14/11/2013 19:37:36 door Kevin Zegikniet
Zorg dan even voor goede foutafhandeling met mysql_error().
De ombouw van mysql_*()-functies naar mysql_*()-functies is vaak het toevoegen van de (i). Bij sommige functies moet je ook een parameter meegeven van de connectie-variabele welke je gebruikt.
Zie ook: http://php.net/mysqli_query en de vergelijkbare URL's die naar andere functienamen verwijzen.
Gewijzigd op 14/11/2013 19:44:50 door - Ariën -
De query levert altijd een resultaat op (met een record, of geen record), of false als de query mislukt. Uit het feit dat de redirect wordt uitgevoerd blijkt dat de query dus gewoon mislukt. Niet dat de inlog klopt of niet klopt, maar simpel dat er een fout in de query zit. Omdat je verder geen enkele foutafhandeling erop toepast valt er verder weinig te zeggen.
Controleer telkens of elke variabele bevat wat je verwacht.
Echo bijvoorbeeld eens de query en met name $_SESSION['username'] van regel 14.
Waar komt $_SESSION['username'] vandaan?
Ik zie wel dat op regel 19 de waarde wordt toegekend. Dat is echter _na_ je query.
md5 is volgens mij niet de meest veilige manier om een wachtwoord te beveiligen.
ik zal dat eens aanzetten, en die site eens bekijken.
Obelix en Idefix
Ik zal eens wat echo's plaatsen, en naar die regel kijken. Dat zou best een instinker kunnen zijn.
(enige uitzondering is het nu: in config.php staat ie ook al toegekend als "Admin")
Toevoeging op 14/11/2013 20:08:38:
Ik heb nu de 'hack' in config uitgezet (dwz: is nu commentaar).
Code veranderd in dit, geen verandering.
Ik klik op inloggen en kom nog steeds bij homepage uit.
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
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
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
include('config.php');
echo "<html><body>HALLO</body></html>";
IF (($_POST['password'] == "") OR ($_POST['username'] == "" ))
{ header("Location: " . $homepage . "/register.php"); }
$con = mysql_connect($SQLhost, $SQLuser, $SQLpass) or die("Kan niet verbinden met de database: " . mysql_error());
mysql_select_db($SQLdb, $con) or die("Kan de database niet vinden: ". mysql_error());
$md5_pass = md5($_POST['password']);
$sql_inlog = mysql_query ("SELECT ID FROM USER WHERE Username = '" . $_POST['username'] . "' AND Password = '" . $md5_pass . "' ");
echo $sql_inlog;
IF($sql_inlog === false)
{ header("Location: ".$homepage ); }
else {
$_SESSION['username'] = mysql_result ( mysql_query ("SELECT Username FROM user WHERE Username = '".$_POST['username']."' "), 0);
$_SESSION['background'] = mysql_result ( mysql_query ("SELECT Background FROM profiel WHERE Username = '".$_SESSION['username']."' "), 0);
// Kijk of lijst 1 ingevuld is, zo niet stuur door naar lijst 1
$sql_l1 = mysql_query (
"SELECT Provincie
FROM USER
WHERE Username = '" . ($_SESSION['username']) . "'
") ;
if ($sql_l1 === false)
{ echo 'Error : ' . mysql_error(); }
else { $info = mysql_fetch_row($sql_l1);
if ($info[0] == '')
{ $_POST['controle']="FALSE";
header('Location: list1.php'); }
else {// Kijk of lijst 2 ingevuld is, zo niet stuur door naar lijst 2
$sql_l2=mysql_query(
"SELECT Provincie
FROM PARTNER
WHERE Username = '" . ($_SESSION['username']) . "'
");
if ($sql_l2===false)
{ echo 'Error : ' . mysql_error(); }
else { $info = mysql_fetch_row($sql_l2);
if ($info[0] == '')
{ $_POST['controle']="FALSE";
header('Location: list2.php'); }
else { // kijk of lijst 3 ingevuld is, zo niet stuur door naar lijst 3
$sql_l3=mysql_query(
"SELECT Profielbericht
FROM PROFIEL
WHERE Username = '" . $_SESSION['username'] . "'
");
if ($sql_l3===false)
{ echo 'Error: ' . mysql_error(); }
else { $info[0] = mysql_Fetch_row($sql_l3);
if ($info[0] == '')
{$_POST['controle']="FALSE";
header("Location: list3.php"); }
else { //alles is ingevuld, stuur door naar profiel
header('Location: profile.php'); }
}
}
}
}
}
}
?>
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
include('config.php');
echo "<html><body>HALLO</body></html>";
IF (($_POST['password'] == "") OR ($_POST['username'] == "" ))
{ header("Location: " . $homepage . "/register.php"); }
$con = mysql_connect($SQLhost, $SQLuser, $SQLpass) or die("Kan niet verbinden met de database: " . mysql_error());
mysql_select_db($SQLdb, $con) or die("Kan de database niet vinden: ". mysql_error());
$md5_pass = md5($_POST['password']);
$sql_inlog = mysql_query ("SELECT ID FROM USER WHERE Username = '" . $_POST['username'] . "' AND Password = '" . $md5_pass . "' ");
echo $sql_inlog;
IF($sql_inlog === false)
{ header("Location: ".$homepage ); }
else {
$_SESSION['username'] = mysql_result ( mysql_query ("SELECT Username FROM user WHERE Username = '".$_POST['username']."' "), 0);
$_SESSION['background'] = mysql_result ( mysql_query ("SELECT Background FROM profiel WHERE Username = '".$_SESSION['username']."' "), 0);
// Kijk of lijst 1 ingevuld is, zo niet stuur door naar lijst 1
$sql_l1 = mysql_query (
"SELECT Provincie
FROM USER
WHERE Username = '" . ($_SESSION['username']) . "'
") ;
if ($sql_l1 === false)
{ echo 'Error : ' . mysql_error(); }
else { $info = mysql_fetch_row($sql_l1);
if ($info[0] == '')
{ $_POST['controle']="FALSE";
header('Location: list1.php'); }
else {// Kijk of lijst 2 ingevuld is, zo niet stuur door naar lijst 2
$sql_l2=mysql_query(
"SELECT Provincie
FROM PARTNER
WHERE Username = '" . ($_SESSION['username']) . "'
");
if ($sql_l2===false)
{ echo 'Error : ' . mysql_error(); }
else { $info = mysql_fetch_row($sql_l2);
if ($info[0] == '')
{ $_POST['controle']="FALSE";
header('Location: list2.php'); }
else { // kijk of lijst 3 ingevuld is, zo niet stuur door naar lijst 3
$sql_l3=mysql_query(
"SELECT Profielbericht
FROM PROFIEL
WHERE Username = '" . $_SESSION['username'] . "'
");
if ($sql_l3===false)
{ echo 'Error: ' . mysql_error(); }
else { $info[0] = mysql_Fetch_row($sql_l3);
if ($info[0] == '')
{$_POST['controle']="FALSE";
header("Location: list3.php"); }
else { //alles is ingevuld, stuur door naar profiel
header('Location: profile.php'); }
}
}
}
}
}
}
?>
Kevin Zegikniet op 14/11/2013 20:03:20:
(enige uitzondering is het nu: in config.php staat ie ook al toegekend als "Admin")
Dan verwijder je het daar toch (tijdelijk) weer?!
En wat zit er in de variabelen?
Wat is de query die wordt uitgevoerd?
Wat is de uitkomst van $sql_inlog;
Gewijzigd op 14/11/2013 20:11:43 door Obelix Idefix
Toevoeging op 14/11/2013 20:10:44:
Heb ik dus uitgezet ;)
En ja, md5 is niet erg veilig. Maar beter als niks, en als dit straks werkt, ga ik daarna wel bezig met SDHA of hoehetookalweerheet
Het echoén ervan maakt niks uit.
Erwin H op 14/11/2013 19:43:38:
Omdat je verder geen enkele foutafhandeling erop toepast valt er verder weinig te zeggen.
Wat verstaan jullie trouwens onder foutafhandeling?
Gevolg: error -> } vergeten
Gefixt: weer zelfde probleem.
EDIT: afgemaakt, nog steeds niks.
Code:
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
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
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
include('config.php');
define('DEBUG_MODE',true);
function showSQLerror($sql,$error,$text='Error') {
if (DEBUG_MODE) {
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
} else {
return $text;
}
}
IF (($_POST['password'] == "") OR ($_POST['username'] == "" ))
{ header("Location: " . $homepage . "/register.php"); }
$con = mysql_connect($SQLhost, $SQLuser, $SQLpass) or die("Kan niet verbinden met de database: " . mysql_error());
mysql_select_db($SQLdb, $con) or die("Kan de database niet vinden: ". mysql_error());
$md5_pass = md5($_POST['password']);
$sql_inlog = mysql_query ("SELECT ID FROM USER WHERE Username = '" . $_POST['username'] . "' AND Password = '" . $md5_pass . "' ");
echo $sql_inlog;
IF($sql_inlog === false)
{ echo showSQLerror($sql_inlog, mysql_error(), "Error with logging in");
//header("Location: ".$homepage );
}
else {
$_SESSION['username'] = mysql_result ( mysql_query ("SELECT Username FROM user WHERE Username = '".$_POST['username']."' "), 0);
$_SESSION['background'] = mysql_result ( mysql_query ("SELECT Background FROM profiel WHERE Username = '".$_SESSION['username']."' "), 0);
// Kijk of lijst 1 ingevuld is, zo niet stuur door naar lijst 1
$sql_l1 = mysql_query (
"SELECT Provincie
FROM USER
WHERE Username = '" . ($_SESSION['username']) . "'
") ;
if ($sql_l1 === false)
{ echo showSQLerror($sql_l1, mysql_error(), "Error while checking Primary goal."); }
else { $info = mysql_fetch_row($sql_l1);
if ($info[0] == '')
{ $_POST['controle']="FALSE";
header('Location: list1.php'); }
else {// Kijk of lijst 2 ingevuld is, zo niet stuur door naar lijst 2
$sql_l2=mysql_query(
"SELECT Provincie
FROM PARTNER
WHERE Username = '" . ($_SESSION['username']) . "'
");
if ($sql_l2===false)
{ echo showSQLerror($sql_l2, mysql_error(), "Error while checking Secondary goal."); }
else { $info = mysql_fetch_row($sql_l2);
if ($info[0] == '')
{ $_POST['controle']="FALSE";
header('Location: list2.php'); }
else { // kijk of lijst 3 ingevuld is, zo niet stuur door naar lijst 3
$sql_l3=mysql_query(
"SELECT Profielbericht
FROM PROFIEL
WHERE Username = '" . $_SESSION['username'] . "'
");
if ($sql_l3===false)
{ echo showSQLerror($sql_l3, mysql_error(), "Error while checking Tertiary goal."); }
else { $info[0] = mysql_Fetch_row($sql_l3);
if ($info[0] == '')
{$_POST['controle']="FALSE";
header("Location: list3.php"); }
else { //alles is ingevuld, stuur door naar profiel
header('Location: profile.php'); }
}
}
}
}
}
}
?>
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
include('config.php');
define('DEBUG_MODE',true);
function showSQLerror($sql,$error,$text='Error') {
if (DEBUG_MODE) {
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
} else {
return $text;
}
}
IF (($_POST['password'] == "") OR ($_POST['username'] == "" ))
{ header("Location: " . $homepage . "/register.php"); }
$con = mysql_connect($SQLhost, $SQLuser, $SQLpass) or die("Kan niet verbinden met de database: " . mysql_error());
mysql_select_db($SQLdb, $con) or die("Kan de database niet vinden: ". mysql_error());
$md5_pass = md5($_POST['password']);
$sql_inlog = mysql_query ("SELECT ID FROM USER WHERE Username = '" . $_POST['username'] . "' AND Password = '" . $md5_pass . "' ");
echo $sql_inlog;
IF($sql_inlog === false)
{ echo showSQLerror($sql_inlog, mysql_error(), "Error with logging in");
//header("Location: ".$homepage );
}
else {
$_SESSION['username'] = mysql_result ( mysql_query ("SELECT Username FROM user WHERE Username = '".$_POST['username']."' "), 0);
$_SESSION['background'] = mysql_result ( mysql_query ("SELECT Background FROM profiel WHERE Username = '".$_SESSION['username']."' "), 0);
// Kijk of lijst 1 ingevuld is, zo niet stuur door naar lijst 1
$sql_l1 = mysql_query (
"SELECT Provincie
FROM USER
WHERE Username = '" . ($_SESSION['username']) . "'
") ;
if ($sql_l1 === false)
{ echo showSQLerror($sql_l1, mysql_error(), "Error while checking Primary goal."); }
else { $info = mysql_fetch_row($sql_l1);
if ($info[0] == '')
{ $_POST['controle']="FALSE";
header('Location: list1.php'); }
else {// Kijk of lijst 2 ingevuld is, zo niet stuur door naar lijst 2
$sql_l2=mysql_query(
"SELECT Provincie
FROM PARTNER
WHERE Username = '" . ($_SESSION['username']) . "'
");
if ($sql_l2===false)
{ echo showSQLerror($sql_l2, mysql_error(), "Error while checking Secondary goal."); }
else { $info = mysql_fetch_row($sql_l2);
if ($info[0] == '')
{ $_POST['controle']="FALSE";
header('Location: list2.php'); }
else { // kijk of lijst 3 ingevuld is, zo niet stuur door naar lijst 3
$sql_l3=mysql_query(
"SELECT Profielbericht
FROM PROFIEL
WHERE Username = '" . $_SESSION['username'] . "'
");
if ($sql_l3===false)
{ echo showSQLerror($sql_l3, mysql_error(), "Error while checking Tertiary goal."); }
else { $info[0] = mysql_Fetch_row($sql_l3);
if ($info[0] == '')
{$_POST['controle']="FALSE";
header("Location: list3.php"); }
else { //alles is ingevuld, stuur door naar profiel
header('Location: profile.php'); }
}
}
}
}
}
}
?>
Gewijzigd op 14/11/2013 20:31:32 door Kevin Zegikniet
Dan heb je het niet goed erin staan, want bij een foute query zou je alleen de foutmelding moeten zien en geen redirect. Laat eens alleen de query met de foutafhandeling zien. Zou zo'n 5 regels moeten zijn.
WAT OOK NIET GEBEURT.
Ik zal eens alleen regels
1 t/m 16
en
21 t/m 24
en
29+30+32
in een script gooien en uitvoeren.
Nee, zolang je de blijkbare fout niet uit je query gaat halen gaat het ook nooit werken ook!
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
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
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
session_start();
include('config.php');
define('DEBUG_MODE',true);
function showSQLerror($sql,$error,$text='Error') {
if (DEBUG_MODE) {
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
} else {
return $text;
}
}
$con = mysql_connect($SQLhost, $SQLuser, $SQLpass) or die("Kan niet verbinden met de database: " . mysql_error());
mysql_select_db($SQLdb, $con) or die("Kan de database niet vinden: ". mysql_error());
$md5_pass = md5($_POST['password']);
$sql_inlog = mysql_query ("SELECT ID FROM USER WHERE Username = '" . $_POST['username'] . "' AND Password = '" . $md5_pass . "' ");
IF($sql_inlog === false)
{ echo showSQLerror($sql_inlog, mysql_error(), "Error with logging in"); }
else {
$_SESSION['username'] = mysql_result ( mysql_query ("SELECT Username FROM user WHERE Username = '".$_POST['username']."' "), 0);
$_SESSION['background'] = mysql_result ( mysql_query ("SELECT Background FROM profiel WHERE Username = '".$_SESSION['username']."' "), 0);
header('Location: profile.php');
}
?>
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
session_start();
include('config.php');
define('DEBUG_MODE',true);
function showSQLerror($sql,$error,$text='Error') {
if (DEBUG_MODE) {
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
} else {
return $text;
}
}
$con = mysql_connect($SQLhost, $SQLuser, $SQLpass) or die("Kan niet verbinden met de database: " . mysql_error());
mysql_select_db($SQLdb, $con) or die("Kan de database niet vinden: ". mysql_error());
$md5_pass = md5($_POST['password']);
$sql_inlog = mysql_query ("SELECT ID FROM USER WHERE Username = '" . $_POST['username'] . "' AND Password = '" . $md5_pass . "' ");
IF($sql_inlog === false)
{ echo showSQLerror($sql_inlog, mysql_error(), "Error with logging in"); }
else {
$_SESSION['username'] = mysql_result ( mysql_query ("SELECT Username FROM user WHERE Username = '".$_POST['username']."' "), 0);
$_SESSION['background'] = mysql_result ( mysql_query ("SELECT Background FROM profiel WHERE Username = '".$_SESSION['username']."' "), 0);
header('Location: profile.php');
}
?>
werkt ook niet.
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
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
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
session_start();
include('config.php');
define('DEBUG_MODE', true);
function showSQLerror($sql, $error, $text = 'Error'){
if(DEBUG_MODE){
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else{
return $text;
}
}
$con = mysql_connect($SQLhost, $SQLuser, $SQLpass) or die("Kan niet verbinden met de database: " . mysql_error());
mysql_select_db($SQLdb, $con) or die("Kan de database niet vinden: " . mysql_error());
$md5_pass = md5($_POST['password']);
$sql_inlog = mysql_query("SELECT ID FROM USER WHERE Username = '" . $_POST['username'] . "' AND Password = '" . $md5_pass . "' ");
if($sql_inlog === false){
echo showSQLerror($sql_inlog, mysql_error(), "Error with logging in");
} else{
$_SESSION['username'] = mysql_result(mysql_query("SELECT Username FROM user WHERE Username = '" . $_POST['username'] . "' "), 0);
$_SESSION['background'] = mysql_result(mysql_query("SELECT Background FROM profiel WHERE Username = '" . $_SESSION['username'] . "' "), 0);
header('Location: profile.php');
}
?>
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
session_start();
include('config.php');
define('DEBUG_MODE', true);
function showSQLerror($sql, $error, $text = 'Error'){
if(DEBUG_MODE){
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else{
return $text;
}
}
$con = mysql_connect($SQLhost, $SQLuser, $SQLpass) or die("Kan niet verbinden met de database: " . mysql_error());
mysql_select_db($SQLdb, $con) or die("Kan de database niet vinden: " . mysql_error());
$md5_pass = md5($_POST['password']);
$sql_inlog = mysql_query("SELECT ID FROM USER WHERE Username = '" . $_POST['username'] . "' AND Password = '" . $md5_pass . "' ");
if($sql_inlog === false){
echo showSQLerror($sql_inlog, mysql_error(), "Error with logging in");
} else{
$_SESSION['username'] = mysql_result(mysql_query("SELECT Username FROM user WHERE Username = '" . $_POST['username'] . "' "), 0);
$_SESSION['background'] = mysql_result(mysql_query("SELECT Background FROM profiel WHERE Username = '" . $_SESSION['username'] . "' "), 0);
header('Location: profile.php');
}
?>
Zo, even de boel gefatsoeneerd met betere inspringing. Verder ben ik benieuwd welke error je krijgt, en wat er nou exact gebeurt?
Tevens is er een gevaar voor SQL-injection, omdat $_POST['username'] open en bloot ligt om aangepast te kunnen worden
Dat is het probleem dus: ik krijg geen error.
SQL-injection zag ik ook net, maar dat kan het probleem niet zijn.
Zeg a.u.b. even concreet stap voor stap wat je doet.
Gewijzigd op 14/11/2013 20:54:17 door - Ariën -