我正在尝试将此Recaptcha请求实施到我的注册表单中,但它无效.null当我在我的网站上成功验证Recaptcha时,cURL/JSON请求会返回.
我尝试使用var_dump在"error-codes":从JSON请求,它只返回null; 而在本文档中,它表明它显然意味着在JSON请求中输出两个项目.
在此先感谢,我没有做过很多JSON/cURL的工作,所以对我来说很容易.
这是我的代码:
PHP
<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
$recaptcha = $_POST['g-recaptcha-response'];
if(!empty($recaptcha)) {
function getCurlData($url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16");
$curlData = curl_exec($curl);
curl_close($curl);
return $curlData;
}
$google_url = "https://www.google.com/recaptcha/api/siteverify";
$secret = 'You will never know >:D';
$ip = $_SERVER['REMOTE_ADDR'];
$url = $google_url . "?secret=" . $secret . "&response=" …Run Code Online (Sandbox Code Playgroud) 在我的Web应用程序的主页上,我将显示有限数量的项目.我有来自2个不同表的2个查询以显示这些特定项:
这允许我选择要在主页上显示的项目.
我有2个查询:
$t1_items = DB::fetch("SELECT * FROM 'table1'");$t2_items = DB::fetch("SELECT * FROM 'table2'");我有2个foreach循环遍历每个表,并将'table2'中的id与'table1'中的每个项目进行比较.如果两个表中的ID匹配,则会在主页上显示该项目.
这允许我通过更改"table2"中每个项目的引用ID来选择我想要在主页上显示的项目.
这是我的foreach循环代码:
<?php
foreach ($t1_items as $i => $t1_item) {
foreach ($t2_items as $i => $t2_item) {
if ($t1_item->id == $t2_item->ref_id) {
echo $t1_item->title;
}
}
}
?>
Run Code Online (Sandbox Code Playgroud)
这是表结构:
表格1: position_name - ref_id
表2: id - title
这段代码工作得非常好,唯一的问题是它显然非常低效,因为它必须扫描我的数据库表中的每一个项目才能只抓取几个选择项.
有没有办法让我$t1_items只能动态查询与每个引用ID相同的id的项目$t2_items?我需要一些优化,快速和轻量级的东西,以支持繁重的流量.
谢谢您的帮助!:)