Parse error: unexpected T_ELSE maar het zijn niet de haakjes
Ik heb het eeen hele tijd zonder jullie gekund, maar ik kom nu weer een fout tegen waar ik niets van snap.
Ik krijg de volgende error;
Quote:
Parse error: syntax error, unexpected T_ELSE in /var/www/herkansing/index.php on line 52
bij de volgende code;
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
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
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
<?php
include('db.inc');
if(isset($_GET['submit'])) {
if($_GET['submit'] != 1 OR !isset($_POST['user']) OR !isset($_POST['pass'])) {
die('Er is iets misgegaan.');
}
elseif( $_POST['user'] = "" OR $_POST['pass'] = "") {
die('Vul gebruikersnaam en wachtwoord in');
}
//De controle kan beginnen
$q0 = "SELECT * FROM leerling WHERE leerlingnummer = '".$_POST['user']."'";
$uit0 = mysql_query($q0);
if( mysql_num_rows($uit0) == 1) {
//Het is een leerling
$q3 = "SELECT wachtwoord FROM leerling WHERE leerling = '".$_POST['user']."'";
$uit3 = mysql_query($q3);
$mfa3 = mysql_fetch_array($uit3);
if ($mfa3['wachtwoord'] == md5($_POST['pass'])) {
//De leerling is ingelogt.
$sessiondata = base64_encode($_POST['pass']).";89-R2k@".base64_encode($_POST['user']).";89-R2k@".base64_encode("herkansingdata");
$data = base64_encode($sessiondata);
$_SESSION['data'] = $data;
header("Refresh: 1; url=indexleerling.php");
}
}else{
die('Het inloggen is mislukt. Probeer het nog een keer');
}
}else{
//opties: Het is of een leraar 2. de gebruiker bestaat niet.
$q1 = "SELECT * FROM docent WHERE docent_code = '".$_POST['user']."'";
$uit1 = mysql_query($q1);
if (mysql_num_rows($uit1) == 1) {
//Het is een docent
$q3 = "SELECT wachtwoord FROM docent WHERE docent_code = '".$_POST['user']."'";
$uit3 = mysql_query($q3);
$mfa3 = mysql_fetch_array($uit3);
if ($mfa3['wachtwoord'] == md5($_POST['pass'])) {
//De docent is ingelogt.
$sessiondata = base64_encode($_POST['pass']).";89-R2k@".base64_encode($_POST['user']).";89-R2k@".base64_encode("herkansingdata");
$data = base64_encode($sessiondata);
$_SESSION['data'] = $data;
header("Refresh: 1; url=indexdocent.php");
}
die('Deze gebruiker bestaat niet');
}
}else{
echo'<form action="index.php?submit=1" method="POST">
<table border="0">
<tr><td>gebruikersnaam:</td><td><imput name="user"></td></tr>
<tr><td>wachtwoord:</td><td><imput type="password" name="pass"></td><td><imput type="submit" value="login"></td></tr></table></form>
';
}
?>
include('db.inc');
if(isset($_GET['submit'])) {
if($_GET['submit'] != 1 OR !isset($_POST['user']) OR !isset($_POST['pass'])) {
die('Er is iets misgegaan.');
}
elseif( $_POST['user'] = "" OR $_POST['pass'] = "") {
die('Vul gebruikersnaam en wachtwoord in');
}
//De controle kan beginnen
$q0 = "SELECT * FROM leerling WHERE leerlingnummer = '".$_POST['user']."'";
$uit0 = mysql_query($q0);
if( mysql_num_rows($uit0) == 1) {
//Het is een leerling
$q3 = "SELECT wachtwoord FROM leerling WHERE leerling = '".$_POST['user']."'";
$uit3 = mysql_query($q3);
$mfa3 = mysql_fetch_array($uit3);
if ($mfa3['wachtwoord'] == md5($_POST['pass'])) {
//De leerling is ingelogt.
$sessiondata = base64_encode($_POST['pass']).";89-R2k@".base64_encode($_POST['user']).";89-R2k@".base64_encode("herkansingdata");
$data = base64_encode($sessiondata);
$_SESSION['data'] = $data;
header("Refresh: 1; url=indexleerling.php");
}
}else{
die('Het inloggen is mislukt. Probeer het nog een keer');
}
}else{
//opties: Het is of een leraar 2. de gebruiker bestaat niet.
$q1 = "SELECT * FROM docent WHERE docent_code = '".$_POST['user']."'";
$uit1 = mysql_query($q1);
if (mysql_num_rows($uit1) == 1) {
//Het is een docent
$q3 = "SELECT wachtwoord FROM docent WHERE docent_code = '".$_POST['user']."'";
$uit3 = mysql_query($q3);
$mfa3 = mysql_fetch_array($uit3);
if ($mfa3['wachtwoord'] == md5($_POST['pass'])) {
//De docent is ingelogt.
$sessiondata = base64_encode($_POST['pass']).";89-R2k@".base64_encode($_POST['user']).";89-R2k@".base64_encode("herkansingdata");
$data = base64_encode($sessiondata);
$_SESSION['data'] = $data;
header("Refresh: 1; url=indexdocent.php");
}
die('Deze gebruiker bestaat niet');
}
}else{
echo'<form action="index.php?submit=1" method="POST">
<table border="0">
<tr><td>gebruikersnaam:</td><td><imput name="user"></td></tr>
<tr><td>wachtwoord:</td><td><imput type="password" name="pass"></td><td><imput type="submit" value="login"></td></tr></table></form>
';
}
?>
Ik heb de haakjes al nageteld en nagekeken, maar volgens mij kloppen die allemaal.
Wie zou mij de oplossing kunnen geven.
Alvast bedankt!
Larszzie
regel 25, 26 staan 2 {, klopt dat?
Dan zie je direct dat je nu twee keer een else hebt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
if(isset($_GET['submit'])) {
if($_GET['submit'] != 1 OR !isset($_POST['user']) OR !isset($_POST['pass'])) {
}
elseif( $_POST['user'] = "" OR $_POST['pass'] = "") {
}
if( mysql_num_rows($uit0) == 1) {
if ($mfa3['wachtwoord'] == md5($_POST['pass'])) {
}
}else{
}
}else{
if (mysql_num_rows($uit1) == 1) {
if ($mfa3['wachtwoord'] == md5($_POST['pass'])) {
}
}
}else{
}
?>
if(isset($_GET['submit'])) {
if($_GET['submit'] != 1 OR !isset($_POST['user']) OR !isset($_POST['pass'])) {
}
elseif( $_POST['user'] = "" OR $_POST['pass'] = "") {
}
if( mysql_num_rows($uit0) == 1) {
if ($mfa3['wachtwoord'] == md5($_POST['pass'])) {
}
}else{
}
}else{
if (mysql_num_rows($uit1) == 1) {
if ($mfa3['wachtwoord'] == md5($_POST['pass'])) {
}
}
}else{
}
?>
Gewijzigd op 03/01/2011 22:34:26 door - SanThe -
Ha.. sorry hoor. Het kan dat je gelijkt hebt, maar ik zie de fout niet. (sorry ben ook pas net begonnen met php :@)
- SanThe - op 03/01/2011 22:34:10:
Netjes inspringen.
Dan zie je direct dat je nu twee keer een else hebt.
Dan zie je direct dat je nu twee keer een else hebt.
IF(conditie) (betekend ALS)
ELSEIF(conditie) (betekend ANDERS ALS..)
ELSE -> geen conditie (betekeind in ALLE andere gevallen)
Je mag dus maar een keer een 'else' defineer in 1 IF 'loop'. Het zou onlogisch zijn als je 2 keer 'in ALLE andere gevallen hebt' want dat kan natuurlijk niet.
Ik hoop dat het zo en beetje duidelijker is ;-)
maar ik heb het helemaal over het hoofd gezien. Ik heb de code nog eens doorgekeken en zag de fout nu wel. Jullie heel erg bedankt!!!