Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Captch +/- generuje nowe działanie
Forum PHP.pl > Forum > PHP
Sahee
Siemka, chce zrobić captacha ktory będzie robil działanie, liczby 0-30 oraz dodawanie i odejmowanie.

Plik znak.php:
  1. $kk = rand(0,1);
  2.  
  3.  
  4. $pierwsza = rand(1,30);
  5. $druga = rand(0,30);
  6.  
  7. If($kk == 0){
  8. $wynik = $pierwsza+$druga;
  9. $znak = '+';
  10. }
  11. else{
  12. $wynik = $pierwsza-$druga;
  13. $znak = '-';
  14. }
  15.  

Plik rejestracja.php:
  1. <?php
  2. require_once('inc/system.php');
  3. require_once('znak.php');
  4. $h1 = "Rejestracja";
  5.  
  6. if(!empty($_POST)){
  7. if(!isset($_POST['accept'])) $msg = "<p class='error'>Musisz zaakceptować regulamin</p>";
  8. elseif(empty($_POST['login'])) $msg = "<p class='error'>Musisz podać login</p>";
  9. elseif(empty($_POST['email'])) $msg = "<p class='error'>Musisz podać email</p>";
  10. elseif(empty($_POST['password'])) $msg = "<p class='error'>Musisz podać hasło</p>";
  11. elseif(empty($_POST['passwordr'])) $msg = "<p class='error'>Musisz podać powtórne hasło</p>";
  12. elseif($_POST['passwordr'] != $_POST['password']) $msg = "<p class='error'>Podane hasła różnią się</p>";
  13. elseif($_POST['kod'] != $wynik) $msg = "<p class='error'>Złe działanie!</p>";
  14. else {
  15. $login = tekst(strtolower($_POST['login']));
  16. $pass = md5($_POST['password']);
  17. $email = tekst($_POST['email']);
  18. $pos = strpos($login,"admin");
  19.  
  20. if((strlen($login) < 3) || (strlen($login) > 15)) $msg = "<p class='error'>Podałeś login o nieprawidłowej długości, wpisz od 3 do 15 znaków</p>";
  21. elseif(strlen($_POST['password']) < 3) $msg = "<p class='error'>Hasło musi zawierać minimum 3 znaki</p>";
  22. elseif($pos !== false) $msg = "<p class='error'>Nie podszywaj się pod administrację :)</p>";
  23. else {
  24. $test = mysql_num_rows(mysql_query("select * from authme where login ='".$login."' limit 1"));
  25. if($test != 0) $msg = "<p class='error'>Podany login jest zajęty</p>";
  26. else {
  27.  
  28. $mail = mysql_num_rows(mysql_query("select * from authme where email ='".$email."' limit 1"));
  29. if($mail != 0) $msg = "<p class='error'>Podany email jest zajęty</p>";
  30. else {
  31. mysql_query("insert into authme (login, password, email) value ('".$login."','".$pass."','".$email."')");
  32. mysql_query("INSERT INTO permissions (`id`, `name`, `type`, `permission`, `world`, `value`) VALUES (NULL, '".$login."', '0', 'Gracz', '*', '')");
  33. mysql_query("INSERT INTO pePlayer (`id`, `name`, `cape`, `title`, `skin`) VALUES (NULL, '".$login."', NULL, NULL, 'http://i.imgur.com/TkyoY.png')");
  34.  
  35. $ids = mysql_insert_id();
  36. if(empty($ids)) $msg = "<p class='error'>Wystąpił nieoczekiwany błąd skryptu, spróbuj ponownie za chwilę</p>";
  37. else $msg = "<p class='info'>Założono nowe konto</p>";
  38. }
  39. }
  40.  
  41. }
  42. }
  43. }
  44.  
  45.  
  46. require_once('inc/szablon.php');
  47.  
  48. ?>


I mam problem,Gdy klikam przycisk przeslik, czyli zakończ rejestrację captach jest ponownie generowany czyli już się zmienił i odpowiedz jest nie prawidlowa.
Stronka z rejestracją: kanciasci.pl/rejestracja.php
jak moge to naprawic ;d?
Fifi209
Bo musisz sobie to na sesjach zrobić

P.S. to nazywa się: captcha

P.S. 2 Użyj reCaptcha
kiler129
Musisz to zrobić tak: http://forum.php.pl/index.php?s=&showt...st&p=942865
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.