РЕДАКТИРОВАТЬ: проблема теперь решена, я предоставил мой исходный и мои фиксированные версии кода PHP ниже. Честно говоря, не уверен, в чем разница, я никогда раньше не использовал PHP, но, надеюсь, это кому-нибудь поможет!
в поисках помощи. Сейчас я делаю университетские курсовые работы и мне нужна помощь с одним элементом. когда я пытаюсь передать данные, взятые из веб-формы, страница выдает ошибку, если я использую следующее утверждение:
echo $db_connection->error;
выдаваемая ошибка:
Parse error: syntax error, unexpected '$useremail' (T_VARIABLE) in (directory goes here, i've removed it)
Я не могу понять, как исправить эту ошибку. если я повторю запрос SQL вставки и скопирую + вставлю его в базу данных, он будет работать отлично.
любая помощь будет принята с благодарностью.
edit: исправлен полный PHP код следующим образом:
<?php
require_once "db.php";
// below code checks whether the form is submitted
// using the POST method or not
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// the form is submitted using the POST method
// now proceed to process the form's data
//$errPass = $errEmail = $errName = $errCVtype = $errCompanyname = "";
//$pass = $email = $name = $usercomment = $cvtype = $companyname = "";
//$pass = mysqli_real_escape_string($db_connection,
$_POST["password"]);
// $salt = "TheQuickBrownFoxJumpedOverTheMoonTwice";
// $data = $pass . $salt;
//$password = crypt($data);
//these commented lines are redundant (left in by lecturer)
$useremail = mysqli_real_escape_string($db_connection, $_POST["email"]);
$fname = mysqli_real_escape_string($db_connection, $_POST["fname"]);
$sname = mysqli_real_escape_string($db_connection, $_POST["sname"]);
$cname = mysqli_real_escape_string($db_connection, $_POST["cname"]);
$usercomment = mysqli_real_escape_string($db_connection, $_POST["comment"]);
$cvtype = mysqli_real_escape_string($db_connection, $_POST["cvchoice"]);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>PHP and MySQLi Thank you message.</title>
<link rel="stylesheet" href="../CSS/process_cv.css">
</head>
<body>
<div id="container">
<div id="text-field">
<section>
<?php
if($_SERVER["REQUEST_METHOD"] == "POST" )
{
$qry = "insert into cv_test(email, fname, sname, cname, usercomment, cvrequested)
values('$useremail', '$fname', '$sname', '$cname', '$usercomment', '$cvtype');";
$res = $db_connection->query($qry);
if($res)
{
echo "<p id='Title'>Thank you for requesting to see my CV.</p>";
echo "<p id='Name'>Your Name: <strong>".$fname."</strong></p>";
echo "<p id='Email'>Your Email: <strong>".$useremail."</strong></p>";
echo "<p id='Company'>Your Company Name: <strong>".$cname."</strong></p>";
echo "<p id='Comment'>Your Comment: ".$usercomment."</p>";
echo "<p id='CV'><a href='REMOVED PRIVATE URL";
if ($cvtype === 'short')
echo "Short_CV";
else
echo "Long_CV";
echo ".pdf' target='_blank'>View my ".$cvtype." CV</a></p>";
//echo "<p id='image_map'><a href='../image_map.html'>Return To Image_Map</a></p>";
exit();
}
else
{
echo "<p>Error occurred, kindly try again later.</p>";
//echo "<p><a href='../image_map.html'>Return To Image_Map</a></p>";
exit();
}
}
$db_connection->close();
?>
</section>
</div>
</div>
</body>
</html>
исходный код был:
<?php
require_once "db.php";
// below code checks whether the form is submitted
// using the POST method or not
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// the form is submitted using the POST method
// now proceed to process the form's data
//$errPass = $erruseremail = $errfname = $errsname = $errcname = $errusercomment = $errcvtype = "";
//$pass = $useremail = $fname = $sname = $cname = $usercomment = $cvtype = "";
//$pass = mysqli_real_escape_string($db_connection, $_POST["password"]);
//$salt = "TheQuickBrownFoxJumpedOverTheMoonTwice";
//$data = $pass . $salt;
//$password = crypt($data);
$useremail = mysqli_real_escape_string($db_connection, $_POST["email"]);
$fname = mysqli_real_escape_string($db_connection, $_POST["fname"]);
$sname = mysqli_real_escape_string($db_connection, $_POST["sname"]);
$cname = mysqli_real_escape_string($db_connection, $_POST["cname"]);
$usercomment = mysqli_real_escape_string($db_connection, $_POST["comment"]);
$cvtype = mysqli_real_escape_string($db_connection, $_POST["cvchoice"]);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>PHP and MySQLi Thank you message.</title>
</head>
<body>
<?php
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$qry = "insert into cv_test(email, fname, sname, cname, usercomment, cvrequested)<br>
values('$useremail', '$fname', '$sname', '$cname', '$usercomment', '$cvtype');";
echo $qry . "<br>";
$res = $db_connection->query($qry);
if($res)
{
echo "<p>Thank you for requesting to see my CV.</p>";
echo "<p> Your name: <strong>".$fname." ".$sname."</strong></p>";
echo "<p>Your Company Name: <strong>".$cname."</strong></p>";
echo "<p>Your email: ".$useremail."</p>";
echo "<p>Your Comment: ".$usercomment."</p>";
echo "<p><a href='REMOVED PRIVATE URL";
if ($cvtype === 'short')
echo "Short_CV";
else
echo "Long_CV";
echo ".pdf' target='_blank'>View my ".$cvtype." CV</a></p>";
exit();
}
else
{
echo "<p>Error occurred, kindly try again later.</p>";
exit();
}
}
$db_connection->close();
?>
</body>
</html>