【发布时间】:2020-08-04 01:32:48
【问题描述】:
编辑:问题现已解决,我在下面提供了我的原始版本和固定版本的 PHP 代码。老实说,我不确定有什么区别,我以前从未使用过 PHP,但希望这对某人有所帮助!
寻求帮助。 我现在正在做大学课程,需要一个元素的帮助。 当我尝试传递从 Web 表单中获取的数据时,如果我使用以下语句,页面会出错:
echo $db_connection->error;
它给出的错误是:
Parse error: syntax error, unexpected '$useremail' (T_VARIABLE) in (directory goes here, i've removed it)
我不知道如何解决这个错误。如果我回显 SQL 插入查询并将其复制并粘贴到数据库中,它会完美运行。
任何帮助将不胜感激。
编辑: 固定完整的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>
【问题讨论】:
-
如果能把完整的代码分享给我们就更好了。
-
我现在上传完整的代码,我已经解决了这个问题,所以我上传它是如何解决的,以防它帮助其他人。
-
@Glenn 如果您接受下面给出的答案,或者在您的修复程序中发布新答案并接受此问题,我们将不胜感激,这样可以将此问题标记为已解决