php表单动作处理程序并保存

时间:2017-03-05 23:11:28

标签: 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="submit" id="submit" value="Submit" />
</form>

这是我在han.php上的php代码

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

每次提交姓名时,我都需要将此名称保存在han.php文件中:

Your Name is: Brian Your Name is: Jack Your Name is: Daniel Your Name is: Bob

3 个答案:

答案 0 :(得分:0)

您可以做的是为已保存的名称创建另一个文件,例如 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
?>

答案 1 :(得分:0)

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

<?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>";
?>

答案 2 :(得分:0)

目前还不完全清楚,保存是什么意思,但这里有一些可能的解决方案:

<强> 1。每个名字都应该得到保存,并永远保存#34; (预计会有大量名字):

使用像MySQL这样的数据库(see here

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

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

if(!isset($_SESSION['name']) {
    $_SESSION['name'] = $_GET['name'];
    $_SESSION['name'] = date();
}

如果一段时间过期并覆盖名称变量,您也可以检查此信息。

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

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

create and write to file

read from fileget whole file (file_get_contents)