Вграждане на captcha в php форма

bganonymous

Registered
Някой може ли да ми вгради captcha в php форма? :(

captcha.php файла:
Код:
<?php
session_start(); //стартираме сесията
$captcha = rand(1000,9999);

//генерираме случайно петцифрено число с фукцията rand. Тя приема два параметъра. Първи е началното число, втория крайното число. Така ще генерира случайно число, което се намира между тези двете.

$code = md5($captcha);

//хешираме данните чрез md5 функцията
$_SESSION['captcha'] = $code;

//вкарваме всичко в сесия $_SESSION['captcha']

$width = 90;
$height = 35;

//създавам две променливи width и height за ширината и височината на изображнеието

$image = imagecreate($width,$height);

//Използваме функцията imagecreate() за да създадем изображението.

$background = imagecolorallocate($image,120,55,145);
$foreground = imagecolorallocate($image,245,245,245);

//задаване фона на снимката (в случая $background) и цвета на текста ($foreground). Сложил съм примерни имена на променливите.

imagestring($image,20,20,12, $captcha, $foreground);

header('Content-type: image/jpeg');

//задаваме content-type да е image/jpeg или според типа на изображението. Много е важно да бъде зададен. 

imagejpeg($image);
imagedestroy($image);
?>

Да се вгради в този php файл (login.php):
Код:
<?php
if($_POST['login']) {
if($_POST['username'] != NULL && $_POST['password'] != NULL) {
$username = ($_POST['username']);
$password = ($_POST['password']);
$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$do = mysql_query($query);
$row = mysql_fetch_array($do);
if($username == $row['username'] && $password == $row['password']) {
session_register("username");
session_register("password");
$iplastlogin = $_SERVER['REMOTE_ADDR'];
$datetime = date('d.m.Y H:i:s');
$query=mysql_query("UPDATE `users` SET `iplastlogin` = '$iplastlogin', `datelastlogin` = '$datetime' WHERE `id` = $row[id]") or die(mysql_error());
header("Location: my.php"); }
else { echo '<div class="error-box">Грешно име/парола!</div>'; }
}
}
ob_end_flush();
?>
 

Back
Горе