Parse error: unexpected T_ELSE maar het zijn niet de haakjes

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lars voorden

lars voorden

03/01/2011 22:26:07
Quote Anchor link
Hallo allemaal,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>
     '
;
}

?>

Ik heb de haakjes al nageteld en nagekeken, maar volgens mij kloppen die allemaal.
Wie zou mij de oplossing kunnen geven.

Alvast bedankt!
Larszzie
 
PHP hulp

PHP hulp

22/12/2024 10:02:15
 
Yea Rupie

Yea Rupie

03/01/2011 22:28:30
Quote Anchor link
regel 25, 26 staan 2 {, klopt dat?
 
- SanThe -

- SanThe -

03/01/2011 22:34:10
Quote Anchor link
Netjes inspringen.
Dan zie je direct dat je nu twee keer een else hebt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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{
}

?>
Gewijzigd op 03/01/2011 22:34:26 door - SanThe -
 
Lars voorden

lars voorden

04/01/2011 07:45:46
Quote Anchor link
Ha.. sorry hoor. Het kan dat je gelijkt hebt, maar ik zie de fout niet. (sorry ben ook pas net begonnen met php :@)
 
Vincent Huisman

Vincent Huisman

04/01/2011 08:08:46
Quote Anchor link
- SanThe - op 03/01/2011 22:34:10:
Netjes inspringen.
Dan zie je direct dat je nu twee keer een else hebt.
 
Kees Schepers

kees Schepers

04/01/2011 10:21:45
Quote Anchor link
In PHP bestaat een control flow (IF statement) uit de volgende mogelijkheden:

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 ;-)
 
Lars voorden

lars voorden

04/01/2011 15:08:09
Quote Anchor link
ja.. dat snapte ik wel.. (Ik had niet voor niets al een keer een elseif gebruikt :-P)
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!!!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.