Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP永久性网页内容中返回$u帖子_Php_Forms_Post - Fatal编程技术网

如何在PHP永久性网页内容中返回$u帖子

如何在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.

我有一张表格可以邮寄。我还有一个与之成功连接的sql数据库。但是,当我关闭页面时,用户输入消失。我怎样才能让用户输入页面内容的一部分,就像留言簿一样

<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()和!习惯性的清空,哎呀。我应该测试一下,但不想错过更多的暂停和着火。不过,我现在已经纠正了这些问题。