【发布时间】:2015-07-10 11:33:01
【问题描述】:
这就是问题所在。我正在尝试解决我的 PHP 脚本中的一个问题,该问题阻止它通过电子邮件发送我们的客户输入的信息。
<?php
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$recaptcha=$_POST['g-recaptcha-response'];
if(!empty($recaptcha))
{
include("getCurlData.php");
$google_url="https://www.google.com/recaptcha/api/siteverify";
$secret='6LegpgYTAAAAABK9Nd45_DfAPu7_gwHro9pj902B';
$ip=$_SERVER['REMOTE_ADDR'];
$url=$google_url."?secret=".$secret."&response=".$recaptcha."&remoteip=".$ip;
$res=getCurlData($url);
$res= json_decode($res, true);
//reCaptcha success check
if($res['success'])
{
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
if(isset($_POST['submit'])) {
$to = "denislav@svishtov.net";
$subject = "New opinion post";
// data the visitor provided
$name_field = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
$phone_field = filter_var($_POST['number']);
$address_field = filter_var($_POST['address'], FILTER_SANITIZE_STRING);
$comment = filter_var($_POST['comment'], FILTER_SANITIZE_STRING);
//constructing the message
$body = "
From: $name_field <br/>
Email Address: $address_field <br/>
Phone number: $phone_field <br/>
Message:<br/> $comment ";
// ...and away we go!
mail($to, $subject, $body, $headers);
// redirect to confirmation
header("Location: confirmation2.html");
}
else {
// handle the error somehow
echo "Error accessing the file";
}
}
else
{
echo "Въвели сте грешен код за потвърждаване (reCAPTCHA)! Натиснете "назад" и опитайте отново";
}
}
else
{
echo "Не сте въвели код за потвърждаване (reCAPTCHA)! Натиснете "назад" и опитайте отново";
}
}
?>
更糟糕的是,它曾经可以工作,然后我打开它,编辑了一些东西,现在它不起作用,尝试了备份副本,它仍然不起作用!? 在 CMS MadeSimple 中工作。 URL 是正确的,confirmation2.html 是一个文件,而不是在 CMS 中制作的页面,它与 php 脚本位于同一文件夹中,如果我尝试直接访问它(而不是通过联系人),我有尝试了 ' ' 和 " " 引号,仍然没有变化。
可能是一个简单的错误,我确实尝试在这里(*.com)寻找其他解决方案,但没有解决我当前的问题。我知道我不应该在标题之前有任何输出,但是......好吧我没有任何输出,所以我很困惑。 提前感谢那些想要提供帮助的人!
【问题讨论】:
-
您在使用
header("Location: confirmation2.html");重定向后忘记了exit(); -
已添加,不起作用:/以前没有它也可以!?
-
使用
header("Location: /uploads/doc/Online_Request/confirmation2.html"); exit();如果它仍然不起作用(无论doesn't work可能意味着btw)然后确保在这种情况下执行您的代码步骤if($res['success']) -
' doesn't work ' 意味着我得到一个空白页,就好像我试图直接打开脚本而不是通过表单一样。是的,它仍然“不起作用”......而且我不知道如何对代码进行故障排除和调试。