Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Logowanie (PHP+MySQL)
Forum PHP.pl > Forum > Przedszkole
adam12101986
Witam
Mam taki problem...
Po napisaniu pliku z logowaniem pojawiają mi się błędu
(Jeszcze przed chwilą te logowanie działało z tymi błędami, teraz już padło zupełnie)
Czy ktoś może mi pomóc questionmark.gif
plik logowanies.php
  1. <?php
  2. include 'funkcje.php';
  3. polacz();
  4. $login = isset($_SESSION['login']) ? $_SESSION['login'] : mysql_escape_string($_POST['login']);
  5. $haslo = mysql_escape_string($_POST['pass']);
  6. $zapytanie = mysql_query("SELECT * FROM admin WHERE login = '$login'");
  7. $dane = mysql_fetch_array($zapytanie);
  8. if(isset($_POST['login']) && isset($_POST['pass'])) {
  9. if($login ==''.$dane['login'].'' && $haslo ==''.$dane['haslo'].'')
  10. {
  11. $_SESSION['admin']='ok';
  12. $_SESSION['login']=''.$dane['login'].'';
  13. setcookie("log" , "log", time()+3600, "/","", 0);
  14. header("Location: admin.html");
  15. }
  16. else { echo 'Blad logowania, probuj dalej :)'; }
  17. }
  18. if(!isset($_SESSION['admin']) && !isset($_SESSION['login']) && $_SESSION['admin'] != 'ok' && !isset($_POST['submit']) && $_GET['p']!='wyloguj' && !isset($_COOKIE['log']))
  19. {
  20. <form action="logowaniea.php" method="POST">
  21. Login:<input type="text" name="login"><br/>
  22. Haslo:<input type="password" name="pass"><br/>
  23. <input type="submit" name="submit" value="Loguj">
  24. <h1><a href="index.html">POWROT</a></h1>
  25. </form>';
  26.  
  27. }
  28. if($_SESSION['admin'] == 'ok' && isset($_COOKIE['log']))
  29. {
  30. echo 'Jestes zalgowany! jako '.$_SESSION['login'].', <a href="?p=wyloguj">Wyloguj</a>';
  31. if($_GET['p']=='wyloguj') {
  32. setcookie("log" , "log", time()-3600, "/","", 0);
  33. header("Location: logowaniea.php");
  34. }
  35. }
  36. ?>


plik funkcje.php
  1. <?php
  2. /* Dane bazy danych:
  3. Adres bazy danych: localhost
  4. Nazwa bazy danych: baza
  5. Użytkownik: root
  6. Hasło:
  7. */
  8.  
  9. // Zmienna reprezentujaca polaczenie z bazą danych
  10. $conn = 0;
  11.  
  12. function polacz() {
  13. // Polaczenie z bazą danych MySQL
  14. global $conn;
  15.  
  16. // Łączenie z baza danych
  17. if (($conn = mysql_connect('localhost', 'root', '')) == 0)
  18. die ('Nie można się połączyć z bazą danych: ' . mysql_error());
  19.  
  20. // Wybor bazy danych
  21. if (mysql_select_db('baza') == 0)
  22. die ('Nie można wybrać bazy danych');
  23. };
  24.  
  25.  
  26. function rozlacz() {
  27. // Rozłączenie z baza danych
  28. global $conn;
  29.  
  30. mysql_close($conn);
  31. };
  32.  
  33. // Komunikat
  34. function komunikat($napis, $kolor) {
  35. echo "<FONT color=$kolor>";
  36. echo "<CENTER><BR><BR><H1>".
  37. "$napis".
  38. "</H1></CENTER>";
  39. echo "</FONT>";
  40. };
  41.  
  42. ?>


a o to i błędy...
Notice: Undefined index: login in C:\Program Files\Wamp\www\logowaniea.php on line 6

Notice: Undefined index: pass in C:\Program Files\Wamp\www\logowaniea.php on line 7

Notice: Undefined index: admin in C:\Program Files\Wamp\www\logowaniea.php on line 20

Notice: Undefined index: p in C:\Program Files\Wamp\www\logowaniea.php on line 20

Notice: Undefined index: admin in C:\Program Files\Wamp\www\logowaniea.php on line 31

Z góry dzięki za info (siedzę nad tym cały dzień i zaczyna mnie to wkurzać sad.gif)
Kshyhoo
Użyj BBcode do osadzenia kodu.

