Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Hasło na stronie, Hasło do strony
scheitel
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 9.08.2010

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


witam,
chcę zrobić stronę na hasło. W necie znalazłem gotowy kod jednak ma pewną wadę, otóż nie ważne jest czy podam właściwe hasło bo i tak pojawi mi się ta sama strona.

Kod str html:
  1. <html>
  2.  
  3.  
  4. <title>Strona prywatna > Dostęp ograniczony</title>
  5.  
  6. <meta name="generator" content="Bluefish 1.3.7" >
  7.  
  8. <meta name="author" content="" >
  9.  
  10. <meta name="date" content="2010-08-09T23:14:18+0100" >
  11.  
  12. <meta name="copyright" content="">
  13.  
  14. <meta name="keywords" content="">
  15.  
  16. <meta name="description" content="">
  17.  
  18. <meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
  19.  
  20. <meta http-equiv="content-type" content="text/html; charset=UTF-8" >
  21.  
  22. <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8">
  23.  
  24. <meta http-equiv="expires" content="0">
  25.  
  26. <style type="text/css">
  27.  
  28. body {
  29.  
  30. color: #123456;
  31.  
  32. width: 600px;
  33.  
  34. height: 400px;
  35.  
  36. text-align: center;
  37.  
  38. padding: 100px 1px 1px 350px;
  39.  
  40. background-image: url(img/1.jpg);
  41.  
  42. background-color: #78B6F2;
  43.  
  44. }
  45.  
  46. p {
  47.  
  48. margin: 2px;
  49.  
  50. font: 1em arial, sans-serif;
  51.  
  52. background-attachment: fixed;
  53.  
  54. }
  55.  
  56. input {
  57.  
  58. color: #123456;
  59.  
  60. font-size: 12px;
  61.  
  62. background-color: #C9E5EF;
  63.  
  64. line-height: 2em;
  65.  
  66. }
  67.  
  68. </head>
  69. <body>
  70. <form action="loguj.php" method="post"> Podaj swoje imię
  71.  
  72. <input type="text" name="nazwa" size="12" maxlength="20" > <br>
  73.  
  74. Hasło
  75.  
  76. <input type="password" name="haslo"> <br>
  77.  
  78. <input type="submit" value="wyślij"> </form>
  79.  
  80. </body>
  81.  
  82. </html>


Strona loguj.php
tutaj mam prośbę aby ktoś pomógł mi ustawić ten kod tak żeby poprawne wpisanie hasła dawało dostęp to treści na stronie, a błędnie wpisane hasło włączało stronę np blad.html albo wyświetlało sam komunikat o błędzie.

  1. <html>
  2.  
  3. <body>
  4.  
  5. <? $haslo = $_POST['haslo']; $prawdziwe = "91062505835"; // Twój PESEL
  6.  
  7. if ($haslo==$prawdziwe) { // Zatwierdź
  8.  
  9. echo("Podałeś prawidłowe hasło!"); }
  10.  
  11. else {
  12.  
  13. echo ("Podane przez ciebie hasło jest błedne!");}
  14.  
  15. ?>
  16.  
  17. <br>
  18.  
  19. <b>tu chciałbym mieć tą treść która będzie dostępna po poprawnie wpisanym haśle</b>
  20.  
  21. </body>
  22.  
  23. </html>

Go to the top of the page
+Quote Post
IceManSpy
post
Post #2





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


Wersja, gdzie masz w innym pliku tajną stronę.
  1. <html>
  2. <body>
  3. <? $haslo = $_POST['haslo']; $prawdziwe = "91062505835"; // Twój PESEL
  4. if ($haslo==$prawdziwe) {
  5. echo("Podałeś prawidłowe hasło!");
  6. header('Location:tajnastrona.html');
  7. }
  8. else {
  9. echo ("Podane przez ciebie hasło jest błedne!");
  10. header('Location:blad.html');
  11. }
  12. ?>
  13. <br>
  14. <b>tu chciałbym mieć tą treść która będzie dostępna po poprawnie wpisanym haśle</b>
  15. </body>
  16. </html>

