Inlogscript wordt HELEMAAL niet uitgevoerd
<a href="http://www.dating.url.ph/">dating.url.ph</a>
Desnoods registreer je even, email hoeft niet te werken want wordt toch niks mee gedaan.
Anders gebruik je test:
User = "Test"
pass = "test"
Maar, ik vul dus "admin" in bij username, en "r00t" (twee nullen) bij pass, en klik op Log in!
En dan flitst het scherm, en ben ik terug bij de homepage, met twee lege velden.
Ik word uberhaupt niet doorgestuurd dus, omdat er nu alleen een header naar profile in zit, de bovenstaande script is login nu.
Gewijzigd op 14/11/2013 20:58:35 door Kevin Zegikniet
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
session_start();
include('config.php');
IF (!isset($_SESSION['username']))
{ header('Location: '. $homepage); }
IF ($_GET['u'] == "")
{ $_GET['u'] = $_SESSION['username']; }
include('config.php');
IF (!isset($_SESSION['username']))
{ header('Location: '. $homepage); }
IF ($_GET['u'] == "")
{ $_GET['u'] = $_SESSION['username']; }
Dus het is ook niet zo dat toevallig session_start() vergeten ben en dat ie dan redirect, waar ik zonet nog aan dacht.
Controleer wat er in de variabelen zit ($_SESSION['username'])
- Aar - op 14/11/2013 21:01:08:
Kwestie van even je if-jes debuggen...
In het loginscript.
Want als ik daarin de header aanpas naar profile.php?u=$_SESSION... etc
dan komt ie op profile.php?u= en verder niks.
Toevoeging op 14/11/2013 21:08:20:
YOU GOT TO BE F*KING KIDDING ME!
het enige probleem was dus "user" moest zijn "USER" in tabelnaam.
nooit aan gedacht... *facepalm*
Oude script even bewerkt, en nu werkt ie weer.
Gewijzigd op 14/11/2013 21:10:20 door Kevin Zegikniet
Het beste advies bij het werken met databases is altijd om hoofdletters te vermijden.
dat probeer ik ook, maar de huidige versie van phpmyadmin (die ik trouwens niet kan updaten oid) wil niet hernoemen, ook al staat het in de scripts wel kleine letters...
Gewoon lekker met een programma de boel beheren i.p.v. een web-programma die zich verslikt in timeouts bij grote opdrachten ;-)
Nu alleen maar hopen dat je hosting de inkomende poort van MySQL (3306) open heeft staan... ;-)
Gewijzigd op 14/11/2013 21:30:31 door - Ariën -
Tenminste, nu werkt het prima! Ik zou zeggen, maak een account aan en see for yourself (en help je mij er ook nog een beetje bij ;) )
Gewijzigd op 14/11/2013 21:53:22 door - Ariën -
nah, geen zin in. Waarom zou ik ook?
Maar goed, dit heeft verder niks meer met je probleem te maken, deze is nu opgelost dus...?
als ik niks invul logt ie nog in.
Script dus maar even:
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
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
<?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;
}
}
IF (($_POST['password'] == "") OR ($_POST['username'] == "" ))
{ header("Location: " . $homepage); }
$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 = '" . mysql_real_escape_string($_POST['username']) . "' AND Password = '" . $md5_pass . "' ");
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?u='.$_SESSION['username']); }
}
}
}
}
}
}
?>
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;
}
}
IF (($_POST['password'] == "") OR ($_POST['username'] == "" ))
{ header("Location: " . $homepage); }
$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 = '" . mysql_real_escape_string($_POST['username']) . "' AND Password = '" . $md5_pass . "' ");
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?u='.$_SESSION['username']); }
}
}
}
}
}
}
?>
Laat ik maar even de stappen vermelden die plaats moeten vinden....
Als er een POST is gedaan op je inlog-formulier doe je een mysql_query(), daarin kijk je of het wel of niet gelukt is. Als het wel gelukt is kijk je met mysql_num_rows of je aan de hand van de username en wachtwoord een goede user-record hebt gevonden.
En dan maak je de sessie aan.
Gewijzigd op 14/11/2013 22:38:27 door - Ariën -
Je checked helemaal niet of de inloggegevens juist zijn. Je kijkt alleen of de query is gelukt. En de query is ook gelukt als ie niks vindt.
Daar ben ik jammer genoeg ook achter gekomen ;)
- Aar -
Bedankt, ik zal er morgen (of in het weekend als ik er morgen niet aan toe kom, wat ik echter wel betwijfel) eens naar kijken, nu ga ik slapen.