EDIT: nie masz zadeklarowanych tych zmiennym, jak chcesz się połączyć z bazą? Co zawiera plik funkcje.php? Wróżka ma w tym roku wolne...
adam12101986
Ale jak to nie są zadeklarowane questionmark.gif
To czemu to poprawnie działa questionmark.gif
Jestem laikiem więc może spróbujesz mi to wytłumaczyć lub poprawić, żebym mógł zobaczyć jak to ma wyglądaćquestionmark.gif
Kshyhoo
Użyj sobie Googli do przetłumaczenia:
Cytat
Notice: Undefined index: login in C:\Program Files\Wamp\www\logowaniea.php on line 6

To nic innego, jak:
Cytat
Uwaga: Nie zdefiniowany index: login w C:\Program Files\Wamp\www\logowaniea.php w linii 6

co pozwala mi sądzić, że mam rację;p
Pokaż, jak łączysz się z bazą.
adam12101986
Z bazą łączę się poprzez plik funcje.php - kod powyżej
Kshyhoo
Wklej zawartość tego pliki, kod do połączenia z bazą.
adam12101986
Gdzie mam wkleić questionmark.gif
Zawartość pliku funkcje.php do logowanies.php questionmark.gif (To chyba bez różnicy, bo u mnie jest on zaimplementowany)
Czy na forum mam Ci wkleić questionmark.gif (na forum jest w pierwszej wypowiedzi)
Kshyhoo
Sorry, nie zauważyłem, że edytowałeś pierwszy post.
adam12101986
  1. ?php
  2. /* Dane bazy danych:
  3. Adres bazy danych: localhost
  4. Nazwa bazy danych: baza
  5. Użytkownik: root
  6. Hasło:
  7. */
  8.  
  9. // Zmienna reprezentujaca polaczenie z bazą danych
  10. $conn = 0;
  11.  
  12. function polacz() {
  13. // Polaczenie z bazą danych MySQL
  14. global $conn;
  15.  
  16. // Łączenie z baza danych
  17. if (($conn = mysql_connect('localhost', 'root', '')) == 0)
  18. die ('Nie można się połączyć z bazą danych: ' . mysql_error());
  19.  
  20. // Wybor bazy danych
  21. if (mysql_select_db('baza') == 0)
  22. die ('Nie można wybrać bazy danych');
  23. };
  24.  
  25.  
  26. function rozlacz() {
  27. // Rozłączenie z baza danych
  28. global $conn;
  29.  
  30. mysql_close($conn);
  31. };
  32.  
  33. // Komunikat
  34. function komunikat($napis, $kolor) {
  35. echo "<FONT color=$kolor>";
  36. echo "<CENTER><BR><BR><H1>".
  37. "$napis".
  38. "</H1></CENTER>";
  39. echo "</FONT>";
  40. };
  41.  
  42. ?>
Kshyhoo
U mnie skrypt śmiga. Sprawdź, czy wpisałeś dobrze dane do połączenia z bazą (hasło). Plik funkcje.php na pewno jest w tej ścieżce?
adam12101986
U mnie skrypt też ogólnie działa, łączy się z bazą, pojawia mi się okno do loginu i do hasła, login i hasło jest weryfikowane, jeśli jest złe to pojawia się komunikat, że jest błędne, jeśli jest dobre to przechodzi mi do strony do której chcę, ale pojawiają się te nieszczęsne błędy, które brzydko wyglądają.
Kshyhoo
Bo nie masz zasięgu tychże zmiennych. Nie znam struktury plików, więc mogę tylko gdybać. Możesz użyć @, żeby wytłumić błędy, ale to nie jest dobra praktyka:
  1. @polacz();

Możesz też użyć kodu po session_start();:
  1. ini_set( 'display_errors', 'On' );
  2. error_reporting( E_ALL );

żeby wyświetlić wszystkie błędy, może coś tam się pojawi...
Ociu
Przypominam o używaniu odpowiedniego bbCode.
Kshyhoo
Zaczynam się gubić, Ty masz plik logowaniea.php, czy logowanies.php?
adam12101986
Mam plik i logowanies.php i logowaniea.php, ale okey sam już poradziłem sobie z problemem. Po prostu odwoływałem się do zmiennych, które były puste i dlatego wywalało błędy. Przypisałem wartości początkowe tych zmiennych i skrypt działa. Z góry dzięki, pozdrawiam, adam12101986
Kshyhoo
Można wiedzieć, po co dwa pliki logowania?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.