Intereting Posts

изображение captcha в php

Ниже приведен исходный код программы. Может ли кто-нибудь помочь мне разобраться в работе программы.

<?php session_start(); ?> <?php $aCaptcha = array ( array(), array('crocodile'), array('panda', 'panda bear', 'giant panda'), array('pig'), array('tiger'), array('zebra'), array('cow'), array('elephant') ); if (isset($_POST['register'])) { $error = array(); if (!in_array(strtolower($_POST['captcha']), $aCaptcha[$_SESSION['captcha']])) { $error['captcha'] = "<span style='color:red'>The name of the animal is not correct.</span>"; } if (count($error) == 0) { echo "<span style='color:red'>Thank you for completing the form. We shall contact you soon.</span>"; die(); } } ?> <form action="index.php" method="post"> <?php $_SESSION['captcha'] = rand(1, 7); ?> <td colspan="3"><strong>Contact Form</strong></td> <p>Full Name : <input type="text" name="Nmaes" value='' /> <p>Mobile No. : <input type="text" name="Nmaes" value='' /> <p>Email id : <input type="text" name="Nmaes" value='' /> <p>Subject : <input type="text" name="Nmaes" value='' /> <p>Message : <input type="text" name="Nmaes" value='' /> <p><img src="<?php echo $path;?>captcha/<?php echo $_SESSION['captcha'];?>.jpg" /></p> <p>Type the name of the animal you see in the picture above. <input type="text" name="captcha" value='' /> <?php echo(isset($error['captcha']))?$error['captcha']:"";?></p> <p><label>&nbsp;</label><input type='submit' name='register' value='register' /></p> </form> 

На первой странице

  1. случайное число от 1 до 7 генерируется и сохраняется в сеансе
  2. отображается форма
  3. картинка в каталоге captcha отображается на основе случайного числа

На второй странице

  1. генерируется массив с приемлемыми ответами – ключи – это номера 1 и 7, а значения – массивы приемлемых ответов
  2. приведенный ниже код проверяет, что ответ, заданный пользователем $_POST['captcha'] является одним из приемлемых ответов $aCaptcha[$_SESSION['captcha']]

     if (!in_array(strtolower($_POST['captcha']), $aCaptcha[$_SESSION['captcha']])) { $error['captcha'] = "<span style='color:red'>The name of the animal is not correct.</span>"; 
  3. если это приемлемо, тогда сообщение распечатывается, и PHP перестает выполнять

     echo "<span style='color:red'>Thank you for completing the form. We shall contact you soon.</span>"; die();