- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想刷新我的验证码图像。我的意思只是图像标签。
我将首先向您展示我的代码。
<?php
include_once("./common/top.php");
require_once("./captcha/captcha.php");
?>
<div class="" style="background:#F7F7F7;">
<div id="wrapper">
<div id="signup" class="animate form">
<section class="login_content">
<form id="signup" name="signup" class="signupForm" onsubmit="return false;" method="post" action="signup.html";>
<h1>Create Account</h1>
<div>
<input type="email" id="inputEmail" name="inputEmail" class="form-control" placeholder="Email" required="" />
</div>
<div>
<input type="password" id="inputPassword" name="inputPassword" class="form-control" placeholder="Password" required="" />
</div>
<div>
<input type="password" id="inputCPassword" name="inputCPassword" class="form-control" placeholder="Conform Password" required="" />
</div>
<div id="RELOAD"><!-- Reload here! -->
<img class="captcha_code" src="<?= captcha::image() ?>" />
<button type="button" id="refresh_btn" class="btn btn-defualt" style="background-color:rgb(115, 135, 156); color:white;"><span class="glyphicon glyphicon-refresh"></span> Refresh</button><!-- TODO -->
</div><br>
<div>
<input type="text" id="inputCNum" name="inputCNum" class="form-control" placeholder="Number" required="" />
</div>
<div>
<a id="signup_btn" class="btn btn-default" href="index.html">Sign up</a>
</div>
<div class="clearfix"></div>
<div class="separator">
<p class="change_link">Already a member ?
<a href="signin.html" class="to_register"> Sign in </a>
</p>
<div class="clearfix"></div>
<br />
<div>
<h1><i class="fa fa-gamepad" style="font-size: 26px;"></i> GAMEPARTY</h1>
</div>
</div>
</form>
<!-- form -->
</section>
<!-- content -->
</div>
</div><!-- wrapper -->
</div>
<?php include_once("./common/bottom.php"); ?>
这是html页面,我想在单击refresh_btn时刷新div中的验证码图像,其id为RELOAD。
您可以看到代码顶部的“require_once(./captcha/captcha.php)”,这就是我在 src 属性中调用 captcha 类中名为 image 的函数的原因。
下面的代码是放置在 captcha 类中的图像函数。
public static function image(){
$length = 6;
$code = self::generate_code($length);
ob_start();
$image = imagecreatetruecolor(self::get_width(),self::get_height());
$white = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, self::get_width(), self::get_height(), $white);
for($dot = 0; $dot < 2000; $dot++) {
$r = rand(0, 255);
$g = rand(0, 255);
$b = rand(0, 255);
$dot_color = imagecolorallocate($image, $r, $g, $b);
$x1 = rand(0, self::get_width());
$y1 = rand(0, self::get_height());
$x2 = $x1 + 1; // 1px to the right
$y2 = $y1 + 1; // 1px to the top
imageline($image, $x1, $y1, $x2, $y2, $dot_color);
}
for($start = - $length; $start < 0; $start++) {
$color = imagecolorallocate($image, rand(0,70), rand(0,70), rand(0,70));
$character = substr($code, $start, 1);
$x = ($start+6) * self::$character_width;
$y = rand(self::get_height() - 30, self::get_height() - 20);
imagestring($image, self::$font_size, $x, $y, $character, $color);
}
imagepng($image); //Output a PNG image from the given $image to either the browser or a file. *Print the raw image stream if the filepath isn't existed or null*
imagedestroy($image); //Frees any memory associated with image image.
$source = ob_get_contents();
ob_end_clean();
return "data:image/png;base64,".base64_encode($source);
}
我想知道的是如何只刷新验证码img?请告诉我。非常感谢。
<小时/>我已更改为 reCaptcha,这是代码。
[html]
<div><!-- reCaptcha -->
<a class="btn" id="refresh_btn" style="display:inline;"><span class="glyphicon glyphicon-refresh" aria-hidden="true"></span> reset</a><div id="reCaptcha" style="transform:scale(0.8);transform-origin:0 0;margin: auto; width:70%"></div>
</div>
[javascript]
<script language="javascript">
var widgetId;
var refresh_btn = document.getElementById('refresh_btn');
var verifyCallback = function(response) {
//console.log("verifyCallback response : " + response);
if (response != "") {
checkRobot();
}
};
var onloadCallback = function() {
widgetId = grecaptcha.render(document.getElementById('reCaptcha'), {
'sitekey' : 'mykey',
'callback' : verifyCallback,
'theme' : 'light'
});
};
function checkRobot() {
$.ajax({
type : "POST"
, url : 'url'
, cache : false
, data : {"g-recaptcha-response" : $(".g-recaptcha-response").val()}
, success : function(data){
console.log('data : ' + data);
}
});
}
onloadCallback 函数在加载时被调用,并且 reCaptcha 字段由 widgetId 呈现。因此,我在标题底部的 url 后面添加了查询,如下所示。
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"async defer></script>
我使用ajax在checkRobot函数中获取json数据。这是服务器端 php 代码。
<?php
if(isset($_POST["g-recaptcha-response"]) && $_POST["g-recaptcha-response"]) {
//var_dump($_POST);
$secret = "secretKey";
$remoteip = "127.0.0.1:80"; //I'm testing on localhost.(port:80 is required)
$response = $_POST["g-recaptcha-response"];
$url = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$response&remoteip=$remoteip");
//var_dump($url);
$arr = json_decode($url, TRUE);
if($arr["success"]) {
echo "success";
}else {
echo "spam";
}
}
?>
最佳答案
哇!当已经编写了一些非常好的验证码时,您已经经历了很多麻烦来创建自己的验证码。
例如reCAPTCHA这是在 SO 上使用的。
关于javascript - php/javascript |如何仅重新加载验证码图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33115742/
这个问题在这里已经有了答案: How does Scala's apply() method magic work? (3 个回答) 9年前关闭。 假设我在 scala 中有一个 MyList 类,其
这个问题在这里已经有了答案: What is a non-capturing group in regular expressions? (18 个回答) Reference - What does
这个问题是针对嵌入式系统的! 我有以下选项来初始化一个对象: Object* o = new Object(arg); 这会将对象放入堆中并返回指向它的指针。我不喜欢在嵌入式软件中使用动态分配。 Ob
我自己搜索过,没能成功的正则表达式。 我有一个 html 文件,其中包含 [] 之间的变量我想把每一个字都写进去。 [client_name][client_company] [cl
我是 Python 新手。我不明白为什么这段代码不起作用: reOptions = re.search( "[\s+@twitter\s+(?P\w+):(?P.*?)\s+]", d
在过去 7 个月左右的时间里,我几乎一直在使用 .NET C# 进行编程。在那之前,我的大部分编程都是用 C++(从学校里学的)。在工作中,我可能需要在接下来的几个月里做一大堆 C 语言。我对 C 的
我是 RE 的新手,我正在尝试获取歌词并分离出歌词标题、和声和主唱: 下面是一些歌词的例子: [Intro] D.A. got that dope! [Chorus: Travis Scott] Ic
这可能是不可能的,但我想检查是否可以用一种简单的方式表达这样的事情: // obviously doesn't work class Foo : IFoo where T: Bar {
我们的应用程序中有“user”和“study”实体,存储在它们各自的表中。一项研究代表一种研究和已收集的数据。它们是多对多的关系,所以我们需要一个链接表:studies_users。 我们为用户分配角
将测试条件添加到 Visual Studio 2010 数据库单元测试(对于 SQL Server 2008)时,这些条件称为例如rowCountCondition1、rowCountConditio
在模拟器上,我可以从设置中卸载 SD 卡。 然后我可以将它安装到我的操作系统上,然后正常卸载它。 我一直无法弄清楚如何在模拟器上重新安装它(无需重新启动)。 提示: adb 命令 remount 是无
假设在一个分支上执行了一系列提交,但该分支尚未与主干重新同步。是否可以从提交中生成全局补丁?是否可以从一系列提交中生成“分组”补丁?如果是,如何? 最佳答案 svn diff -rXXX:YYY UR
在某些情况下,我想在我的应用程序中锁定调整大小功能,为此我尝试对属性进行数据绑定(bind),并且不允许在某些情况下更改它,但没有成功。 有没有办法这样做? 这是我不成功的尝试: XAML: Vie
当我的计算机连接多个显示器时,我可以检测它们,并根据从获取的值设置位置来向它们绘制图形 get(0, 'MonitorPositions') 但是,当我在 MATLAB 运行时断开监视器时,此属性不会
我们有一个grails应用程序,该应用程序在grails数据库中存储了各种域对象。该应用程序连接到第二个数据库,运行一些原始sql,并在表中显示结果。它基本上是一个报告服务器。 我们通过在DataSo
无法比较来自不同容器的迭代器(参见这里的示例: https://stackoverflow.com/a/4664519/225186 )(或者从技术上讲,它不需要有意义。) 这就提出了另一个问题,来自
我有以下情况: 家长 Activity : ParentActivityClass { private Intent intent; @Override public void onCreate(Bu
我经常将元素与附加功能 Hook ,例如: $('.myfav').autocomplete(); $('.myfav').datepicker(); $('.myfav').click(somefu
因此,我将 tooltipster.js 库用于工具提示,并尝试更改工具提示在不同屏幕尺寸上的默认距离。 所以这是默认的 init 的样子: $(inputTooltipTrigger).tool
我在 ARM7 嵌入式环境中工作。我使用的编译器不支持完整的 C++ 功能。它不支持的一项功能是动态类型转换。 有没有办法实现dynamic_cast<>() ? 我使用 Google 寻找代码,但到
我是一名优秀的程序员,十分优秀!