php编写个4个空格的验证码等待输入框输入满4位后如果不等于1314则提示错误后清空等待重新输入
以下是一个简单的PHP代码实现:
<?php
session_start();
if(isset($_POST['submit'])){
$captcha = $_POST['captcha'];
if($captcha == $_SESSION['captcha']){
echo "验证码正确!";
}else{
echo "验证码错误,请重新输入!";
$_SESSION['captcha'] = "";
}
}
?>
<form method="post">
<input type="text" name="captcha" maxlength="4" pattern="[0-9]{4}" title="请输入4位数字验证码" required>
<input type="submit" name="submit" value="提交">
</form>
<?php
if(!isset($_SESSION['captcha']) || empty($_SESSION['captcha'])){
$_SESSION['captcha'] = rand(1000,9999);
}
?>
<script>
var captcha = "<?php echo $_SESSION['captcha']; ?>";
document.getElementsByName('captcha')[0].placeholder = captcha;
</script>
该代码首先通过 session_start() 开启了会话,然后在表单中设置了一个名为 captcha 的输入框,限制了最大输入长度为4位数字,并且必填。在表单提交后,通过 $_POST 获取输入的验证码,并与 $_SESSION 中保存的验证码进行比较。如果相等,则提示验证码正确;否则提示验证码错误,并将 $_SESSION 中保存的验证码清空,等待重新输入。
在页面加载时,该代码会生成一个随机的4位数字验证码,并将其保存在 $_SESSION 中。然后通过 JavaScript 将该验证码设置为输入框的 placeholder 属性,以便用户清晰地看到验证码的数字
原文地址: https://www.cveoy.top/t/topic/edSd 著作权归作者所有。请勿转载和采集!