Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][HTML][PHP]Skrypt Logowania w PHP - Problem z poprawą błędów, Nie wiem jak poprawić kod
wickas
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.01.2013

Ostrzeżenie: (0%)
-----


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.html
CODE
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  4. <head>
  5. <meta http-equiv="content-type" content="text/html; charset= utf-8" />
  6. <link rel="stylesheet" type="text/css" href="strona1.css" />
  7. <title>Logowanie - Szpital</title>
  8. </head>
  9. <body>
  10. <div id="pojemnik">
  11. <div id="nag">
  12. <div id="menu">
  13. <ul>
  14. <li><a href="index.php" title="Powrót do Strony głównej">Strona Główna</a></li>
  15. <li><a href="konto.php" title="Zarządzanie kontem">Konto</a></li>
  16. <li><a href="baza.php" title="Baza danych leków">Baza Leków</a></li>
  17. <li><a href="rejestracja.php" title="Założenie konta">Rejestracja</a></li>
  18. <li><a href="logowanie.html" title="Zalogowanie się do konta">Logowanie</a></li>
  19. </ul>
  20. </div>
  21. </div>

  1. <?php
  2. session_start(); // rozpoczynamy sesję
  3. require_once('db.php'); // łączy z bazą danych
  4. ?>

  1. <form action="logowanie.php" method="post">
  2. <input type="hidden" name='wyslane' value="TRUE" />
  3. <div id="logowanie">
  4. <div id="log0"><p class="nalog">Login:</p></div><div id="log"><input class="input" type="text" name="login" /></div>
  5. <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>
  6. <div id="zaloguj"><input name="submit" class="button" type="submit" value="Zaloguj" /></div>
  7. </div>
  8. <div id="stopka"></div>
  9. </div>
  10. </body>
  11. </html>


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.php
CODE
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  4. <head>
  5. <meta http-equiv="content-type" content="text/html; charset= utf-8" />
  6. <link rel="stylesheet" type="text/css" href="strona1.css" />
  7. <title>Logowanie - Szpital</title>
  8. </head>
  9. <body>
  10. <div id="pojemnik">
  11. <div id="nag">
  12. <div id="menu">
  13. <ul>
  14. <li><a href="index.php" title="Powrót do Strony głównej">Strona Główna</a></li>
  15. <li><a href="konto.php" title="Zarządzanie kontem">Konto</a></li>
  16. <li><a href="baza.php" title="Baza danych leków">Baza Leków</a></li>
  17. <li><a href="rejestracja.php" title="Założenie konta">Rejestracja</a></li>
  18. <li><a href="logowanie.html" title="Zalogowanie się do konta">Logowanie</a></li>
  19. </ul>
  20. </div>
  21. </div>
  22. <div id="wiad">

  1. <?php
  2. ini_set('display_errors','1');
  3.  
  4. if (!$_SESSION['login'] || !$_SESSION['haslo']) {
  5. echo 'Nie jesteś zalogowany! Przejdź do strony <a href="logowanie1.php">logowania</a>'; //pokazuje info, gdy nie jesteśmy zalogowani
  6. } else { //w innym wypadku...
  7. echo 'Witaj <b>'.$_SESSION['login'].'</b>! Dziękujemy za zalogowanie się.</br>
  8. Kliknij <a href="wyloguj.php"><b>tutaj</b></a>, aby się wylogować.'; //pokazuje info, gdy jesteśmy zalogowani...
  9. }
  10. ?>

  1. </div>
  2. <div id="stopka" style="pozsiton: relative; overflow: hidden; clear: both; margin: 0px 50px; width: 800px; top:558px"></div>
  3. </div>
  4. </body>
  5. </html>



Skrypt Logowanie1.php
CODE
  1. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset= utf-8" />
  4. <link rel="stylesheet" type="text/css" href="strona1.css" />
  5. <title>Logowanie - Szpital</title>
  6. </head>
  7. <body>
  8. <div id="pojemnik">
  9. <div id="nag">
  10. <div id="menu">
  11. <ul>
  12. <li><a href="index.php" title="Powrót do Strony głównej">Strona Główna</a></li>
  13. <li><a href="konto.php" title="Zarządzanie kontem">Konto</a></li>
  14. <li><a href="baza.php" title="Baza danych leków">Baza Leków</a></li>
  15. <li><a href="rejestracja.php" title="Założenie konta">Rejestracja</a></li>
  16. <li><a href="logowanie.html" title="Zalogowanie się do konta">Logowanie</a></li>
  17. </ul>
  18. </div>
  19. </div>
  20. <div id="wiad">

  1. <?php
  2. session_start(); // rozpoczynamy sesję
  3. require_once('config.php'); // łączy z bazą danych
  4.  
  5. isset($_POST['login']);
  6. isset($_POST['haslo']);
  7.  
  8. if (isset($_POST['login']) and isset($_POST['password']))
  9. {
  10. if(!$_POST['login'] || !$_POST['password']) // sprawdzamy czy wszystkie pola zostały wypełnione...
  11. {
  12. echo 'Nie podano loginu lub hasła!<br/><a href="login.php">Powrót</a>'; // jeżeli nie to wywala komunikat
  13. }
  14. /* jeżeli tak, to pobierane dane z bazy o użytkowniku... */
  15. else {
  16. $user = mysql_real_escape_string(trim($_POST['login']));
  17. $pass = mysql_real_escape_string(trim($_POST['password']));
  18. $pass = sha1($pass);
  19. $zapytanie = "SELECT * FROM dane WHERE login_dane='$user' and haslo_dane ='$pass'";
  20. $zapytanie1 = mysql_query($zapytanie) or die("Wystąpił błąd!");
  21. $ile = mysql_num_rows($zapytanie1);
  22. $zapytanie1 = mysql_fetch_array($zapytanie1);
  23. if ($ile == 1)
  24. {
  25. $_SESSION['login'] = $user;
  26. $_SESSION['password'] = $pass;
  27. echo "Dziękujemy za zalogowanie się <b>".$_SESSION['login']. "</b>!<br/>
  28. Przejdź do <a href='index.html'>strony głółwnej</a><br/>
  29. Przejdź do <a href='index.html'>Panelu użytkownika</a>";
  30. }
  31. /* .. lub o błądnych danych */
  32. else { echo ('Podano nieprawidĹ?owe dane!<br/><a href="login.php">SprĂłbuj ponownie</a>'); }
  33. }
  34. }
  35. ?>

  1. </div>
  2. <div id="stopka" style="pozsiton: relative; overflow: hidden; clear: both; margin: 0px 50px; width: 800px; top:558px"></div>
  3. </div>
  4. </body>
  5. </html>


Ten post edytował wickas 20.01.2013, 12:51:49
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 10:16