Wersja, gdzie chcesz mieć w tym samym:
  1. <html>
  2. <body>
  3. <? $haslo = $_POST['haslo']; $prawdziwe = "91062505835"; // Twój PESEL
  4. if ($haslo!=$prawdziwe) { // Zatwierdź
  5. echo ("Podane przez ciebie hasło jest błedne!");
  6. header('Location:blad.html');
  7. }
  8. ?>
  9. <br>
  10. <b>tu chciałbym mieć tą treść która będzie dostępna po poprawnie wpisanym haśle</b>
  11. </body>
  12. </html>


Ten post edytował IceManSpy 9.08.2010, 23:24:20
Go to the top of the page
+Quote Post
Pawel_W
post
Post #3





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


chyba Ci to nie zadziała (IMG:style_emoticons/default/winksmiley.jpg) header nie można wywoływać po przesłaniu kodu do przeglądarki, musisz skorzystać z buforowania ob

i dla bezpieczeństwa po header dawaj exit; inaczej kod będzie się dalej wykonywał (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Pawel_W @ 9.08.2010, 23:28:31 ) *
chyba Ci to nie zadziała (IMG:style_emoticons/default/winksmiley.jpg) header nie można wywoływać po przesłaniu kodu do przeglądarki, musisz skorzystać z buforowania ob

Nagłówki zawsze ale to zawsze muszą zostać przesłane jako pierwsze, nawet BOM może skutecznie wywołać błąd: headers already sent.

Co do buforowania - można i tak zastosować, ale to raczej nie do tego służy.

Moja teoria: jeżeli musisz użyć buforowania przy wysyłaniu nagłówków - coś jest nie tak.
Go to the top of the page
+Quote Post
gorden
post
Post #5





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


to ja wkleje swój kodzik.

  1. <?php
  2. $haslo = "omega"; //tutaj haslo
  3.  
  4. if(isset($_POST['submit'])) {
  5. if($haslo !== $_POST['haslo']) { echo"Niestety wpisałeś złe hasło, nie możesz wejść."; exit; } ?>
  6.  
  7.  
  8. <!-- TUTAJ STRONA -->
  9.  
  10.  
  11. <? exit; } ?>
  12. <form action="haslo.php" method="post">
  13. Wpisz hasło: <input type="text" name="haslo">
  14. <input type="submit" name="submit" value="Wejdź">
  15. </form>


wada tego skryptu jest taka, że przed "TUTAJ STRONA" musi być kod wyżej, a pod - kod niżej. kod sprawdziłem, działa. można użyć dodatkowo sesji dla osób, które dobrze wpisały hasło, co uniknie wpisywania przy odświeżaniu hasła na nowo.

Ten post edytował gorden 10.08.2010, 00:27:24
Go to the top of the page
+Quote Post
kilas88
post
Post #6





Grupa: Zarejestrowani
Postów: 305
Pomógł: 25
Dołączył: 27.01.2007

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


Cytat(fifi209 @ 10.08.2010, 00:58:11 ) *
Nagłówki zawsze ale to zawsze muszą zostać przesłane jako pierwsze, nawet BOM może skutecznie wywołać błąd: headers already sent.

Co do buforowania - można i tak zastosować, ale to raczej nie do tego służy.

Moja teoria: jeżeli musisz użyć buforowania przy wysyłaniu nagłówków - coś jest nie tak.

Niet, Pawel_W napisał prawidłową odpowiedź.

Cytat
Note: You can use output buffering to get around this problem, with the overhead of all of your output to the browser being buffered in the server until you send it. You can do this by calling ob_start() and ob_end_flush() in your script, or setting the output_buffering configuration directive on in your php.ini or server configuration files.
Go to the top of the page
+Quote Post
Fifi209
post
Post #7





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(kilas88 @ 10.08.2010, 01:13:52 ) *
Niet, Pawel_W napisał prawidłową odpowiedź.


Możesz użyć nie znaczy użyj. ;]

Masz poczytaj sobie.

Ten post edytował fifi209 10.08.2010, 10:47:04
Go to the top of the page
+Quote Post
scheitel
post
Post #8





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 9.08.2010

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


