Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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 回显表单数据而不发送到服务器_Php_Html_Forms_Echo - Fatal编程技术网

Php 回显表单数据而不发送到服务器

Php 回显表单数据而不发送到服务器,php,html,forms,echo,Php,Html,Forms,Echo,我在一个页面上有一个小表单,我在其中询问用户名,表单将数据发送到name.php并回显用户名,例如,Hello Steven Steven是表单中输入的名称 既然这个名字已经被回传到这个表单上,我想在页面的其他地方再次回传同样的数据。这就是我碰到墙的地方 我宁愿不将输入表单中的名称发送到服务器或数据库,而只是将它们保留在会话中,然后将其丢失 现在的问题是在一个页面上多次回显表单数据 我现在使用的微型表单代码如下: <form role="form" id="inviteform3" cla

我在一个页面上有一个小表单,我在其中询问用户名,表单将数据发送到name.php并回显用户名,例如,Hello Steven Steven是表单中输入的名称

既然这个名字已经被回传到这个表单上,我想在页面的其他地方再次回传同样的数据。这就是我碰到墙的地方

我宁愿不将输入表单中的名称发送到服务器或数据库,而只是将它们保留在会话中,然后将其丢失

现在的问题是在一个页面上多次回显表单数据

我现在使用的微型表单代码如下:

<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);