Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Token i przesył zmiennej
Forum PHP.pl > Forum > Przedszkole
Turson
Mam problem z tokenem działającym jako zabezpieczenie captcha:
  1. for($i=0;$i<5;$i++) {
  2. $liczba = rand(0,9);
  3.  
  4. echo '<input type="hidden" name="kod" value="'.$liczba.'">';
  5.  
  6. $img .= '<img src="token/'.$liczba.'.gif" />';
  7. }

Wywołanie zmiennej $liczba działa poprawnie, natomiast gdy prześlę dane:
  1. echo '<input type="hidden" name="kod" value="'.$liczba.'">';

I odbiorę w następnej stronie oraz wywołam $_POST["kod"] otrzymuję jedynie jedną liczbę a nie 5 jak to miało być w założeniu
  1. if(($_POST['kod'] == ($_POST['token']))){ echo "Wprowadzono <b>poprawny</b> kod";}
  2. else echo "Wprowadzono <b>niepoprawny</b> kod";
  3.  
  4. }
  5. echo "<br>";
  6. echo "KOD: ";
  7. echo $_POST["kod"];
  8. echo "<br>";
  9. echo "CO WPISANO: ";
  10. echo $_POST["token"];


Do zamknięcia, jednak sobie poradziłem. Zamieszczę rozwiązanie.
Formularz
  1. echo "<table border=0><form action='index.php?id=sign_in' method=post>";
  2.  
  3. echo "<tr><td></td>";
  4. for($i=0;$i<5;$i++) {
  5. $liczba = rand(0,9);
  6.  
  7. $_SESSION["kod"] .= $liczba;
  8. echo $liczba;
  9. $img .= '<img src="token/'.$liczba.'.gif" />';
  10. }
  11.  
  12. echo "<td>";
  13. echo $img;
  14. echo "</td></tr><tr><td>Przepisz kod z obrazka</td><td><input class=konto type=text name=token></td></tr>";
  15. echo "</table>";
  16. echo "<input type=hidden name=check value=1><br />";
  17. echo "<input type=submit class='zaloz_konto' value=''>";

Plik odbierający
  1. if(($_POST['check'])==1){ echo "wciśnięto przycisk<br>";
  2. if(($_SESSION["kod"] == ($_POST['token']))){ echo "Wprowadzono <b>poprawny</b> kod";}
  3. else echo "Wprowadzono <b>niepoprawny</b> kod";
  4.  
  5. }
  6.  
  7. $_SESSION["kod"] = '';
tsdek
A nie lepiej to zrobić zposobem POST itd ? tzn.
  1. <?php
  2. echo 'Podaj prawidlowe haslo aby sie zalogowac!<br />';
  3. ?>
  4. <form action="index.php" method="POST">
  5. <input type="password" name="haslo"><br />
  6. <input type="submit" name="ok" value="Wejdz">
  7. </form>
  8. <?php
  9. if(isset($_POST['ok']))
  10. {
  11. $haslopoprawne = 'twojehaslo';
  12.  
  13. if($_POST['haslo'])
  14. if($_POST['haslo'] == ($haslopoprawne))
  15. {
  16. echo 'Podales poprawne haslo przejdz do strony: <a href="admin.php.php">CLICK</a>';
  17.  
  18. } else {
  19. echo 'Blad! Haslo podane jest zle!';
  20. }
  21. }
  22. ?>
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.