我創建了一個評價網站。人們訪問它並將它放置在數據庫中的評論。用html格式的用戶輸入替換預定義的代碼
我在網站上創建了一個簡單的表格和區域,以便他們能夠編輯和刪除他們的評論。
但是,我必須從每個用戶的數據庫中提取他們的評論信息的代碼不起作用。我需要替換「WHERE FirstName ='peter'」);,它允許腳本獲取並顯示用戶在表單上鍵入的電子郵件提交的評論。
<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM Persons
**WHERE FirstName='Peter'");**
while($row = mysqli_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br>";
}
?>
這裏是HTML表單(很簡單,並沒有大量的工作完成了嗎。)
<form action="myReviews.php" method="post">
<label>Please enter your email:</label>
<input type="email" id="email" name="email" placeholder="email">
<input type="submit" value="submit">
</form>
我已經試了又試,使用「回聲」,一切都在摸不着頭腦之間!請幫助我。谷歌搜索它,並去教程網站沒有任何好處!一旦找到答案,我會更新問題。
基於從各位用戶幫助更新下
我編輯的PHP腳本恰好如下:點擊提交在後
<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM Persons
WHERE $email = mysqli_real_escape_string($_POST['email']);");
while($row = mysqli_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br>";
}
?>
現在我得到這個錯誤在我的瀏覽器形成。
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/content/38/10473938/html/review-pratt/business_profiles/myReviews.php on line 106
難道你不能把它改成'WHERE email ='email @ example.com'嗎? – Mike 2013-03-23 06:31:34
那麼,這將工作,但你必須能夠從形式拉電子郵件。那有意義嗎?真的不知道該怎麼做。 – user2109152 2013-03-23 06:32:56
如果這是您的表單使用的方法,則所有變量均可在'$ _POST'中使用。試試'$ _POST ['email']'。另外,請確保使用'mysqli_real_escape_string()'或更好的方式轉義它,使用預準備語句。 – Mike 2013-03-23 06:34:32