На нашем некоммерческом сайте есть форма PHP, которая была недавно изменена. После того как мы заполним форму и нажмем кнопку «Отправить», формы пройдут, и мы не увидим никаких ошибок, но с другой стороны, мы не получим ни одного электронного письма, в котором была подана заявка. Мне удалось понять, что возникает проблема с store_it.php, и я попытался разобраться в ней (не очень хороший PHP-специалист), но не смог понять, в чем заключается ошибка. Та же самая форма без поля CAPTCHA работала раньше, но эта новая выдает ошибки.
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<?php
$name = empty($_POST["name"]) ? "" : $_POST["name"];
$lname = empty($_POST["lname"]) ? "" : $_POST["lname"];
$email = empty($_POST["email"]) ? "" : $_POST["email"];
$age = empty($_POST["age"]) ? "-" : $_POST["age"];
$education = empty($_POST["education"]) ? "-" : $_POST["education"];
$country = empty($_POST["country"]) ? "-" : $_POST["country"];
$city = empty($_POST["city"]) ? "-" : $_POST["city"];
$phone = empty($_POST["phone"]) ? "-" : $_POST["phone"];
$zip = empty($_POST["zip"]) ? "-" : $_POST["zip"];
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$email = "-";
}
if(!$name || !$lname || !$email || !filter_var($email, FILTER_VALIDATE_EMAIL))
{
session_start();
if(isset($_POST["captcha"])&&$_POST["captcha"]!=""&&$_SESSION["code"]==$_POST["captcha"])
{
//Captcha is OK Do nothing
}
else
{
// die("Wrong Code Entered");
//Code is not correct
header("location:register.php?name=$name&lname=$lname&age=$age&education=$education&country=$country&city=$city&email=$email&phone=$phone&zip=$zip");
}
}
else
{
$file = "People.txt";
if($name == "123456" && $lname == "123456" && $email == "[email protected]")
{
$a = fopen($file, "r");
echo "<table border='1'>";
echo "<tr><th>نام</th><th>نام خانوادگی</th><th>ایمیل</th><th>سن</th><th>تحصیلات</th><th>کشور</th><th>شهر</th><th>تلفن</th><th>کدپستی</th></tr>";
while(!feof($a))
{
$columns = explode('%%%', fgets($a));
if(!empty($columns[0]))
{
echo "<tr><td>".$columns[0]."</td><td>".$columns[1]."</td><td>".$columns[2]."</td><td>".$columns[3]."</td><td>".$columns[4]."</td><td>".$columns[5]."</td><td>".$columns[6]."</td><td>".$columns[7]."</td><td>".$columns[8]."</td></tr>";
}
}
echo "</table>";
fclose($a);
echo "<form action=\"register.php\">\n";
echo "<input type=\"submit\" value=\"Add another\">\n";
echo "</form>\n";
}
else
{
//Write to file
$a = fopen($file, "a");
fwrite($a,$name."%%%");
fwrite($a,$lname."%%%");
fwrite($a,$email."%%%");
fwrite($a,$age."%%%");
fwrite($a,$education."%%%");
fwrite($a,$country."%%%");
fwrite($a,$city."%%%");
fwrite($a,$phone."%%%");
fwrite($a,$zip."%%%\r\n");
fclose($a);
echo "Registration Successful.";
ob_start();
//Navigate
$RegistrationAddress = "https://divineculture.itslearning.com/course/submitpersondata.aspx?CustomerID=2265&Unknown=true&CourseID=4&LanguageID=1&FirstName=".$name."&LastName=".$lname."&Email=".$email."&Save=True";
while (ob_get_status())
{
ob_end_clean();
}
header( "Location: $RegistrationAddress" );
}
}
?>
Задача ещё не решена.
Других решений пока нет …