Красивая форма входа с каптчей

На момент написания статьи меня спросили — как сделать каптчу при входе. Я не стал лазить по просторам интернета в поисках оптимального варианта и слепил нечто подобное на каптчу на скорую руку.На момент написания статьи меня спросили — как сделать каптчу при входе. Я не стал лазить по просторам интернета в поисках оптимального варианта и слепил нечто подобное на каптчу на скорую руку.

Вот то, что видите на скрине — делаем сами. Следуем инструкции по установке и всё получится.

1. Самое важное — сделать проверку введённого кода. Открываем login.php и ищем:

$username=uc($_POST['username']);
  $password=uc($_POST['password']);


Следом добавим код:

$captcha=$_POST['captcha'];
  $pr=$_POST['pr'];
if ($captcha==NULL)
  {
  echo "<img src="images/error.png" align="middle"> Введите код с картинки!";
  if ($captcha == $pr)
  {


Теперь в самом конце ищем код:

<?
  }
  }
  }
}else{
include('header.php');
?>


Заменяем его новым:

<?
  }
  }
  }
  }else{
  echo "<img src="images/error.png" align="middle"> Неверный код!";
  }
  }
}else{
include('header.php');
?>


Далее ищем код:

<div align="center"><div id="authform">
<fieldset>
<div id="fieldheader"><center>.::Вход в аккаунт::.</center></div>
<br>

<form action='login.php' method='POST'>
<table width="100%" border="0" align="center">
  <tr>
  <td width="40%" align="right">

<label>Логин</label></p></td>
  <td width="60%" align="left"><input type='text' size='15' maxlength='25' name='username' autocomplete="off" value="" tabindex="1" /></td>
  </tr>
  <tr>
  <td width="40%" align="right">

<label>Пароль</label></p></td>
  <td width="60%" align="left"><input type='password' size='15' maxlength='25' name='password' autocomplete="off" value="" tabindex="2" /></td>
  </tr>
  <tr>
  <td colspan=2 align="center"><input type="submit" value="Войти" class="submit" tabindex="4" /></td>
  </tr>
</table>
</form>
</fieldset>
</div></div>


Заменим его на:

<div align="center"><fieldset><div id="fieldheader">.::Вход на сайт::.</div><br>
<center>
<b><font size: 16px><form action='login.php' method='POST'>  
<table style=";width:200px;"><tbody><tr><td style="vertical-align:top"><img src="/login.png"></td>  
  <td style="vertical-align:top">  
  <label>Логин</label>

  <input type='text' size='15' maxlength='25' name='username' autocomplete="off" value="" tabindex="1" />

  <label>Пароль</label>

  <input type='password' size='15' maxlength='25' name='password' autocomplete="off" value="" tabindex="2" /></td>  
  <tr><td colspan="2" style="vertical-align:top" align="center">
<?php  
  $i=1;
  do
  {
  $num[$i] = mt_rand(0,9);
  echo "<img src='img/".$num[$i].".gif' border='0' align='bottom' vspace='5px'>";
  $i++;
  }
  while ($i<5);
  $captcha = $num[1].$num[2].$num[3].$num[4];
  ?><input name="captcha" type="hidden" value="<?php echo $captcha;?>">
<input name="pr" style=" margin-bottom:11px" type="text" size="6" maxlength="4"><br>
<input type="submit" value="Войти" size="25" class="submit" tabindex="4" />

</td></tr></tbody></table>

</form></font></b> </fieldset>


С файлом login.php покончено. Теперь нам надо вывести форму входа на всех страницах сайта.

2. Открываем menuright.php и находим строки:

<?
}else{
  echo "<center><a href="register.php?r=".$elref."">Регистрация</a><br>";
  echo "<a href="login.php?r=".$elref."">Вход</a><br></center>";
}
?>


Меняем их на новые:

<?
}else{
  include('vhod.php');
}
?>


3. Необходимо сделать так, чтобы расстояние между цифрами каптчи исчезло. Открываем style.css и находим:

img {
    padding: 4px;
}


Меняем 4px на 0px

Если используете скрипт с сменой цвета блоков — меняете во всех файлах в папке css.

Вот и всё. Осталось залить файлы с архива в корень.

Автор публикации

не в сети 13 лет

Alex

Комментарии: 0Публикации: 166Регистрация: 19-02-2011

Понравилась статья? Поделись в соц. сетях:

Похожие новости

Отправить комментарий

wpDiscuz
Авторизация
*
*
Регистрация
*
*
*
Генерация пароля