Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Logowanie (PHP+MySQL), Problem z błędami
adam12101986
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.01.2010

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


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 (IMG:style_emoticons/default/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ć (IMG:style_emoticons/default/sad.gif) )

Ten post edytował Ociu 10.01.2010, 08:21:35
Powód edycji: [Ociu]: Poprawiłem bbCode
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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...

Ten post edytował Kshyhoo 9.01.2010, 22:19:02
Go to the top of the page
+Quote Post
adam12101986
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.01.2010

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


Ale jak to nie są zadeklarowane (IMG:style_emoticons/default/questionmark.gif)
To czemu to poprawnie działa (IMG:style_emoticons/default/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ć(IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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ą.
Go to the top of the page
+Quote Post
adam12101986
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.01.2010

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


Z bazą łączę się poprzez plik funcje.php - kod powyżej
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #6





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Wklej zawartość tego pliki, kod do połączenia z bazą.
Go to the top of the page
+Quote Post
adam12101986
post
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.01.2010

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


Gdzie mam wkleić (IMG:style_emoticons/default/questionmark.gif)
Zawartość pliku funkcje.php do logowanies.php (IMG:style_emoticons/default/questionmark.gif) (To chyba bez różnicy, bo u mnie jest on zaimplementowany)
Czy na forum mam Ci wkleić (IMG:style_emoticons/default/questionmark.gif) (na forum jest w pierwszej wypowiedzi)
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #8





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Sorry, nie zauważyłem, że edytowałeś pierwszy post.

Ten post edytował Kshyhoo 9.01.2010, 23:27:54
Go to the top of the page
+Quote Post
adam12101986
post
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.01.2010

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


  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. ?>
Powód edycji: [Ociu]: Poprawiłem bbCode
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #10





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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?
Go to the top of the page
+Quote Post
adam12101986
post
Post #11





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.01.2010

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


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ą.
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #12





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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...
Go to the top of the page
+Quote Post
Ociu
post
Post #13





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Przypominam o używaniu odpowiedniego bbCode.
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #14





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Zaczynam się gubić, Ty masz plik logowaniea.php, czy logowanies.php?
Go to the top of the page
+Quote Post
adam12101986
post
Post #15





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.01.2010

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


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
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #16





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Można wiedzieć, po co dwa pliki logowania?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.09.2025 - 20:23