gpt4 book ai didi

javascript - 添加验证码形成php/mysql

转载 作者:行者123 更新时间:2023-11-29 21:52:17 26 4
gpt4 key购买 nike

我想将 Google 验证码添加到我的 php 表单中。该表单将数据添加到我的 mysql 数据库中。如何将代码的两部分添加在一起,以便表单首先检查验证码,检查后,然后发送。

$servername = "";
$username = "";
$password = "";
$database = "";


$conn = new mysqli($servername, $username, $password, $database);

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}


$email = $_SESSION['userName'];
$contact = $_POST['naar'];
$address = $_POST['bericht'];


$sql = "INSERT INTO messages (to_user, from_user, message)
VALUES ('".$contact."', '".$email."', '".$address."')";


$conn->close();






if($_SERVER["REQUEST_METHOD"] === "POST")
{
//form submitted

//check if other form details are correct

//verify captcha
$recaptcha_secret = "xxxxxxxxxxxxxx";
$response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$recaptcha_secret."&response=".$_POST['g-recaptcha-response']);
$response = json_decode($response, true);
if($response["success"] === true)
{
echo "Logged In Successfully";
}
else
{
echo "You are a robot";
}
}

最佳答案

正如 @Dagon 和 @Marc B 在上面的评论中建议的那样,试试这个:

$servername = "";
$username = "";
$password = "";
$database = "";

if($_SERVER["REQUEST_METHOD"] === "POST")
{
//form submitted

//check if other form details are correct

//verify captcha
$recaptcha_secret = "xxxxxxxxxxxxxx";
$response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$recaptcha_secret."&response=".$_POST['g-recaptcha-response']);
$response = json_decode($response, true);
if($response["success"] === true)
{

//$conn = new mysqli($servername, $username, $password, $database);
try{
$db = new PDO('mysql:host='.$servername.';dbname='.$database,$username,$password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e){
echo "Error connecting to DB";
echo $e->getMessage();
exit();
}

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$email = $_SESSION['userName'];
$contact = $_POST['naar'];
$address = $_POST['bericht'];


$sql_pdo = "INSERT INTO messages (to_user, from_user, message)
VALUES (:contact, :email, :address)";

$stmt = $conn->prepare($sql_pdo);

try {
$result = $stmt->execute( array(
':contact' => $contact,
':email' => $email,
':address' => $address
));
if ( count($result) > 0 ) {
// Insert has gone well. Do your things here.
echo "Logged In Successfully";
}
else {
// Insert error. Report, check, ...
}
}
catch(PDOException $e){
echo 'could not insert in DB';
echo 'Error: ' . $e->getMessage();
return false;
}

$conn->close();
}
else
{
echo "You are a robot";
}
}

关于javascript - 添加验证码形成php/mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33509722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com