Mógłby mi ktoś powiedzieć co musiałbym zrobić w tym moim kodzie żeby dodać drugi warunek, tzn. żeby przejść do strony należało by podać przykładowo hasło i jeszcze jakiś kod i dopiero po poprawnym wpisaniu tych 2ch danych można było wyświetlić stronę.
  1. 1.
  2. <html>
  3. 2.
  4. <body>
  5. 3.
  6. <? $haslo = $_POST['haslo']; $prawdziwe = "91062591028"; // Twój PESEL
  7. 4.
  8. if ($haslo!=$prawdziwe) { // Zatwierdź
  9. 5.
  10. echo ("Podane przez ciebie hasło jest błedne!");
  11. 6.
  12. header('Location:blad.html');
  13. 7.
  14. }
  15. 8.
  16. ?>
  17. 9.
  18. <br>
  19. 10.
  20. <b>tu chciałbym mieć tą treść która będzie dostępna po poprawnie wpisanym haśle</b>
  21. 11.
  22. </body>
  23. 12.
  24. </html>
Go to the top of the page
+Quote Post
glh
post
Post #9





Grupa: Zarejestrowani
Postów: 97
Pomógł: 20
Dołączył: 18.12.2007
Skąd: Poznań

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


Zakładając, że plik nazywa się test.php można to zrobić tak:
  1. <?php
  2. $login=$_POST['login'];
  3. $haslo=$_POST['haslo'];
  4.  
  5. if (isset($login) && isset($haslo) && $login=="dobry login" && $haslo=="tajne haslo")
  6. {
  7. echo "Tutaj dajesz tresc dla znajacych login i haslo.<br/>";
  8. } else
  9. {
  10. echo "Podaj dobry login oraz tajne haslo<br/>";
  11. ?>
  12. <form action="test.php" method="post">
  13. Login:<input type="text" name="login"/><br/>
  14. Haslo:<input type="text" name="haslo"/><br/>
  15. <input type="submit" value="Loguj"/>
  16. </form>
  17. <?php
  18. }
  19.  
  20. ?>
  21.  


//login to "dobry login" a haslo to "tajne haslo" (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
lessi
post
Post #10





Grupa: Zarejestrowani
Postów: 89
Pomógł: 12
Dołączył: 1.12.2009

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


Cytat(glh @ 11.08.2010, 19:37:32 ) *
Zakładając, że plik nazywa się test.php można to zrobić tak:
  1. <?php
  2. $login=$_POST['login'];
  3. $haslo=$_POST['haslo'];
  4.  
  5. if (isset($login) && isset($haslo) && $login=="dobry login" && $haslo=="tajne haslo")
  6. {
  7. echo "Tutaj dajesz tresc dla znajacych login i haslo.<br/>";
  8. } else
  9. {
  10. echo "Podaj dobry login oraz tajne haslo<br/>";
  11. ?>
  12. <form action="test.php" method="post">
  13. Login:<input type="text" name="login"/><br/>
  14. Haslo:<input type="text" name="haslo"/><br/>
  15. <input type="submit" value="Loguj"/>
  16. </form>
  17. <?php
  18. }
  19.  
  20. ?>
  21.  


//login to "dobry login" a haslo to "tajne haslo" (IMG:style_emoticons/default/smile.gif)


Jak dla mnie to są zbędne te dwa pierwsze warunki. Jeżeli nie będzie tych zmiennych to warunki 3 i 4 nie będą spełnione.

Ten post edytował lessi 11.08.2010, 18:57:10
Go to the top of the page
+Quote Post
scheitel
post
Post #11





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 9.08.2010

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


Dzięki wielkie za pomoc. Mam jeszcze do Was jedno pytanko jak zrobić / przerobić ten kod, żeby można było wpisać tą ukrytą treść w html-u?
Go to the top of the page
+Quote Post
Damonsson
post
Post #12





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


  1. <?php
  2. $login=$_POST['login'];
  3. $haslo=$_POST['haslo'];
  4.  
  5. if (isset($login) && isset($haslo) && $login=="dobry login" && $haslo=="tajne haslo")
  6. {
  7. ?>
  8.  
  9. I TUTAJ WSTAWIASZ SOBIE SWÓJ KOD HTML WIDOCZNY TYLKO DLA ZALOGOWANYCH
  10.  
  11. <?
  12. } else
  13. {
  14. echo "Podaj dobry login oraz tajne haslo<br/>";
  15. ?>
  16. <form action="test.php" method="post">
  17. Login:<input type="text" name="login"/><br/>
  18. Haslo:<input type="text" name="haslo"/><br/>
  19. <input type="submit" value="Loguj"/>
  20. </form>
  21. <?php
  22. }
  23.  
  24. ?>


O ile to ten kod wyżej Ci działa i chcesz go przerobić
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: 22.08.2025 - 13:07