Onsuccesvolle registratie
Ik ben druk bezig om voor mezelf (om een beetje het php onder de knie te krijgen) een inlog- en registratie systeem werkend te krijgen. Nu loop ik echter vast op een bepaald stuk wat ook niet als foutmelding wordt gegeven, hij komt simpelweg niet bij de else statement. Hierbij de script (let niet op onlogische programmeer volgordes etc sinds het door verwijderen, toevoegen tot stand is gekomen:))
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
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
case "Registreren":
//controleren op lege velden en valiteit
include("functions.php"); // function die kijkt of de velden correct zijn.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$firstname = $_POST['voornaam'];
$lastname = $_POST['achternaam'];
$email = $_POST['email'];
$emailvalidation = $_POST['b-email'];
$password = $_POST['wachtwoord'];
$errors = validate($firstname, $lastname, $password);
$emailerrors = emailvalidate($email, $emailvalidation);
if(count($errors) != 0)
{
echo '<p class="error1">';
echo 'Alle velden moeten ingevuld worden.';
include("LoginForm.php");
exit();
}
if (count($emailerrors) != 0)
{
echo '<p class="error2">';
echo 'U heeft een ongeldig e-mail adres ingevuld.';
include("LoginForm.php");
exit();
}
if ($email != $emailvalidation)
{
echo '<p class="error3">';
echo 'De ingevoerde emailadressen komen niet overeen.';
include("LoginForm.php");
exit();
}
if ($email == $emailvalidation)
{
include("huisdieren.php"); //huisdieren is php code met de user, host, password en database
echo 'komt hier2';
$cxn = mysqli_connect($host,$user,$password,$database) or die ("Sorry, de webpagina kan geen verbinding maken met de server");
echo 'komt hier3';
$sql = "SELECT Email FROM member WHERE Email = '$_POST[email]'";
echo 'komt hier4';
$result = mysqli_query($cxn,$sql) or die ("Query died: loginName");
echo 'komt hier5';
$num = mysqli_num_rows($result);
echo 'komt hier6';
if($num > 0) //gebruikersnaam gevonden die hetzelfde is
{
echo 'komt hier is fout';
echo "$email bestaat al. Voer een ander email adres in";
include("LoginForm.php");
exit();
}
echo 'komt hier7';
}
else //nieuw lid toevoegen aan database
{
echo 'komt hier8';
$sql = "INSERT INTO member (Email,createDate,password,Voornaam,Achternaam,Geslacht,Geboortedatum,Woonplaats) VALUES
('$email',NOW(),md5('$password'),'$firstname','$lastname')"; //de eerste zijn de benamingen uit de database
mysqli_query($cxn,$sql);
$_SESSION['auth']="yes";
$_SESSION['logname']= $email;
header('location: check.php');
}
}
break;
default:
include("LoginForm.php");
//controleren op lege velden en valiteit
include("functions.php"); // function die kijkt of de velden correct zijn.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$firstname = $_POST['voornaam'];
$lastname = $_POST['achternaam'];
$email = $_POST['email'];
$emailvalidation = $_POST['b-email'];
$password = $_POST['wachtwoord'];
$errors = validate($firstname, $lastname, $password);
$emailerrors = emailvalidate($email, $emailvalidation);
if(count($errors) != 0)
{
echo '<p class="error1">';
echo 'Alle velden moeten ingevuld worden.';
include("LoginForm.php");
exit();
}
if (count($emailerrors) != 0)
{
echo '<p class="error2">';
echo 'U heeft een ongeldig e-mail adres ingevuld.';
include("LoginForm.php");
exit();
}
if ($email != $emailvalidation)
{
echo '<p class="error3">';
echo 'De ingevoerde emailadressen komen niet overeen.';
include("LoginForm.php");
exit();
}
if ($email == $emailvalidation)
{
include("huisdieren.php"); //huisdieren is php code met de user, host, password en database
echo 'komt hier2';
$cxn = mysqli_connect($host,$user,$password,$database) or die ("Sorry, de webpagina kan geen verbinding maken met de server");
echo 'komt hier3';
$sql = "SELECT Email FROM member WHERE Email = '$_POST[email]'";
echo 'komt hier4';
$result = mysqli_query($cxn,$sql) or die ("Query died: loginName");
echo 'komt hier5';
$num = mysqli_num_rows($result);
echo 'komt hier6';
if($num > 0) //gebruikersnaam gevonden die hetzelfde is
{
echo 'komt hier is fout';
echo "$email bestaat al. Voer een ander email adres in";
include("LoginForm.php");
exit();
}
echo 'komt hier7';
}
else //nieuw lid toevoegen aan database
{
echo 'komt hier8';
$sql = "INSERT INTO member (Email,createDate,password,Voornaam,Achternaam,Geslacht,Geboortedatum,Woonplaats) VALUES
('$email',NOW(),md5('$password'),'$firstname','$lastname')"; //de eerste zijn de benamingen uit de database
mysqli_query($cxn,$sql);
$_SESSION['auth']="yes";
$_SESSION['logname']= $email;
header('location: check.php');
}
}
break;
default:
include("LoginForm.php");
Het probleem is dat als alle velden goed zijn ingevuld de vervolg else niet wordt uitgevoerd. Ik heb middels de echo: komt hier (nummer)gekeken tot waar het programma loopt. Telkens krijg ik na alle velden correct in te hebben gevoerd een witte pagina te zien met de tekst komt hier 1,2,3,4,5,6,7 maar niet 8 ofwel hij voert de laatste else niet uit. Iemand enig idee wat hier het probleem van is?
Nicolas Mousserin op 20/12/2013 18:28:42:
let niet op onlogische programmeer volgordes etc sinds het door verwijderen, toevoegen tot stand is gekomen:)
Dat is leuk en aardig, maar als je in een rommeltje aan het werk bent dan wordt het nooit wat. Als je ergens dus niet uit komt zal je het eerst moeten opschonen.
Anyway het antwoord geef je verder zelf al:
Nicolas Mousserin op 20/12/2013 18:28:42:
Telkens krijg ik na alle velden correct in te hebben gevoerd een witte pagina te zien met de tekst komt hier 1,2,3,4,5,6,7 maar niet 8 ofwel hij voert de laatste else niet uit. Iemand enig idee wat hier het probleem van is?
Met andere woorden, het if statement wordt uitgevoerd DUS het else statement niet. Dat is nu juist de bedoeling.
Erwin H op 20/12/2013 18:32:06:
Dat is leuk en aardig, maar als je in een rommeltje aan het werk bent dan wordt het nooit wat. Als je ergens dus niet uit komt zal je het eerst moeten opschonen.
Anyway het antwoord geef je verder zelf al:
Met andere woorden, het if statement wordt uitgevoerd DUS het else statement niet. Dat is nu juist de bedoeling.
Nicolas Mousserin op 20/12/2013 18:28:42:
let niet op onlogische programmeer volgordes etc sinds het door verwijderen, toevoegen tot stand is gekomen:)
Dat is leuk en aardig, maar als je in een rommeltje aan het werk bent dan wordt het nooit wat. Als je ergens dus niet uit komt zal je het eerst moeten opschonen.
Anyway het antwoord geef je verder zelf al:
Nicolas Mousserin op 20/12/2013 18:28:42:
Telkens krijg ik na alle velden correct in te hebben gevoerd een witte pagina te zien met de tekst komt hier 1,2,3,4,5,6,7 maar niet 8 ofwel hij voert de laatste else niet uit. Iemand enig idee wat hier het probleem van is?
Met andere woorden, het if statement wordt uitgevoerd DUS het else statement niet. Dat is nu juist de bedoeling.
Ah dankjewel! Zo logisch dat ik het zelf in een veel moeilijkere hoek aan het zoeken was en de meest eenvoudige verklaring over het hoofd zag.. heel dom haha.
Maar je hebt helemaal gelijk, feit was echter dat ik dan zo bezig ben met het ene dingetje te laten werken dat de opmaak me even gestolen kon worden. Maar dit breekt je uiteindelijk dan toch op:)
ieder geval hartstikke bedankt!