Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przejście na strone
bronx
post 1.11.2004, 02:04:17
Post #1





Grupa: Zarejestrowani
Postów: 333
Pomógł: 0
Dołączył: 4.03.2004

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


witam

czemu poniższy skrypt po wpisaniu dobrego loginu i hasła nie przenosi mnie na strone admin.php questionmark.gif?

  1. <?php
  2.  
  3. require_once(&#092;"loginy.php\");
  4.  
  5. $_SESSION['login'] = $_POST['login'];
  6. $_SESSION['haslo'] = $_POST['haslo'];
  7.  
  8. if( isset( $users[ $_SESSION[ 'login' ] ] ) AND $users[ $_SESSION[ 'login' ] ] == $_SESSION[ 'haslo' ] )
  9. {
  10.  
  11. header(&#092;"Location: http://www.mojastrona.pl/admin.php\");
  12.  
  13. } 
  14.  
  15. else 
  16.  
  17. {
  18.  
  19. echo &#092;"niezalogowany\";
  20.  
  21. }
  22.  
  23. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
sf
post 1.11.2004, 09:17:06
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Nie widze session_start(), pozatym włączyłeś obsługę błędów na E_ALL ? No i czemu nie zrobisz echo wszystkich zmiennych. Wtedy widać przeważnie co jest nie tak.


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
zYm3N
post 1.11.2004, 09:22:50
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 29.08.2004
Skąd: POLAND

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


nie jestem pewien w 100 % ale:

a) header("Location: http://www.mojastrona.pl/admin.php"); a może lepiej admin.php ? Wiem, że to najprostrzy i najśmieszniejszy błąd, ale ja wiem ile czasu nad takowymi spędziłem snitch.gif

cool.gif session_start ?
Go to the top of the page
+Quote Post
ARJ
post 1.11.2004, 09:23:05
Post #4





Grupa: Zarejestrowani
Postów: 453
Pomógł: 22
Dołączył: 20.09.2004
Skąd: Kraków - NH -

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


czemu zaczynasz nowy wątek?? w dziale php pytałeś się o to! dostałeś rade ale czekasz na łatwizne. tak jak napisał @sf niemasz session_start. potem masz błędne porównanie. masz coś takiego login && login == haslo. co to ma być?
musisz porównać hasło z sesji z hasłem z bazy danych.


--------------------
Warsztat: Windows 7 Pro 64bit | Apache 2.2 | PHP 5.2 | MySQL 5.0 | PHPmyadmin 2.6.4
Go to the top of the page
+Quote Post
ActivePlayer
post 1.11.2004, 09:35:07
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


  1. <?php
  2. if( isset( $users[ $_SESSION[ 'login' ] ] ) AND $users[ $_SESSION[ 'haslo' ] ] == $_SESSION[ 'haslo' ] )
  3. ?>

moze tak ?
Go to the top of the page
+Quote Post
ARJ
post 1.11.2004, 10:44:48
Post #6





Grupa: Zarejestrowani
Postów: 453
Pomógł: 22
Dołączył: 20.09.2004
Skąd: Kraków - NH -

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


ja mam coś takiego:
  1. <?php
  2. include(&#092;"connect.php\"); //połączene z bazą
  3. $_SESSION[&#092;"login\"] = strtolower(trim($_POST['login']));
  4. $_SESSION[&#092;"haslo\"] = md5(trim($_POST['haslo']));
  5. $users=mysql_query(&#092;"SELECT * FROM users WHERE login='$_SESSION[login]'\");
  6. $user=mysql_fetch_array($users);
  7. if($_SESSION[&#092;"haslo\"] == $user[\"haslo\"] && $_SESSION[\"login\"] == strtolower($user[\"login\"]) && $user[\"poziom\"] == \"3\"){
  8. header(&#092;"Location: frame.php\"); exit;
  9. }else{
  10. echo &#092;"Niezalogowany!\";
  11. }
  12. ?>


--------------------
Warsztat: Windows 7 Pro 64bit | Apache 2.2 | PHP 5.2 | MySQL 5.0 | PHPmyadmin 2.6.4
Go to the top of the page
+Quote Post
bronx
post 1.11.2004, 13:38:24
Post #7





Grupa: Zarejestrowani
Postów: 333
Pomógł: 0
Dołączył: 4.03.2004

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


Cytat(ARJ @ 2004-11-01 10:23:05)
czemu zaczynasz nowy wątek?? w dziale php pytałeś się o to! dostałeś rade ale czekasz na łatwizne. tak jak napisał @sf niemasz session_start. potem masz błędne porównanie. masz coś takiego login && login == haslo. co to ma być?
musisz porównać hasło z sesji z hasłem z bazy danych.

tam nie dostałem żadnej rady odnośnie tego, tamten wątek był troche o czym innym... Hasła są w pliku txt, a nie w bazie danych...

session_start również jest, tylko że na początk stronu i tutaj zapomniałem tego wkleić smile.gif

nie pokazuje żadnych błęów...

po wstawieniu samego header("Location: admin.php"); tez nie przenosi

ten skrypt jest wstawiony w srodku calego otoczenia strony...

  1. <?php
  2. ?>
  3.  
  4. //caly html, pare include
  5.  
  6. <?php
  7.  
  8. require_once(&#092;"loginy.php\");
  9.  
  10. $_SESSION['login'] = $_POST['login'];
  11. $_SESSION['haslo'] = $_POST['haslo'];
  12.  
  13. if( isset( $users[ $_SESSION[ 'login' ] ] ) AND $users[ $_SESSION[ 'login' ] ] == $_SESSION[ 'haslo' ] )
  14. {
  15.  
  16. header(&#092;"Location: admin.php\");
  17.  
  18. } 
  19.  
  20. else
  21.  
  22. { 
  23.  
  24. echo &#092;"niezalogowany\";
  25. }
  26. ?>
  27.  
  28. //dalsza czesc strony, i kolejny include :)


o co tu jeszcze może chodzić questionmark.gif
Go to the top of the page
+Quote Post
sf
post 1.11.2004, 15:30:19
Post #8





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Stary, a co to jest ta tablica $users? Rozpisz to tak:
  1. <?php
  2.  
  3. if(!isset( $users[ $_SESSION[ 'login' ] ] )) {
  4. echo '1. tu jest blad';
  5. }
  6. elseif($users[ $_SESSION[ 'login' ] ] != $_SESSION['haslo'] ) {
  7. echo '2. ojej, tu jest blad<br />';
  8. echo $users[$_SESSION['login']].' - user, haslo - ';
  9. echo $_SESSION['haslo'];
  10. }
  11. else {
  12. echo 'jest ok, chodz sie to nie wyswietli zapewne';
  13. }
  14.  
  15. ?>


chyba sie nigdzie nie walnolem ;]

Ten post edytował sf 1.11.2004, 15:36:11


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
bronx
post 1.11.2004, 15:41:52
Post #9





Grupa: Zarejestrowani
Postów: 333
Pomógł: 0
Dołączył: 4.03.2004

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


Cytat(sf @ 2004-11-01 16:30:19)
Stary, a co to jest ta tablica $users? Rozpisz to tak:
  1. <?php
  2.  
  3. if(!isset( $users[ $_SESSION[ 'login' ] ] )) {
  4.     echo '1. tu jest blad';
  5. }
  6. elseif($users[ $_SESSION[ 'login' ] ] != $_SESSION['haslo'] ) {
  7.     echo '2. ojej, tu jest blad<br />';
  8.     echo $users[$_SESSION['login']].' - user, haslo - ';
  9.     echo $_SESSION['haslo'];
  10. }
  11. else {
  12.     echo 'jest ok, chodz sie to nie wyswietli zapewne';
  13. }
  14.  
  15. ?>


chyba sie nigdzie nie walnolem ;]

tak wygląda plik z hasłami... więc jak to poprawić ? zmienić te warunki czy inaczej zapisywac loginy i hasła ?

loginy.php:

  1. <?php 
  2.  
  3. $users['bronx'] = 'haselko';
  4. $users['test'] = 'test';
  5. $users['krzysiek'] = 'php';
  6. //itd
  7. ?>
Go to the top of the page
+Quote Post
sf
post 1.11.2004, 16:05:52
Post #10





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Daj mi wynik działania tego co napisałem tongue.gif To Ci może powiem ;]


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
bronx
post 1.11.2004, 16:19:11
Post #11





Grupa: Zarejestrowani
Postów: 333
Pomógł: 0
Dołączył: 4.03.2004

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


Cytat(sf @ 2004-11-01 17:05:52)
Daj mi wynik działania tego co napisałem tongue.gif To Ci może powiem ;]

"jest ok, chodz sie to nie wyswietli zapewne" smile.gif

no dobra to więc jak powienienm to wszystko pozmienać ? blink.gif

i najażniejsze dlaczego nie przenosi mnie na strone admin.php questionmark.gif

jak to wszystko ma wygladać ?
Go to the top of the page
+Quote Post
sf
post 1.11.2004, 17:01:37
Post #12





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


No i good. Tzn. ze wszystko jest ok.

Cytat
  1. <?php
  2. ?>
  3.  
  4. //caly html, pare include


Hm, a pamietasz, ze header nalezy wysylac przed trescia HTML ? Czyli jak wyslesz juz np "<table>" to nie mozesz wyslac potem header? ;]

Tylko wtedy powinno Ci wyskoczyć ostrzeżenie, np. takie:

Cytat
Warning: Cannot modify header information - headers already sent by (output started at D:\www\test\cos.php:2) in D:\www\test\cos.php on line 21


Dlatego napisałem, abyś ustawił obsługę błędów na E_ALL ... to jest w php.ini.

Ten post edytował sf 1.11.2004, 17:06:24


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
bronx
post 1.11.2004, 17:50:32
Post #13





Grupa: Zarejestrowani
Postów: 333
Pomógł: 0
Dołączył: 4.03.2004

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


no właśnie wiem i nie bardzo wiem jak teraz z tego wybrnąc... dokładnie o co mi chodzi znajdziesz tu:

http://forum.php.pl/index.php?showtopic=22382

pozdrawiam
Go to the top of the page
+Quote Post
sf
post 1.11.2004, 18:12:39
Post #14





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Eh, należy inaczej skonstruować skrypt. Kłania się planowanie.

Najpierw sprawdzasz czy ma iść gdzie indziej. Potem wyświetlasz stronę.

Ty chcesz zrobić tak: wyświetlasz stronę (cześć kodu poszła), a potem chcesz iść do strony innej (używając location). I to wszystko jest w jednym jakby odświeżeniu strony!

Jak ma zareagować serwer? Dwie naraz wyświetlić? Bez sensu!

Ten post edytował sf 1.11.2004, 18:24:01


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:44