Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wysyłanie po zaakceptowaniu hasła
Forum PHP.pl > Forum > PHP
eremen
  1. if(isset($_POST['haslo']) && ($_POST['haslo'] == $kody) && $_POST['glosuj']){
  2. //ZAPISYWANIE WYNIKÓW GŁOSOWANIA DO PLIKÓW
  3. $error = "dziękujemy za oddanie głosu";
  4. }
  5. else{
  6. $error = "wpisałeś złe hasło lub nie wpisałeś wcale";
  7. }

chodzi mi o drugą część if'a czyli ($_POST['haslo'] == $kody) *

$kody - jest to tablica z listą haseł, każdy w osobnej linii

* ten fragment ma z założenia sprawdzać czy wpisane hasło znajduje się w tablicy z hasłami, ale nie robię tego dobrze...
piotr.mroczek
sprawdź funkcję in_array()
eremen
  1. if(isset($_POST['haslo']) && in_array($_POST['haslo'], $kody) && $_POST['glosuj']){

robiąc w ten sposób nie działa...
gdzie robię błąd?
piotr.mroczek
możesz pokazać co jest w $_POST ?
eremen
może podeślę cały kod smile.gif
  1. <?php
  2. //GENEROWANIE KODU 5-CYFROWEGO
  3. for ($s=0; $s<50; $s++){
  4. srand((double)microtime()*1000000);
  5. $kod=md5(uniqid(rand()));
  6. // obliczamy ilość znaków w tekscie
  7. $licz = strlen($kod);
  8. // sprawdzamy, czy ilość znaków w tekscie jest większa
  9. // lub równa liczbie znaków po jakiej tekst ma być obcięty
  10. if ($licz>=5){
  11. // obcinamy tekst o określoną ilośc znaków
  12. $txt = substr($kod,0,5);
  13. }
  14. else{
  15. // jeżeli warunek nie jest spełniony pozostawiamy tekst bez zmian
  16. $txt = $kod;
  17. }
  18. $kody[] = $txt; // tutaj zapisujemy okrojony kod do tablicy
  19. }
  20. file_put_contents('./kody.txt', implode(PHP_EOL, $kody));
  21. //-------------------------------------------------------------------
  22.  
  23. //GŁOSOWANIE PO WPISANIU HASLA
  24. if(isset($_POST['haslo']) && in_array($_POST['haslo'], $kody, true) && $_POST['glosuj']){
  25. //ZAPISYWANIE WYNIKOW DO PLIKOW
  26. $error = "dziękujemy za oddanie głosu";
  27. }
  28. elseif($_POST['glosuj']){
  29. $error = "wpisałeś złe hasło lub nie wpisałeś wcale";
  30. }
  31. //------------------------------------------------------------------
  32. /*POKAZUJE SONDE*/
  33. echo '<p><map glosuj="glosuj">
  34. <form action="" method="post">
  35. <table align="center" style="text-align:center;">
  36. <tr>
  37. <td>1.<img src="./zdjecia/auto1.jpg" alt="" /></td>
  38. <td>2.<img src="./zdjecia/auto2.jpg" alt="" /></td>
  39. <td>3.<img src="./zdjecia/auto3.jpg" alt="" /></td>
  40. <td>4.<img src="./zdjecia/auto4.jpg" alt="" /></td>
  41. <td>5.<img src="./zdjecia/auto5.jpg" alt="" /></td>
  42. </tr>
  43. <tr>
  44. <td>6.<img src="./zdjecia/auto6.jpg" alt="" /></td>
  45. <td>7.<img src="./zdjecia/auto7.jpg" alt="" /></td>
  46. <td>8.<img src="./zdjecia/auto8.jpg" alt="" /></td>
  47. <td>9.<img src="./zdjecia/auto9.jpg" alt="" /></td>
  48. <td>10.<img src="./zdjecia/auto10.jpg" alt="" /></td>
  49. </tr>
  50. </table>
  51.  
  52. <div>
  53. <input type="radio" name="auto" value="auto1" checked="checked"/> nr 1.
  54. <input type="radio" name="auto" value="auto2" /> nr 2.
  55. <input type="radio" name="auto" value="auto3" /> nr 3.
  56. <input type="radio" name="auto" value="auto4" /> nr 4.
  57. <input type="radio" name="auto" value="auto5" /> nr 5.
  58. <input type="radio" name="auto" value="auto6" /> nr 6.
  59. <input type="radio" name="auto" value="auto7" /> nr 7.
  60. <input type="radio" name="auto" value="auto8" /> nr 8.
  61. <input type="radio" name="auto" value="auto9" /> nr 9.
  62. <input type="radio" name="auto" value="auto10" /> nr 10.
  63. </div>
  64.  
  65. <p></p><div><br/> <input type="text" name="haslo"/><input type="submit" name="glosuj" value="głosuj" /><br/>';echo $error;'<br/></form></map></p>';
  66. ?>
piotr.mroczek
wg mnie brakuje tutaj jeszcze file_get_contents.
przy każdym wywołaniu skryptu generujesz nowe losowe kody, zapisujesz do pliku i sprawdzasz z kodem otrzymanym z formularza.
tylko skąd wiesz jaki kod masz wpisać do formularza? z pliku kody.txt? przy przesłaniu formularza kody z niego będą już nieaktualne.
eremen
no właśnie o kodzie wiem z pliku kody.txt. Szef nie kazał robić żadnego elementu pokazującego kod użytkownikowi na stronie bo robię to tylko szkoleniowo.

Nawet nie wiedziałem że te kody się za każdym razem aktualizują - to fatalnie... chciałbym je 'przetrzymać' jak najdłużej, a najlepiej aby po użyciu jakiegoś kodu z listy zostałby on zamieniony na nowy aby lista kody.txt była cały czas 'świeża'.
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.