Как да си сложа Capcha ???

Boech123

Registered
Здр хора
Може ли някои да ми обясни как да си сложа ,,Capcha"
при регистрация и вход
ето
PHP:
Register.php
<?php
if(!$_POST['submit']) {
?>
<script src="chekname.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
Регистрация<hr color='black' width='300' align='center' />
<form action="?a=register" method="POST">
<table align="center">
<tr><td>Потребителско име:</td><td><input type="text" maxlength="12" style="background-color: #bbbbbb;" name="name" id="txt1" onblur="showHint(this.value)">
<span id="txtHint"></span>  </td></tr>
<tr><td>Парола:</td><td><input type="password" style="background-color: #bbbbbb;" name="pass1"></td></tr>
<tr><td>Отново:</td><td><input type="password" style="background-color: #bbbbbb;" name="pass2"></td></tr>
<tr><td>Емайл:</td><td><input type="text" style="background-color: #bbbbbb;" name="mail"></td></tr>
<tr><td>Избери начална кола:</td><td>
<select name='cars' size='1' style="background-color: #f1f1f1;"><option value="55">Ford Focus</option><option value="105">Acura RL</option><option value="155">Mazda MAZDA3</option></select>
</td></tr>
<tr><td>Пол:</td><td><input type="radio" checked name="sex" value="male">Мъж  <input type="radio" name="sex" value="female">Жена</td></tr>
<tr><td></td><td><input value="създай акаунта" class="field-submit" type="submit" name="submit"></td></tr>

</table>
</form>
<? } ?>
<?php
if(isset($_POST['submit']) && $_SESSION['name'] == NULL)
{
if($_POST['name'] == NULL || $_POST['pass1'] == NULL || $_POST['pass2'] == NULL || $_POST['mail'] == NULL)
{
echo '
<table class="error1-reg" width="40%" align="center">
<td class="error-reg" rowspan="4" width="5%" align="center">
<img src="images/task_error.gif" width="33" border="0" height="33">
</td>
<td width="50%" align="center"><span style="font-weight: bold;">Този емайл е зает.</span></td>
</table>';
}

elseif($_POST['pass1'] != $_POST['pass2'])
{
echo '
<table class="error1-reg" width="40%" align="center">
<td class="error-reg" rowspan="4" width="5%" align="center">
<img src="images/task_error.gif" width="33" border="0" height="33">
</td>
<td width="50%" align="center"><span style="font-weight: bold;">Паролите не си съвпадат.</span></td>
</table>';
}

else
{
$name = htmlspecialchars($_POST['name']);
$pass = md5($_POST['pass1']);
$mail = htmlspecialchars($_POST['mail']);
$sex = htmlspecialchars($_POST['sex']);
$cars = htmlspecialchars($_POST['cars']);
$insert = "INSERT INTO `users` (`name` , `pass` , `mail` , `sex`, `cars`, `ban`) VALUES ('$name', '$pass', '$mail', '$sex', '$cars', '0')";

$select_users = mysql_query('SELECT * FROM users WHERE mail="'.$mail.'"');

if(mysql_num_rows($select_users)==0)
{
if(mysql_query($insert))
{
echo '
<table class="active1-reg" width="36%" align="center">
<td class="active-reg" rowspan="4" width="5%" align="center">
<img src="images/task_done.gif" width="33" border="0" height="33">
</td>
<td width="50%" align="center"><span style="font-weight: bold;">Успешно се регистрирахте.</span></td>
</table>';
}
else
{
echo '
<table class="error1-reg" width="40%" align="center">
<td class="error-reg" rowspan="4" width="5%" align="center">
<img src="images/task_error.gif" width="33" border="0" height="33">
</td>
<td width="50%" align="center"><span style="font-weight: bold;">Регистрацията не е успешна.</span></td>
</table>';
}
}
else
{
echo '
<table class="error1-reg" width="46%" align="center">
<td class="error-reg" rowspan="4" width="5%" align="center">
<img src="images/task_error.gif" width="33" border="0" height="33">
</td>
<td width="50%" align="center"><span style="font-weight: bold;">Има потребител с този имейл адрес.</span></td>
</table>';
}
}
}
?>
PHP:
Login.php
<?php
ob_start();
?>
<h2 class='stranicamenu'><center>Вход</center></h2>
<table align="center"><FORM action="" method="POST">
<tr><td>Потребителско име:</td><td><input class="user" type="text" name="name"></td></tr>
<tr><td>Парола:</td><td><input class="pass" type="password" name="pass"></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Вход!"></td></tr>
</table></FORM>
<?php
if(isset($_POST['submit'])) {
if($_POST['name'] != NULL && $_POST['pass'] != NULL) {
$name = htmlspecialchars($_POST['name']);
$pass = md5($_POST['pass']);
$query = "SELECT * FROM users WHERE name = '$name' AND pass = '$pass'";
$do = mysql_query($query);
$row = mysql_fetch_array($do);
$admin = $row['level'];
if($name == $row['name'] && $pass == $row['pass']) {
session_register("name");
session_register("pass");
$ip = $_SERVER['REMOTE_ADDR'];
$query=mysql_query("UPDATE `users` SET `ip` = '$ip' WHERE `id` = $row[id]") or die(mysql_error());
if($admin > 0) { session_register("admin"); }
echo "<meta http-equiv=refresh content=0;url=index.php?a=myprofile>"; }
else { echo "Грешен Потребител/Парола"; }
}
}
ob_end_flush();
?>
Ако можете го направете и ми го даите на готово че не разбирам много ;)
+1
 
