Php 回显表单数据而不发送到服务器
我在一个页面上有一个小表单,我在其中询问用户名,表单将数据发送到name.php并回显用户名,例如,Hello Steven Steven是表单中输入的名称 既然这个名字已经被回传到这个表单上,我想在页面的其他地方再次回传同样的数据。这就是我碰到墙的地方 我宁愿不将输入表单中的名称发送到服务器或数据库,而只是将它们保留在会话中,然后将其丢失 现在的问题是在一个页面上多次回显表单数据 我现在使用的微型表单代码如下:Php 回显表单数据而不发送到服务器,php,html,forms,echo,Php,Html,Forms,Echo,我在一个页面上有一个小表单,我在其中询问用户名,表单将数据发送到name.php并回显用户名,例如,Hello Steven Steven是表单中输入的名称 既然这个名字已经被回传到这个表单上,我想在页面的其他地方再次回传同样的数据。这就是我碰到墙的地方 我宁愿不将输入表单中的名称发送到服务器或数据库,而只是将它们保留在会话中,然后将其丢失 现在的问题是在一个页面上多次回显表单数据 我现在使用的微型表单代码如下: <form role="form" id="inviteform3" cla
<form role="form" id="inviteform3" class="form-inline" action="name.php" method="POST">
<div class="form-group">
<input type="text" class="form-control input-sm" name="name" placeholder="Your Name"
id="hello" autocomplete="off" style="margin-top:10px">
</div>
<center>
<span id="result"></span>
<button class="btn btn-brand btn-sm next-screen animated bounceInUp"
id="go" style="margin-top:5px; display:none" href="#services" data-animation-delay=".5s">
Let's Go!</button></center>
<button class="btn btn-block btn-brand btn-xs invitebtn3" id="casi" type="submit"
style="margin-top:5px"><i class="fa fa-thumbs-o-up"></i> Submit</button>
</form>
<html>
<body>
Let's get started, <?php echo $_POST["name"]; ?>
</body>
</html>
我的php表单name.php如下所示:
<form role="form" id="inviteform3" class="form-inline" action="name.php" method="POST">
<div class="form-group">
<input type="text" class="form-control input-sm" name="name" placeholder="Your Name"
id="hello" autocomplete="off" style="margin-top:10px">
</div>
<center>
<span id="result"></span>
<button class="btn btn-brand btn-sm next-screen animated bounceInUp"
id="go" style="margin-top:5px; display:none" href="#services" data-animation-delay=".5s">
Let's Go!</button></center>
<button class="btn btn-block btn-brand btn-xs invitebtn3" id="casi" type="submit"
style="margin-top:5px"><i class="fa fa-thumbs-o-up"></i> Submit</button>
</form>
<html>
<body>
Let's get started, <?php echo $_POST["name"]; ?>
</body>
</html>
我的js代码是:
<script>
$(document).on("ready", function(){
//Form action
$("#inviteform3").on("submit", function(event){
// Stop submit event
event.preventDefault();
$.ajax({
type:'POST',
url: 'name.php',
data:$('#inviteform3').serialize(),
success: function(response)
{
$('#inviteform3').find('#result').html(response);
}});
});
});
</script>
每次关闭选项卡/窗口时,都会擦除会话存储。您可以使用PHP而不是Javascript
session_start();
$_SESSION['name'] = $_POST['name'];
关闭浏览器时,$\u会话变量将被清除,并且是全局变量,因此可以在任何地方访问。会话_开始必须是您在运行的第一页的第1行执行的第一件事情
有关PHP会话的更多信息,请参见about$\u会话
例如:
您正在发布到name.php。所以在name.php的第1行
<?php session_start(); ?>
然后:
if语句仅用于检查,但如果您确信它已设置,则不需要它。我们需要弄清楚一些事情: 我宁愿不将输入表单中的名称发送到服务器或数据库,而只是将它们保留在会话中,然后将其丢失 当您将数据发送到服务器时,您已经使用jQuery和AJAX将表单发布到name.php。php在接收响应的服务器上工作,并将其添加到页面中,行为:
$('#inviteform3').find('#result').html(response);
例如,如果希望将该数据存储在会话中,可以使用Antony D'Andrea在name.PHP中建议的PHP。浏览器关闭时,会话将被销毁。在此之前,您可以随时使用会话变量
既然这个名字已经在那张表格上重复了,我想重复一下
同样的数据在页面的其他地方再次出现。这就是我跑步的地方
撞到墙上
当您在name.php中回显名称时,AJAX调用将检索整个页面,包括html和body标记,并将其添加到结果中。如果您想多次显示名称,只需将其与上面的行一起追加多次即可 所以现在我可以在我需要的地方使用它,它应该在会话中回显提交的数据@阿罗尔:不。使用javascript sessionStorage.getItemname将数据放入这些区域。该数据存储在本地,您的PHP脚本无法访问它。很抱歉,我仍然不知道如何将代码注入我的页面以查看结果@Aroll605$some_id.html sessionStorage.getItemname;对于您想要的,只使用PHP比使用javascript容易得多。否则,您必须为所有这些DOM操作而烦恼。做这个客户端没有任何好处。正如我提到的,@antonyd'Andrea,我对php非常陌生。我曾经尝试过一次回显数据,但是我被卡住了,我不理解我得到的建议。任何进一步的帮助都将不胜感激。我已尝试添加一个示例。但我不知道我能说得清楚多少!我已经像你提到的那样修改了php,并将其注入到我的html文件中,但我仍然没有看到表单数据出现在submit上。它只在第一次请求时出现。我的错误可能很愚蠢@Antony D'AndreaTry isset$_POST['name']&&!if语句中的空$u POST['name']仍然没有显示。我修改了jquery并添加了$'otherdiv'。查找'result2'。htmlresponse;,现在,数据发布在我想要的任何地方。这不完全是我想要的答案,但它奏效了……@Antony D'Andrea
<?php
if (isset($_SESSION['name'])) {
echo $_SESSION['name'];
}
?>
$('#inviteform3').find('#result').html(response);