Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Księga gości na hasło
Forum PHP.pl > Forum > Przedszkole
makpolski
Witam. Mam pewien problem.
Efekt, który chciałbym uzyskać, to... wchodzę do pliku guestbook.php, na tejże stronie mam okienko do wpisania hasła. Jeśli jest poprawne przenosi nas do pliku gb.php w folderze 'gb'. Jeśli hasło jest niepoprawne, wyświetla się nam plik error.txt ze stosownym komunikatem.

Teoretycznie wszystko mi działa. Wprowadzam poprawne haslo, po czym ładuje sie strona gb.php. Wyswietlaja sie okna do wpisu - dokonuje wpisu, klikaj 'wyslij', ale zamiast wpisu, ładuje sie plik ze skryptu haslowego - error.txt.

Czyli wpisywane pola do ksiegi jakby interpretuje jako wpisanie kolejnego hasla. Dziwna sprawa.

Strona z problemem pod adresem [haslo = haslo]
http://red-com.home.pl/module/

lub download
http://red-com.home.pl/module/Proba.zip

Podobno trzeba zastosować sesje, ale ja jako poczatkujacy czlowiek, ktory chcial zlepic 2 skrypty, kompletnie nie wiem z czym to sie je. Zapewne znajda sie jacys wytrawni gracze, ktorzy bez problemu rozwiaza problem. Dzieki!
sadistic_son
  1. //sprawdzenie czy wypelniono haslo i czy jest poprawne
  2. if(isset($_POST['pass']) && $_POST['pass']=='twojehaslo'){
  3. $_SESSION['guestbook']=1;
  4. }
  5.  
  6. //wyswietlanie ksiegi
  7. if(isset($_SESSION['guestbook'])){
  8. echo 'ksiega gosci';
  9. }
  10.  
  11. //jesli wpisano zle haslo
  12. if(isset($_POST['pass']) && $_POST['pass']!='' && !isset($_SESSION['guestbook'])){
  13. echo 'error';
  14. }
  15.  
  16. //jesli nie zalogowano ani nie wpisano hasla
  17. if((!isset($_POST['pass']) || (isset($_POST['pass'] && $_POST['pass']=='')) && !isset($_SESSION['guestbook'])){
  18. echo 'formularz do hasla';
  19. }
makpolski
Dzięki za pomoc! BIG UP!
Czy ktoś mógłby to wrzucić do kodu poniżej, tak aby wszystko działało? Kompletnie nie ogarniam tego tematu, a wklejanie tego na chybił-trafił mija sie z celem. Mając sprawna calosc przejde do analizy!

index.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  2. "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. </head>
  5. <?php
  6. $go = $_GET['go'];
  7. if(!empty($go)) {
  8. if(is_file("pages/$go.php")) include "pages/$go.php";
  9. else echo "<br />Strona jest niedostępna.";
  10. }
  11. else include "pages/news.php";
  12.  
  13. ?>
  14.  
  15. <br /><br />
  16. <a href="index.php?go=guestbook">Link do ksiegi gosci</a><br />
  17.  
  18. </body>
  19. </HTML>


guestbook.php
  1. Aby wyświetlić zawartość tej strony musisz podać hasło.<br />
  2. <form method="post" action="index.php?go=accept">
  3. <input type="text" name="password" size="15" maxlength="15" />
  4. <input type="submit" value=" ok " />
  5. </form>


accept.php
  1. <?PHP $password = $_POST["password"];
  2. if($password<>"haslo"){ include("error.txt"); }
  3. else{ include("gb/gb.php"); } ?>


gb.php (wlasciwa ksiega)
  1. <?
  2.  
  3. $osoba = nl2br(htmlentities ($osoba));
  4. $wpis = nl2br(htmlentities ($wpis));
  5.  
  6. if ($osoba && $wpis) {
  7.  
  8. $ksiega[0] = "<DL><DT>".$wpis."<DD><B>".$osoba.",</B> <I>".
  9. date("d.m.Y")."</I></DL>\r\n";
  10.  
  11. if (file_exists("ksiegagosci.txt")) {
  12. $i = 1;
  13. $plik = fopen ("ksiegagosci.txt", "r+");
  14. flock ($plik, 2);
  15. while (!(feof($plik))) {
  16. $ksiega[$i++] = fgets ($plik, 2048);
  17. }
  18. $ilosc=$i;
  19. fseek ($plik, 0);
  20. for ($i=0; $i<$ilosc; $i++) {
  21. fputs ($plik, "$ksiega[$i]");
  22. }
  23. flock ($plik, 3);
  24. fclose ($plik);
  25. } else {
  26. $plik = fopen ("ksiegagosci.txt", "w+");
  27. flock ($plik, 2);
  28. fputs ($plik, "$ksiega[0]");
  29. flock ($plik, 3);
  30. fclose ($plik);
  31. }
  32. }
  33.  
  34.  
  35. if (file_exists("ksiegagosci.txt")) {
  36. $plik = fopen ("ksiegagosci.txt", "r");
  37. while (!(feof($plik))) {
  38. print (fgets ($plik, 2048));
  39. }
  40. print "<HR>";
  41. }
  42. ?>
  43.  
  44. <FORM METHOD="POST">
  45. <TR><TD>Osoba:</TD><TD><INPUT TYPE="text" NAME="osoba"></TD></TR>
  46. <TR><TD>Wpis:</TD><TD>
  47. <TEXTAREA NAME="wpis" COLS=45 ROWS=4 wrap="VIRTUAL"></TEXTAREA>
  48. </TD></TR>
  49. </TABLE>
  50. <INPUT TYPE="submit" VALUE="wyślij">
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.