Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zabezpieczenie hasłem
Forum PHP.pl > Forum > PHP
Yazzie
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?
Luciano
w warunku IF stosuje sie podwojny znak wrownosci == pojedynczy oznacza przypisanie
Yazzie
Masz rację, jednak nadal nie działa, ciągle wyświetla mi stronę pod adresem:

http://localhost/index.php?Has%B3o=xxx
Statozor
Może
  1. <?php
  2. if(!empty($haslo))
  3. ?>
wert1
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>
Yazzie
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
senty
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.
Athlan
Cytat
Masz Fatal Error, ponieważ zadeklarowałeś(czyli stworzyłeś) funkcję drugi raz.

require_once(), include_once() smile.gif
wert1
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. ?>
skowron-line
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
Yazzie
wert1, już jest ok, ale jest 1 problem, wchodzi na każde hasło smile.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.