Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zabezpieczenie hasłem
Yazzie
post 13.04.2007, 15:56:09
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 5.04.2007
Skąd: Otwock

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


Witam

Mam skrypt newsów i newsy dodaje się na stronie głównej, nie przez PA. Niestety, dodawać newsy może każdy. Ja chcę zrobić, by tylko osoba znająca hasło mogła to robić. Dlatego próbowałem zrobić skrypt, który zabezpieczałby hasłem stronę. Niestety marnie mi to idzie.

  1. <h3><center>Wpisz hasło, by napisać newsa</center></h3><br>
  2. <?php
  3. $haslo = 'xxx';
  4. ?>
  5.  
  6. <?php
  7. if ( $haslo=TRUE ) 
  8. {
  9. echo '<form action="index.php?pokaz=dodaj">';
  10. }
  11. else
  12. {
  13. echo '<form action="index.php?pokaz=haslo">';
  14. }
  15. ?>
  16.  
  17. Hasło: <input type="password" name="Hasło" />
  18. <input type="submit" value="Wyślij" />


Wykombinowałem cuś takiego, jednak jest źle, bo gdyby było ok, to by działało tongue.gif

Co mam nie tak?

Ten post edytował Yazzie 13.04.2007, 15:56:46
Go to the top of the page
+Quote Post
Luciano
post 13.04.2007, 16:07:01
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 1
Dołączył: 26.07.2006
Skąd: Londyn

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


w warunku IF stosuje sie podwojny znak wrownosci == pojedynczy oznacza przypisanie


--------------------
Go to the top of the page
+Quote Post
Yazzie
post 13.04.2007, 16:12:02
Post #3





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 5.04.2007
Skąd: Otwock

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


Masz rację, jednak nadal nie działa, ciągle wyświetla mi stronę pod adresem:

http://localhost/index.php?Has%B3o=xxx
Go to the top of the page
+Quote Post
Statozor
post 13.04.2007, 17:35:40
Post #4





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 23.09.2006

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


Może
  1. <?php
  2. if(!empty($haslo))
  3. ?>
Go to the top of the page
+Quote Post
wert1
post 13.04.2007, 17:46:11
Post #5





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 22.03.2007
Skąd: localhost

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


użyj $_POST['hasło']

  1. <h3><center>Wpisz hasło, by napisać newsa</center></h3><br>
  2. <?php
  3. $haslo = 'xxx';
  4. ?>
  5.  
  6. <?php
  7. if ( $_POST['hasło']=TRUE ) 
  8. {
  9. echo '<form action="index.php?pokaz=dodaj">';
  10. }
  11. else
  12. {
  13. echo '<form action="index.php?pokaz=haslo">';
  14. }
  15. ?>
  16.  
  17. Hasło: <input type="password" name="Hasło" />
  18. <input type="submit" value="Wyślij" />


Jeśli nie odpowiada ci to do góry spróbuj tego
  1. <?php
  2.  
  3.  
  4. function checkPass()
  5. {
  6. $haslo = $_POST["haslo"];
  7. if($haslo <> "twoje hasło do newsów"){
  8. return false;
  9. }
  10. else{
  11. return true;
  12. }
  13. }
  14. if(isSet($_POST["haslo"]) && checkPass()){
  15. // to się dzieje kiedy hasło jest poprawne
  16. include('newsy.php');
  17. }
  18. else{
  19. // Coś co sie dzieje kiedy haslo jest błedne
  20. include('form.php');
  21. }
  22. ?>
  23.  
  24. <form name="formularz1"
  25. action="index.php"
  26. method="POST">
  27. <div style="text-align:center">
  28. Podaj hasło:
  29. <br />
  30. <input type="password" name="haslo">
  31. <br /><br />
  32. <input type="submit" value="Wejdz">
  33. </div>
  34. </form>


Ten post edytował wert1 14.04.2007, 06:44:48


