Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] sesja dalej problemy
Forum PHP.pl > Forum > Przedszkole
ZimeK
Ciagle nie dziala mi ta sesja :/ gdy tylko usune czesc kodu ( session_start(); ) to normalnie loguje jako admin i przezuca do strony 2 ( jezeli wczesniej zdeklaruje przejscie header strona bla ) dopiero w momencie dodania sesji jak w kodzie ponizej ciagle pojawia się blad php.exe i wywala do windowsa :C nie pomoglo pzreinstalowanie

  1. <?
  2. $login= $_POST['login'];
  3. $haslo= $_POST['haslo'];
  4. $adres_strony = "strona1.php";
  5. if ($haslo == "" || $login == "") 
  6. {
  7. echo "<body bgcolor='#6600FF' link='#000000' vlink='#000000' alink='#000000'>";
  8. # echo "<div align='center'><img src='file:///G|/dwa08/newland/logo na saita2.jpg' alt='dc' width='520' height='520' align='texttop' />"
  9. echo "<form action='http://localhost/strona1.php' method=post><br>";
  10. echo "Login: <input type=text name=login><br>";
  11. echo "Haslo: <input type=password name=haslo><br>";
  12. echo "<input type=submit value=Loguj>";
  13. echo "<p align='right'><font size='4'><a href='strona12.html'>Rejestracja</a></font></p>";
  14. exit();
  15. }
  16.  
  17.  
  18. $haslo_mysql = "bla";
  19. $uzytkownik = "bla";
  20. $host = "sql.bla.com.pl";
  21. $dbc = mysql_connect ($host, $uzytkownik, $haslo_mysql);
  22. mysql_select_db($uzytkownik );
  23. $zapytanie="select Haslo, Login from Info where '".$login."' like Login";
  24. $wynik = @mysql_query($zapytanie);
  25.  
  26. $row = mysql_fetch_array ($wynik, MYSQL_NUM);
  27.  
  28. if ($haslo==$row[0] && $login==$row[1]) 
  29. {
  30. if ($row)
  31. {
  32. $host = $_SERVER['HTTP_HOST'];
  33. $uri  = rtrim(dirname($_SERVER['PHP_SELF']), '/');
  34. $extra = 'strona2.php';
  35. header("Location: http://$host$uri/$extra");
  36. }
  37. }
  38.  
  39. elseif ($haslo!="" || $login!="")
  40. {
  41. echo "<body bgcolor='#6600FF' link='#000000' vlink='#000000' alink='#000000'>";
  42. echo "Zle haslo i/lub login<br>
  43. '<a href=$adres_strony>Spróbuj ponownie'</a>";
  44. } 
  45. ?>



pomozcie please
piczu
a ty ciagle nie poprawiles zapytania.
  1. <?php
  2. //..
  3. $zapytanie="SELECT Haslo, Login FROM Info WHERE Login like '%".$login."%'";
  4. //..
  5. ?>
phpion
Ssss, troszkę niebezpieczny sposób. Powiedzmy, że mam login pion i w bazie jest user pionas - mogę (teoretycznie) wejść na konto pionas (kwestia usunięcia %). Ponadto dobrze jest również sprawdzać wielkość liter (BINARY):
  1. <?php $zapytanie="SELECT Haslo, Login FROM Info WHERE Login LIKE BINARY '".$login."'"; ?>
ZimeK
zmienilem zapytanie sqla. Sprawdza duze litery ale po wpisaniu poprawnego loginu i hasla zamiast przezucac do panelu admina ( strona 2 ) to wyskakuje blad aplikacji php.exe nastapi zamkniecie programu a jezeli sie zle zaloguje ( bledny login lub haslo ) to normalnie mowi sproboj ponownie :C

zaznaczam ze zaczelo mi sie to dziac dopiero od momentu dodania sesji :C

ciagle sie wysypuje ten sam blad :/ przeinstalowanie srodowiska nic nie dalo. Sprawdzalem linijke po linijce i dalej nic :/
www0_0
Cytat(ZimeK @ 17.04.2007, 19:52:48 ) *
  1. <?php
  2. if ($row)
  3. {
  4. $host = $_SERVER['HTTP_HOST'];
  5. $uri  = rtrim(dirname($_SERVER['PHP_SELF']), '/');
  6. $extra = 'strona2.php';
  7. header("Location: http://$host$uri/$extra");
  8. }
  9. ?>

A możesz mi powiedzieć po co ci ten if który na dodatek że nic nie wykonuje, to jeszcze ogranicza fragment strony z sesjią. Przecież on w wyniku dostaje tablice, a nie masz tam żadnego sprawdzania, na dodatek piętro wyżej masz if który odwala całą robotę.
ZimeK
usunalem tego ifa ale niestety sesja dalej mi nie dziala, a nawet sie nic nie wyswietla ( czysta strona ) i w tym problem ze nawet nie wskazuje gdzie mam blad :/
Kicok
1. Spróbuj z inną/nowszą wersją PHP
2. Sprawdź czy ten kod też wywali ci serwer:
  1. <?php
  2. if(isset($_GET['unset'])) {
  3. unset($_SESSION['test']);
  4. }
  5. if(isset($_GET['set'])) {
  6. $_SESSION['test'] = 'TEST';
  7. }
  8.  
  9. if(isset($_SESSION['test'])) {
  10. echo($_SESSION['test'] . '<br><br>');
  11. }
  12. echo('<a href="?set=1">set</a><br><a href="?unset=1">unset</a>');
  13.  
  14. ?>



3. Ewentualnie spróbuj zrobić coś takiego:
Otwórz plik konfiguracyjny php.ini, odkomentuj "session.save_path" i przypisz jej ścieżkę do katalogu, w którym PHP na pewno będzie miał prawa do zapisywania plików. Potem restart serwera WWW i testy.



[EDIT]
Cytat
i w tym problem ze nawet nie wskazuje gdzie mam blad :/

Poszukaj w folderze twojego serwera WWW katalogu z logami błędów. Być może PHP zapisał tam coś ciekawego.
ZimeK
zainstalowalem najnowszego apache.

Po wpisaniu kodu ktory podales wywala mi sie bialy ekran.

znalazlem w folderach php plik o naszwie errors

a oto co podaje od zainstalowania php :

[Fri May 18 19:23:51 2007] [notice] Parent: Created child process 1140
[Fri May 18 19:23:51 2007] [notice] Child 1140: Child process is running
[Fri May 18 19:23:51 2007] [notice] Child 1140: Acquired the start mutex.
[Fri May 18 19:23:51 2007] [notice] Child 1140: Starting 250 worker threads.
[Sat May 19 13:37:25 2007] [notice] Parent: Created child process 484
[Sat May 19 13:37:25 2007] [notice] Child 484: Child process is running
[Sat May 19 13:37:25 2007] [notice] Child 484: Acquired the start mutex.
[Sat May 19 13:37:25 2007] [notice] Child 484: Starting 250 worker threads.


Nie rozumiem o co mu chodzi.

Teraz juz nie wyskakuje blad php.exe ( ze aplikacja zostanie zamknieta ) tylko pojawia sie strona z bialym erkanem :/ kurcze pomuzcie sad.gif bo zaniedlugo mam z tego programu zaliczenie a nie jest skonczony sad.gif
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.