Witam, problem jak widać podstawowy ale już na tyle razy zmieniałem kod że zauważyłem iż wstawiam już te ify na "łapu capu", mogłby mi ktoś powiedzieć jak to poprawić, ja już nie mam koncepcji ( wyskakuje mi taki błąd Parse error: parse error, unexpected T_ELSE in c:\program files\easyphp1-7\www\praca\logowanie.php on line 52 ). chodzi o to żeby sprawdzić czy zmienna test jest ustawiona na "tak" czy na "nie", Jesli na tak to wyswietlic komunikat "Nie można 2 razy rozwiązywać testu" i zakonczyc skrypt a jesli na nie to ustwic ją na "tak" i przejsc dalej.
Kod:
<?php
include ('header.inc');
if (isset ($_POST['submit'])) { require_once('./polacz_z_baza.php');
$wiadomosc = NULL;
if (empty($_POST['uzytkownik'])) { $u=false;
$wiadomosc.='<p>Wprowadź nazwę użytkownika</p>';
} else {
$u=($_POST['uzytkownik']);
}
if (empty($_POST['haslo'])) { $p=false;
$wiadomosc.='<p>Wprowadź hasło</p>';
} else {
$p=($_POST['haslo']);
}
if ($u && $p) {//Nazwa użytkownika i hasło są podane
$zapytanie = \"SELECT nr, uzytkownik, test FROM uzytkownicy WHERE uzytkownik = '$u' AND haslo = '$p'\";
if ($wiersz) {
//Rejestruję sesję i przekierowuję użytkownika do egzaminu.
$_SESSION['uzytkownik'] =$wiersz[1];
$_SESSION['nr'] =$wiersz[0];
$test = $wiersz[3];
if ($test = tak) {
print 'Nie można 2 razy rozwiązywać testu '; //jesli test juz byl rozwiazywany } else {
//jesli nie byl rozwiazywany - poczatek
/* po pierwszym zalogowaniu ustalam wartość pola logicznego w bazie na tak,
aby zapobiec ponownemu rozwiązywaniu testu przez danego użytkownika */
mysql_query(\"UPDATE uzytkownicy SET test = 'tak' WHERE uzytkownik = '$u'\"); } else {
$wiadomosc ='<p>Błedny login lub hasło</p>';
}
} else {
$wiadomosc.='<p>Spróbuj ponownie.</p>';
}
}
echo '<font color =\"red\">', $wiadomosc , '</font>'; }
$_SESSION['data']= date('Y-m-j H:i:s'); //jesli nie byl - koniec
?>
Ten post edytował artur81 1.02.2005, 19:48:58