php表单操作处理程序并保存它

php表单操作处理程序并保存它,php,Php,我正在尝试使用php为表单操作处理程序创建一个页面 问题是我希望操作保存在该页面上 这是我在index.php上的表单 <form method="get" onSubmit="return val()" action="han.php"> <label>Name:</label> <input type="text" id="name" name="name" /> <input type="submit" name

我正在尝试使用php为表单操作处理程序创建一个页面

问题是我希望操作保存在该页面上

这是我在index.php上的表单

<form method="get" onSubmit="return val()" action="han.php">
    <label>Name:</label>
    <input type="text" id="name" name="name" />
    <input type="submit" name="submit" id="submit" value="Submit" />
</form>

姓名:
这是我在han.php上的php代码

<?php
$name = $_GET['name'];
echo "Your Name is:".$name;
?>

每次提交名称时,我都需要将该名称保存在han.php文件中,如下所示:

你的名字是:布赖恩
你的名字是:杰克
你的名字是:丹尼尔
你的名字是:鲍勃

您可以为保存的名称创建另一个文件,例如names.txt,然后在您的han.php中编写此文件,以便在每次提交表单时保存名称:

<?php
$name = $_GET['name'];
$file = fopen("names.txt","a");
echo fwrite($file,"$name, \n");
fclose($file);
return header('Location: index.php'); // to redirect to index.php page
?>

您可以为保存的名称创建另一个文件,例如names.txt,然后在您的han.php中,您可以编写以下内容,以便在每次提交表单时保存名称:

<?php
$name = $_GET['name'];
$file = fopen("names.txt","a");
echo fwrite($file,"$name, \n");
fclose($file);
return header('Location: index.php'); // to redirect to index.php page
?>

您可以在当前会话中保存它们

<?php
session_start();
if(!isset($_SESSION['names']))
  $_SESSION['names'] = array();

if(isset($_GET['name']))
  array_push($_SESSION['names'], $_GET['name']);

if(isset($_SESSION['names']))
    foreach($_SESSION['names'] as $name)
        echo $name."<br>";
?>

您可以在当前会话中保存它们

<?php
session_start();
if(!isset($_SESSION['names']))
  $_SESSION['names'] = array();

if(isset($_GET['name']))
  array_push($_SESSION['names'], $_GET['name']);

if(isset($_SESSION['names']))
    foreach($_SESSION['names'] as $name)
        echo $name."<br>";
?>

不完全清楚“保存”是什么意思,但以下是一些可能的解决方案:

1。每个名字都可以“永远”保存(预计会有大量的名字):

使用类似MySQL()的数据库

2。当前名称应保存一段时间:

在这种情况下使用会话变量

if(!isset($_SESSION['name']) {
    $_SESSION['name'] = $_GET['name'];
    $_SESSION['name'] = date();
}
如果一段时间已过期,也可以在此之前进行检查,并覆盖name变量

3。应为脚本的所有调用保存一个或多个名称(来自任何用户):

您可以使用文件并将名称保存在此文件中:


或者

不完全清楚“保存”是什么意思,但以下是一些可能的解决方案:

1。每个名字都可以“永远”保存(预计会有大量的名字):

使用类似MySQL()的数据库

2。当前名称应保存一段时间:

在这种情况下使用会话变量

if(!isset($_SESSION['name']) {
    $_SESSION['name'] = $_GET['name'];
    $_SESSION['name'] = date();
}
如果一段时间已过期,也可以在此之前进行检查,并覆盖name变量

3。应为脚本的所有调用保存一个或多个名称(来自任何用户):

您可以使用文件并将名称保存在此文件中:



或者你所说的“保存”是什么意思。。。您想保存输入的每个姓名,还是只保存一个姓名并用这个姓名(如登录公式)呼叫此人?使用会话变量。@JarlikStepsto亲爱的,我所说的保存是,当我进入表单并提交一个名字时,这个名字必须保存在han.php文件中,以此类推,直到我的名字永远存在submit@Barmar我如何使用seson变量bro?你能给出一个答案并告诉我吗?你不能在php文件中保存永久名称。如果在关闭浏览器时在会话中保存,那么最好将其保存在数据库或文件中,然后在han.php脚本中从数据库或文件调用它。。。您想保存输入的每个姓名,还是只保存一个姓名并用这个姓名(如登录公式)呼叫此人?使用会话变量。@JarlikStepsto亲爱的,我所说的保存是,当我进入表单并提交一个名字时,这个名字必须保存在han.php文件中,以此类推,直到我的名字永远存在submit@Barmar我如何使用seson变量bro?你能给出一个答案并告诉我吗?你不能在php文件中保存永久名称。如果在关闭浏览器时将其保存在会话中,那么最好将其保存在数据库或文件中,然后从该han.php脚本中的数据库或文件调用。这样会将名称保存在han.php文件中?您不能将名称附加到实际文件中。但无论何时调用han.php,它都会在浏览器上显示名称。请检查Amr是否为我需要的答案,并将名称保存在han.php文件中?您不能将名称附加到实际文件中。但无论何时调用han.php,它都会在浏览器上显示名称。请检查Amr是否为我所需的答案这是我所需的Bro,但问题是它没有像列表一样保存名称。您应该使用
“a”
而不是
“w”
附加到文件,而不是覆盖。而不是
echo fwrite($file,“$name,\n”);
这样做
echo fwrite($file,“-$name\n”);
就会像一个列表一样。@MmPp你不应该像这样修改PHP文件。将它保存在txt文件中,PHP文件就会读取该文件。这是我需要的Bro,但问题是它不会像列表一样保存名称。你应该使用
“a”
,而不是
“w”“
附加到文件而不是覆盖。而不是
echo fwrite($file,$name,\n”)执行此操作
echo fwrite($file,“-$name\n”)和它类似于一个列表。@MmPp您不应该像这样修改PHP文件。将其保存在txt文件中,PHP文件应读取该文件。请检查AMR是答案,这是我需要的,它必须保存在文件中。请检查AMR是答案,这是我需要的,它必须保存在文件中