Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Podstrona na hasło
-canuhelpme-
post
Post #1





Goście







Witam!
Raczkuję w temacie PHP, jednak potrzebny jest mi skrypt, który poprosi o hasło i przeniesie na daną stronę.
Poniżej znajduje się skrypt jaki znalazłem w sieci. Działa bez problemu na serwerze cba.pl, problem pojawia się kiedy umieściłem go na nazwa.pl. Skrypt nie ładuje mi strony. Nie mam pojęcia dlaczego, stąd moja prośba o pomoc. Oczywiście strona musi znaleść się na serwerze nazwa.pl. Oto kod:

  1. <div id="trzeci_blok">
  2. <p><br />
  3. <?php
  4. session_start(); //rozpoczęcie sesji
  5. include "haslo.php";
  6. //skrypt :)
  7. $pass = $_POST[pass];
  8. if ($pass)
  9. {
  10. if ($pass==$haslo)
  11. {
  12. $_SESSION[haslo] = $haslo;
  13. header ("Location: ./materials2.html"); //podajesz adres, na który po zalogowaniu skrypt przekierowuje
  14. }
  15. else
  16. {
  17. echo 'Podałeś niepoprawne hasło. :(';
  18. }
  19. }
  20. else
  21. {
  22. <form method=post>
  23. Podaj hasło: <INPUT TYPE="PASSWORD" NAME="pass" VALUE="'.$pass.'">
  24. <INPUT TYPE="SUBMIT" VALUE="Zaloguj">
  25. </FORM>
  26. ';
  27. }
  28. $action = $_GET[action];
  29. if ($action=="logout")
  30. {
  31. header("Location: index.html"); //podajesz adres, na który po wylogowaniu skrypt przekierowuje
  32. }
  33. ?>
  34.  
  35.  
  36.  
  37. </p>
  38. </div>


Podstrona z tym kodem ma rozszerzenie .php. Dodatkowo jest plik haslo.php. Jego kod to:

  1. <?php
  2. $haslo = "123456"; //hasło dostępu
  3. ?>


Bardzo proszę o pomoc. Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Calibri
post
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 4
Dołączył: 22.07.2011

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


Cześć.
Masz błędy w kodzie, możliwe że przez to serwer na nazwa.pl nie trybi.
Popraw błędy w liniach: 7, 12 i 29.

Linia 7:
masz:
Kod
$pass = $_POST[pass];

powinno być:
Kod
$pass = $_POST['pass'];
nie miałeś pass w apostrofach czy tam w cudzysłowach (niewiem jak piszesz). Dodatkowo na początku muszisz sprawdzić czy wogóle została taka zmienna zainicjowana. Więc popraw na:
Kod
$pass = (isset($_POST['pass'])) ? $_POST['pass'] : FALSE.


Linia 12:
masz:
Kod
$_SESSION[haslo] = $haslo;

powinno być:
Kod
$_SESSION['haslo'] = $haslo; // <- popraw na to.


Linia 29:
(podobnie jak z linią nr 7) - podam poprawną wersję:
Kod
$action = (isset($_GET[action])) ? $_GET['action'] : FALSE;


Linia 10:
brak wcześniejszej wersji inicjalizacyjnej $haslo. Mam nadzieję że w pliku który includujesz w linii 5 takowa zmienna istnieje (IMG:style_emoticons/default/wink.gif)

Pozdrawiam.

Ten post edytował Calibri 16.08.2011, 21:29:16
Go to the top of the page
+Quote Post

Posty w temacie


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: 9.10.2025 - 16:11