10/10/2018, 11:00
Các pro về javascript giúp em với về mà xác nhận
Em có một đoạn mã html như sau:
<?php
session_start();
if(isset($_POST['ok']))
{
if($_POST['txtCaptcha'] == NULL)
{
echo "Please enter your code";
}
else
{
if($_POST['txtCaptcha'] == $_SESSION['security_code'])
{
echo "ma lenh hop le";
}
else
{
echo "Ma lenh khong hop le";
}
}
}
?>
<form action="abc.php" method=post>
<table>
<tr>
<td align="left">
<label for="captcha">Captcha</label>
</td>
<td>
<input type="text" name="txtCaptcha" maxlength="10" size="32" />
</td>
<td>
<img src="random_image.php" />
</td>
</tr>
<tr>
<td> </td>
<td>
<input type=submit name=ok value="Check" />
</td>
</tr>
</table>
</form>
va một trang php tạo ảnh cho đoạn mã xác nhận đó:
<?php
create_image();
exit();
function create_image()
{
$md5_hash = md5(rand(0,999));
$security_code = substr($md5_hash, 15, 5);
$_SESSION["security_code"] = $security_code;
$width = 100;
$height = 30;
$image = ImageCreate($width, $height);
$white = ImageColorAllocate($image, 255, 255, 255);
$black = ImageColorAllocate($image, 0, 0, 0);
ImageFill($image, 0, 0, $black);
ImageString($image, 5, 30, 6, $security_code, $white);
header("Content-Type: image/jpeg");
ImageJpeg($image);
ImageDestroy($image);
}
?>
Giờ em muốn khi người dùng nhập đúng mã xác nhận nó sẽ nhảy tới trang abc.php còn nếu nhập sai thì nó sẽ không cho sang trang abc.php và xuất hiện thông báo lỗi! -----------------HELP-------------
<?php
session_start();
if(isset($_POST['ok']))
{
if($_POST['txtCaptcha'] == NULL)
{
echo "Please enter your code";
}
else
{
if($_POST['txtCaptcha'] == $_SESSION['security_code'])
{
echo "ma lenh hop le";
}
else
{
echo "Ma lenh khong hop le";
}
}
}
?>
<form action="abc.php" method=post>
<table>
<tr>
<td align="left">
<label for="captcha">Captcha</label>
</td>
<td>
<input type="text" name="txtCaptcha" maxlength="10" size="32" />
</td>
<td>
<img src="random_image.php" />
</td>
</tr>
<tr>
<td> </td>
<td>
<input type=submit name=ok value="Check" />
</td>
</tr>
</table>
</form>
va một trang php tạo ảnh cho đoạn mã xác nhận đó:
<?php
create_image();
exit();
function create_image()
{
$md5_hash = md5(rand(0,999));
$security_code = substr($md5_hash, 15, 5);
$_SESSION["security_code"] = $security_code;
$width = 100;
$height = 30;
$image = ImageCreate($width, $height);
$white = ImageColorAllocate($image, 255, 255, 255);
$black = ImageColorAllocate($image, 0, 0, 0);
ImageFill($image, 0, 0, $black);
ImageString($image, 5, 30, 6, $security_code, $white);
header("Content-Type: image/jpeg");
ImageJpeg($image);
ImageDestroy($image);
}
?>
Giờ em muốn khi người dùng nhập đúng mã xác nhận nó sẽ nhảy tới trang abc.php còn nếu nhập sai thì nó sẽ không cho sang trang abc.php và xuất hiện thông báo lỗi! -----------------HELP-------------
Bài liên quan
http://www.ddth.com/showthread.php?s=&threadid=10580
Nhưng mà ý của mình muốn hỏi là dùn 1 đoạn javascript để điều khiểu form cơ.
Nghĩa là nếu mình nhập sai mã xác nhận thì form đó sẽ không submit và báo lỗi, còn nếu mình nhập đúng thì form đó sẽ cho nhảy qua trang abc.php và không bị báo lỗi nữa---------------HELP-------------
(1) Đặt luôn đoạn code tạo image trong cùng 1 file có form. Khi đó chỉ cần echo cái $_SESSION["security_code"] ra 1 biến javascript, và khi form submit thì check mã nhập với biến này rồi xử lý
(2) Dùng code hiện tại của bạn (file tạo image riêng) : nếu muốn dùng javascript check , bắt buộc phải dùng ajax call đến 1 file php, file này sẽ check dữ liệu nhập với giá trị lưu trong session, rồi trả về cho js xử lý tiếp (hoặc đơn giản gọi ajax đến file php để lấy code đang lưu trong session, sau đó check giá trị trả về với dữ liệu nhập vô).
Goodluck!
Nhưng mình là dân mới vào nghề lên mấy cái đó chưa có kn nhiều hi`hi`.
Bạn có thể cho mình một đoạn code nào tương tự như vậy xử lý javascript + với php. Cám ơn cả nhà nhiều.
[=========> Bổ sung bài viết <=========]
Mọi người ơi cho em xin đoạn code javascript mà nó so sánh giá trị của thể input nhập vào với giá trị SESSION của php. Tks