Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Atrybut "table" ma zły wpływ na recaptchę ?
Forum PHP.pl > Forum > Przedszkole
Dominator
Witajcie, mam taki problem, otóż mam taki kod (mój biggrin.gif):

  1. <title>XXX</title>
  2. <head>
  3. <link rel="stylesheet" href="../css/user_register.css" type="text/css">
  4. </head>
  5.  
  6. <div id="header"></div>
  7. <div class="rejuser">Zarejestruj się już dziś !</div>
  8.  
  9. <div id="table">
  10. <div id="text">Wypełnij poprawnie wszystkie pola.</div>
  11. <div id="ottem">
  12. <table style="border: 1px solid black;">
  13. <form method="POST" action="?">
  14. <tr><td>Login:</td><td><input type="text" role="input" name="login"></td></tr>
  15. <tr><td>Hasło</td><td><input type="text" role="input" name="password"></td></tr>
  16. <tr><td>Powtórz hasło:</td><td><input type="text" role="input" name="login"></td></tr>
  17. <tr><td>Adres email:</td><td><input type="text" role="input" name="login"></td></tr>
  18. <tr><td>Kod z obrazka:
  19. <div class="captcha">
  20. <script>
  21. var RecaptchaOptions = { theme : 'white' };
  22. </script>
  23. <?php
  24. require_once('recaptchalib.php');
  25. $publickey = "XXX";
  26. echo recaptcha_get_html($publickey);
  27. ?>
  28. </div>
  29. <input type="submit" name="registerNow" class="btnRegister" value="Zarejestruj się">
  30. </div>
  31. </div>
  32. </div>
  33. </form>
  34. </table>
  35. <?php
  36. require_once('recaptchalib.php');
  37. $privatekey = "XXX";
  38. $resp = recaptcha_check_answer ($privatekey,
  39. $_SERVER["REMOTE_ADDR"],
  40. $_POST["recaptcha_challenge_field"],
  41. $_POST["recaptcha_response_field"]);
  42.  
  43. if (!$resp->is_valid) {
  44. echo "<script type=\"text/javascript\">java script: function c() { document.getElementById('text').innerHTML = 'Invalid recaptcha ! !'; } c();</script>";
  45. } else {
  46. echo "<script type=\"text/javascript\">java script: function c() { document.getElementById('text').innerHTML = 'Valid recaptcha ! !'; } c();</script>";
  47. }
  48. ?>



Gdy usuwam atrybut "<table border="0">" to wszystko jest OK, ale gdy go dodam to ciągle wywala że recaptcha jest zła, co zrobić ?
jaslanin
  1. <title>XXX</title>
  2. <head>
  3. <link rel="stylesheet" href="../css/user_register.css" type="text/css">
  4. </head>
  5.  
  6. <div id="header"></div>
  7. <div class="rejuser">Zarejestruj się już dziś !</div>
  8.  
  9. <div id="table">
  10. <div id="text">Wypełnij poprawnie wszystkie pola.</div>
  11. <div id="ottem">
  12. <form method="POST" action="?">
  13. <table style="border: 1px solid black;">
  14. <tr><td>Login:</td><td><input type="text" role="input" name="login"></td></tr>
  15. <tr><td>Hasło</td><td><input type="text" role="input" name="password"></td></tr>
  16. <tr><td>Powtórz hasło:</td><td><input type="text" role="input" name="login"></td></tr>
  17. <tr><td>Adres email:</td><td><input type="text" role="input" name="login"></td></tr>
  18. <tr><td>Kod z obrazka:
  19. <div class="captcha">
  20. <script>
  21. var RecaptchaOptions = { theme : 'white' };
  22. </script>
  23. <?php
  24. require_once('recaptchalib.php');
  25. $publickey = "XXX";
  26. echo recaptcha_get_html($publickey);
  27. ?>
  28. </div>
  29. <input type="submit" name="registerNow" class="btnRegister" value="Zarejestruj się">
  30. </div>
  31. </div>
  32. </div>
  33.  
  34. </table>
  35. </form>
  36. <?php
  37. require_once('recaptchalib.php');
  38. $privatekey = "XXX";
  39. $resp = recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);
  40.  
  41. if (!$resp->is_valid) {
  42. echo "<script type=\"text/javascript\">java script: function c() { document.getElementById('text').innerHTML = 'Invalid recaptcha ! !'; } c();</script>";
  43. } else {
  44. echo "<script type=\"text/javascript\">java script: function c() { document.getElementById('text').innerHTML = 'Valid recaptcha ! !'; } c();</script>";
  45. }
  46. ?>


Spróbuj tak.

1. Nie działało bo form nie może być dzieckiem tabeli.
2. Stosuj wcięcia kodu.
3. Zamiast echo"string który później będę musiał escape'ować backslash'ami by wstawić $zmienna". lepiej pisz

string który później będę musiał escape'ować backslash'ami by wstawić <?= $zmienna ?>

tj. używaj php wtedy gdy go potrzebujesz, a nie cały czas nawet jak go nie używasz
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.