Mam problem z poprawą błędu
Undefined index:login in C:\xampp\htdocs\szpital\logowanie.php on line 27. Nie mam pojęcia od czego zacząć ponieważ jestem absolutnie zielony z php.
Tutaj zwykła strona HTML o nazwie logowanie.html, która kozysta ze skryptu logowanie.php. Skrypt logowanie.php przekierowuje na stronę wyświetlającą opcje wejścia na strone główną, jak i poprawnego, ponownego zalogowania. Wprzypadku błędnego zalogowania kozysta z kolejnego skryptu jakim jest logowanie1.php.(znajduje się poniżej kodu strony logowanie.html) Proszę mi wytłumaczyć co jest nie tak z kodem, opcjonalnie zaproponować leprze rozwiązanie skryptu logowania.
Strona logowanie.htmlCODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <meta http-equiv="content-type" content="text/html; charset= utf-8" /> <link rel="stylesheet" type="text/css" href="strona1.css" /> <li><a href="index.php" title="Powrót do Strony głównej">Strona Główna
</a></li> <li><a href="konto.php" title="Zarządzanie kontem">Konto
</a></li> <li><a href="baza.php" title="Baza danych leków">Baza Leków
</a></li> <li><a href="rejestracja.php" title="Założenie konta">Rejestracja
</a></li> <li><a href="logowanie.html" title="Zalogowanie się do konta">Logowanie
</a></li>
<?php
require_once('db.php'); // łączy z bazą danych
?>
<form action="logowanie.php" method="post"> <input type="hidden" name='wyslane' value="TRUE" /> <div id="log0"><p class="nalog">Login:
</p></div><div id="log"><input class="input" type="text" name="login" /></div> <div id="pass0"><p class="nalog">Hasło:
</p></div><div id="pass"><input class="input" type="password" name="haslo" size="20" maxlength="10"/></div> <div id="zaloguj"><input name="submit" class="button" type="submit" value="Zaloguj" /></div>
Tutaj natomiast jest sam skrypt z którym mam najwięcej problemów. W nim właśnie mam problem z poprawą walidacji indeksu - próbowałem tego co znalazłem w sieci.
Notice: Undefined index: login in C:\xampp\htdocs\szpital\logowanie.php on line 27 Tutaj po ob-tagowaniu 7 linia kody PHP.
Skrypt logowanie.phpCODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <meta http-equiv="content-type" content="text/html; charset= utf-8" /> <link rel="stylesheet" type="text/css" href="strona1.css" /> <li><a href="index.php" title="Powrót do Strony głównej">Strona Główna
</a></li> <li><a href="konto.php" title="Zarządzanie kontem">Konto
</a></li> <li><a href="baza.php" title="Baza danych leków">Baza Leków
</a></li> <li><a href="rejestracja.php" title="Założenie konta">Rejestracja
</a></li> <li><a href="logowanie.html" title="Zalogowanie się do konta">Logowanie
</a></li>
<?php
if (!$_SESSION['login'] || !$_SESSION['haslo']) {
echo 'Nie jesteś zalogowany! Przejdź do strony <a href="logowanie1.php">logowania</a>'; //pokazuje info, gdy nie jesteśmy zalogowani } else { //w innym wypadku...
echo 'Witaj <b>'.$_SESSION['login'].'</b>! Dziękujemy za zalogowanie się.</br> Kliknij <a href="wyloguj.php"><b>tutaj</b></a>, aby się wylogować.'; //pokazuje info, gdy jesteśmy zalogowani...
}
?>
<div id="stopka" style="pozsiton: relative; overflow: hidden; clear: both; margin: 0px 50px; width: 800px; top:558px"></div>
Skrypt Logowanie1.phpCODE
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <meta http-equiv="content-type" content="text/html; charset= utf-8" /> <link rel="stylesheet" type="text/css" href="strona1.css" /> <li><a href="index.php" title="Powrót do Strony głównej">Strona Główna
</a></li> <li><a href="konto.php" title="Zarządzanie kontem">Konto
</a></li> <li><a href="baza.php" title="Baza danych leków">Baza Leków
</a></li> <li><a href="rejestracja.php" title="Założenie konta">Rejestracja
</a></li> <li><a href="logowanie.html" title="Zalogowanie się do konta">Logowanie
</a></li>
<?php
require_once('config.php'); // łączy z bazą danych
if (isset($_POST['login']) and
isset($_POST['password'])) {
if(!$_POST['login'] || !$_POST['password']) // sprawdzamy czy wszystkie pola zostały wypełnione...
{
echo 'Nie podano loginu lub hasła!<br/><a href="login.php">Powrót</a>'; // jeżeli nie to wywala komunikat }
/* jeżeli tak, to pobierane dane z bazy o użytkowniku... */
else {
$pass = sha1($pass);
$zapytanie = "SELECT * FROM dane WHERE login_dane='$user' and haslo_dane ='$pass'";
if ($ile == 1)
{
$_SESSION['login'] = $user;
$_SESSION['password'] = $pass;
echo "Dziękujemy za zalogowanie się <b>".$_SESSION['login']. "</b>!<br/> Przejdź do <a href='index.html'>strony głółwnej</a><br/>
Przejdź do <a href='index.html'>Panelu użytkownika</a>";
}
/* .. lub o błądnych danych */
else { echo ('Podano nieprawidĹ?owe dane!<br/><a href="login.php">SprĂłbuj ponownie</a>'); } }
}
?>
<div id="stopka" style="pozsiton: relative; overflow: hidden; clear: both; margin: 0px 50px; width: 800px; top:558px"></div>
Ten post edytował wickas 20.01.2013, 12:51:49