Може да погледнеш ТУК
Но , първо ще трябва сам да си го вградиш в кода и второ е на английски.

Ето и една на български ТУК

Успех. :)
 
Мерси все пак
Но това го гледах и незнам как да го добавя кам регистрацията
моля да ми го вмъкнеш в кода и да ми го дадеш готово ;)
+1
 
Boech123 каза:
Мерси все пак
Но това го гледах и незнам как да го добавя кам регистрацията
моля да ми го вмъкнеш в кода и да ми го дадеш готово ;)
+1

Еми капчата е една картинка която има цифри отгоре после присвояваш тея цифри към променлива и проверяваш дали въведеното във полето е равно на цифрите от стринга.
 
Така. Първо да обесня. Кода е тестван и трябва да работи! За да работи обаче captcha.php трябва да е в същата папка като register.php . Също така трябва да си направиш папка fonts, а в нея да вкараш шрифта arial.ttf . Можеш да го намериш в C:\Windows\Fonts . Та ето и файловете:

register.php
PHP:
<?php
session_start();
?>
<?php
if(isset($_POST['submit']) && $_SESSION['name'] == NULL)
{
if($_POST['name'] == NULL || $_POST['pass1'] == NULL || $_POST['pass2'] == NULL || $_POST['mail'] == NULL)
{
echo '
<table class="error1-reg" width="40%" align="center">
<td class="error-reg" rowspan="4" width="5%" align="center">
<img src="images/task_error.gif" width="33" border="0" height="33">
</td>
<td width="50%" align="center"><span style="font-weight: bold;">Този емайл е зает.</span></td>
</table>';
}

elseif($_POST['pass1'] != $_POST['pass2'])
{
echo '
<table class="error1-reg" width="40%" align="center">
<td class="error-reg" rowspan="4" width="5%" align="center">
<img src="images/task_error.gif" width="33" border="0" height="33">
</td>
<td width="50%" align="center"><span style="font-weight: bold;">Паролите не си съвпадат.</span></td>
</table>';
}
elseif($_POST['code'] != $_SESSION['rand_code'])
{
echo '
<table class="error1-reg" width="40%" align="center">
<td class="error-reg" rowspan="4" width="5%" align="center">
<img src="images/task_error.gif" width="33" border="0" height="33">
</td>
<td width="50%" align="center"><span style="font-weight: bold;">Не сте написали вярно кода от картинката.</span></td>
</table>';
}
else
{
$name = htmlspecialchars($_POST['name']);
$pass = md5($_POST['pass1']);
$mail = htmlspecialchars($_POST['mail']);
$sex = htmlspecialchars($_POST['sex']);
$cars = htmlspecialchars($_POST['cars']);
$insert = "INSERT INTO `users` (`name` , `pass` , `mail` , `sex`, `cars`, `ban`) VALUES ('$name', '$pass', '$mail', '$sex', '$cars', '0')";

$select_users = mysql_query('SELECT * FROM users WHERE mail="'.$mail.'"');

if(mysql_num_rows($select_users)==0)
{
if(mysql_query($insert))
{
echo '
<table class="active1-reg" width="36%" align="center">
<td class="active-reg" rowspan="4" width="5%" align="center">
<img src="images/task_done.gif" width="33" border="0" height="33">
</td>
<td width="50%" align="center"><span style="font-weight: bold;">Успешно се регистрирахте.</span></td>
</table>';
}
else
{
echo '
<table class="error1-reg" width="40%" align="center">
<td class="error-reg" rowspan="4" width="5%" align="center">
<img src="images/task_error.gif" width="33" border="0" height="33">
</td>
<td width="50%" align="center"><span style="font-weight: bold;">Регистрацията не е успешна.</span></td>
</table>';
}
}
else
{
echo '
<table class="error1-reg" width="46%" align="center">
<td class="error-reg" rowspan="4" width="5%" align="center">
<img src="images/task_error.gif" width="33" border="0" height="33">
</td>
<td width="50%" align="center"><span style="font-weight: bold;">Има потребител с този имейл адрес.</span></td>
</table>';
}
}
}
?>
<?php
if(!$_POST['submit']) {
?>
<script src="chekname.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
Регистрация<hr color='black' width='300' align='center' />
<form action="?a=register" method="POST">
<table align="center">
<tr><td>Потребителско име:</td><td><input type="text" maxlength="12" style="background-color: #bbbbbb;" name="name" id="txt1" onblur="showHint(this.value)">
<span id="txtHint"></span>  </td></tr>
<tr><td>Парола:</td><td><input type="password" style="background-color: #bbbbbb;" name="pass1"></td></tr>
<tr><td>Отново:</td><td><input type="password" style="background-color: #bbbbbb;" name="pass2"></td></tr>
<tr><td>Емайл:</td><td><input type="text" style="background-color: #bbbbbb;" name="mail"></td></tr>
<tr><td>Код от катинката:</td><td><input type="text" style="background-color: #bbbbbb;" name="code"></td></tr>
<tr><td><img src="captcha.php"></td></tr>
<tr><td>Избери начална кола:</td><td>
<select name='cars' size='1' style="background-color: #f1f1f1;"><option value="55">Ford Focus</option><option value="105">Acura RL</option><option value="155">Mazda MAZDA3</option></select>
</td></tr>
<tr><td>Пол:</td><td><input type="radio" checked name="sex" value="male">Мъж  <input type="radio" name="sex" value="female">Жена</td></tr>
<tr><td></td><td><input value="създай акаунта" class="field-submit" type="submit" name="submit"></td></tr>

</table>
</form>
<? } ?>


captcha.php
PHP:
<?php
    session_start();
	$string = '';
	for($i = 0; $i < 5; $i++)
	{
	    $string .= chr(rand(97,122));
	}
	$_SESSION['rand_code'] = $string;
	$dir = "fonts/";
	$image = imagecreatetruecolor(170, 60);
	$black = imagecolorallocate($image, 0, 0, 0);
	$color = imagecolorallocate($image, 200, 100, 90);
	$white = imagecolorallocate($image, 255, 255, 255);
	imagefilledrectangle($image, 0, 0, 170, 60, $white);
    imagettftext($image, 30, 0, 30, 40, $color, $dir."arial.ttf", $_SESSION['rand_code']);
	header("Content-type: image/png");
	imagepng($image);
?>
 
Е картинката си се създава от php-то . А arial.ttf е шрифта на текста върху captcha-та .
 
Офф явно не ме разбираш даи си скаипа
да ти обясня
как да задам изображението
 

Back
Горе