--------------------
"Homo sum, humani nihil a me alienum puto."
"Necessitas ultimum et maximum telum est."
"Ventem seminabunt et turbinem metent."
"Gallia est omnis divisa in partes tres..."
Go to the top of the page
+Quote Post
Yazzie
post 13.04.2007, 18:20:51
Post #6





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 5.04.2007
Skąd: Otwock

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


Pierwsze nie zadziałało, a drugie:

Kod
Fatal error: Cannot redeclare checkpass() (previously declared in C:\usr\www\haslo.php:5) in C:\usr\www\haslo.php on line 12
Go to the top of the page
+Quote Post
senty
post 13.04.2007, 22:05:05
Post #7





Grupa: Zarejestrowani
Postów: 3
Pomógł: 1
Dołączył: 10.04.2007

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


Masz Fatal Error, ponieważ zadeklarowałeś(czyli stworzyłeś) funkcję drugi raz. Musisz mieć jakiś błąd. Wygląda na to, że dwa razy próbujesz stworzyć tę samą funkcję, a druga deklaracja w linii 12.

Ten post edytował senty 13.04.2007, 22:05:29
Go to the top of the page
+Quote Post
Athlan
post 14.04.2007, 06:26:38
Post #8





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Cytat
Masz Fatal Error, ponieważ zadeklarowałeś(czyli stworzyłeś) funkcję drugi raz.

require_once(), include_once() smile.gif


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
wert1
post 14.04.2007, 06:49:23
Post #9





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 22.03.2007
Skąd: localhost

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


Sorry mój błąd spróbuj zrobić tak:
1.Tworzysz plik form.php:
  1. <?php
  2. <form name="formularz1"
  3. action="index.php"
  4. method="POST">
  5. <div style="text-align:center">
  6. Podaj hasło:
  7. <br />
  8. <input type="password" name="haslo">
  9. <br /><br />
  10. <input type="submit" value="Wejdz">
  11. </div>
  12. </form>
  13. ?>


2.Tworzysz plik index.php

  1. <?php
  2.  
  3.  
  4. function checkPass()
  5. {
  6. $haslo = $_POST["haslo"];
  7. if($haslo <> "twoje hasło do newsów"){
  8. return false;
  9. }
  10. else{
  11. return true;
  12. }
  13. }
  14. if(isSet($_POST["haslo"]) && checkPass()){
  15. // to się dzieje kiedy hasło jest poprawne
  16. include('newsy.php');
  17. }
  18. else{
  19. // Coś co sie dzieje kiedy haslo jest błedne
  20. include('form.php');
  21. }
  22. ?>


--------------------
"Homo sum, humani nihil a me alienum puto."
"Necessitas ultimum et maximum telum est."
"Ventem seminabunt et turbinem metent."
"Gallia est omnis divisa in partes tres..."
Go to the top of the page
+Quote Post
skowron-line
post 14.04.2007, 08:58:42
Post #10





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(wert1 @ 14.04.2007, 05:49:23 ) *
Sorry mój błąd spróbuj zrobić tak:
1.Tworzysz plik form.php:
  1. <?php
  2. <form name="formularz1"
  3. action="index.php"
  4. method="POST">
  5. <div style="text-align:center">
  6. Podaj hasło:
  7. <br />
  8. <input type="password" name="haslo">
  9. <br /><br />
  10. <input type="submit" value="Wejdz">
  11. </div>
  12. </form>
  13. ?>

nie to zebym sie czepial ale jak na moj gust to przy tym co napisal kolega to bedzie jeden wilki blad bo jak juz to ma byc plik .php to wszystko trzeba wrzucic w echo a wogole lepiej zrobic z tego plik .html.

taka drobna uwaga


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Yazzie
post 15.04.2007, 14:15:17
Post #11





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 5.04.2007
Skąd: Otwock

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


wert1, już jest ok, ale jest 1 problem, wchodzi na każde hasło smile.gif
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: 12.06.2025 - 15:03