如何在PHP永久性网页内容中返回$u帖子
我有一张表格可以邮寄。我还有一个与之成功连接的sql数据库。但是,当我关闭页面时,用户输入消失。我怎样才能让用户输入页面内容的一部分,就像留言簿一样如何在PHP永久性网页内容中返回$u帖子,php,forms,post,Php,Forms,Post,我有一张表格可以邮寄。我还有一个与之成功连接的sql数据库。但是,当我关闭页面时,用户输入消失。我怎样才能让用户输入页面内容的一部分,就像留言簿一样 <p onclick="myFunction()">Click here to share your personal testimony</p> <div id="formwindow"> <form action="http://needjesuskneadjesus.org/perstest.
<p onclick="myFunction()">Click here to share your personal testimony</p>
<div id="formwindow">
<form action="http://needjesuskneadjesus.org/perstest.php" method="post">
Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr; ?></span>
<br>
Email: <input type="text" name="email">
<span class="error">* <?php echo $emailErr; ?></span>
<br>
Personal Testimony:<br> <textarea name="personalTestimony" rows="10" cols="50"></textarea><br>
<input type="Submit">
</form>
</div>
<script>
function myFunction() {
document.getElementById("formwindow").style.display = "block";
}
</script>
</br>
<?php
echo "Name: " . $_POST['name'];
?>
</br>
<?php
echo "Email: " . $_POST['email'];
?>
</br>
<?php
echo "Personal Testimony: " . $_POST['personalTestimony'];
?>
</br>
/* Attempt MySQL server connection.
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// Escape user inputs for security
$name = mysqli_real_escape_string($link, $_REQUEST['name']);
$email = mysqli_real_escape_string($link, $_REQUEST['email']);
$personalTestimony = mysqli_real_escape_string($link,
$_REQUEST['personalTestimony']);
// attempt insert query execution
$sql = "INSERT INTO personalTestimony (name, email, testimony) VALUES
('$name', '$email', '$personalTestimony')";
if(mysqli_query($link, $sql)){
echo "Thanks for sharing your personal testimony.";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// close connection
mysqli_close($link);
*/
?>
单击此处分享您的个人证词
姓名:
*
电邮: *
个人证词:
函数myFunction(){ document.getElementById(“formwindow”).style.display=“block”; } /*尝试MySQL服务器连接。 //检查连接 如果($link==false){ die(“错误:无法连接。”.mysqli_connect_ERROR()); } //转义用户输入以确保安全 $name=mysqli\u real\u escape\u字符串($link,$\u REQUEST['name']); $email=mysqli\u real\u escape\u字符串($link,$\u REQUEST['email']); $PersonalEvidence=mysqli\u real\u escape\u字符串($link, $_请求[个人证词]; //尝试插入查询执行 $sql=“插入到个人证词(姓名、电子邮件、证词)值中 (“$name”、“$email”、“$personalexecution”)”; if(mysqli_查询($link,$sql)){ echo“感谢分享您的个人证词。”; }否则{ echo“错误:无法执行$sql。”.mysqli_错误($link); } //密切联系 mysqli_close($link); */ ?> 您可以使用存储用户评论,这将显示旧的评论
<?php
session_start();
$name;
$email;
$personalTestimony;
if($link === false){
die('ERROR: Could not connect.' . mysqli_connect_error());
}
if (!isset($_POST['name']) && !isset($_POST['email']) && !isset($_POST['personalTestimony'])) {
$name = $_POST['name']);
$email = $_POST['email'];
$personalTestimony = $_POST['personalTestimony']);
// attempt insert query execution
$sql = mysqli_prepare($link, "INSERT INTO personalTestimony (name, email, testimony) VALUES ('$name', '$email', '$personalTestimony'))";
if(mysqli_query($link, $sql)){
echo 'Thanks for sharing your personal testimony.';
} else{
echo 'ERROR: Could not able to execute $sql. ' . mysqli_error($link);
}
} elseif (!empty($_SESSION['name']) || !empty($_SESSION['email']) || !empty($_SESSION['testimony'])) {
$_SESSION['name'] = $name;
$_SESSION['email'] = $email;
$_SESSION['testimony'] = $personalTestimony;
}
}
// close connection
mysqli_close($link);
?>
使用cookies或session您必须保存用户输入,然后将其再次放入,一种方法是通过会话。保存它们:$\u SESSION[“name”]=$\u POST['name']
然后在构建页面时执行:echo“name:”.$\u SESSION['name']代码>虽然没有特别询问,但注意不要回应不卫生的POST VAR;至少要使用。!isset()&!空()
。这种情况永远不会发生。另外,对使用错误参数使用的mysqli_prepare
返回的语句对象使用htmlentities
是什么意思!。Fred Gandt的意思是使用htmlentities()
将用户输入放入输出的html中,就像echo“your name is”。htmlentities($\u POST['name'])
。伙计,你应该先测试你的代码,然后再把它当作答案。顺便说一句,我没有否决你的投票answer@Accountant谢谢你指出这一点,我一直都这么做!isset()和!习惯性的清空,哎呀。我应该测试一下,但不想错过更多的暂停和着火。不过,我现在已经纠正了这些问题。