3

我对 PHP 很陌生。

我想在页面之间传输数据。

在我的要求中,我首先有主页,因为我有 3 个字段:nameaddresspin然后submit button

当我输入上述字段然后单击提交时,它移动到page2.php,它有表单数据。

我已将第一个表单数据转移到第二页。现在在第二页我有一个提交按钮。当我单击该按钮时,数据将提交到 MySQL 数据库。

我的问题是,如何将首页值移动到insertdata.php页面并提交数据?

4

5 回答 5

8

有两种方法可以做到这一点

  1. 会话
  2. 隐藏的输入字段

会话

要将数据从一个页面传递到另一个页面,您首先需要调用session_start()所有将使用$_SESSION超全局变量的页面。然后你可以通过使用将你的值存储在会话中

$_SESSION['name'] = $_POST['name'];
$_SESSION['address'] = $_POST['address'];
$_SESSION['pin'] = $_POST['pin'];

要在第二页中使用这些值,只需通过它们的名称来调用它们。前任:

$name = $_SESSION['name']; // will contain the value entered in first page

==================================================== =================================

隐藏的输入字段

这是一种更乏味的方法,但它仍然可以完成这项工作。该过程涉及将需要传递到不同页面的数据存储在隐藏字段中,然后通过$_POST$_GET超全局访问它们。

page1.php(发布到 page2.php)

<input type="text" value="Page 1 content" name="content" />
<input type="text" value="Page 1 body" name="body" />

page2.php(发布到 page3.php)

<input type="hidden" value="<?php echo $_POST['content']; ?>" name="content" />
<input type="hidden" value="<?php echo $_POST['body']; ?>" name="body" />
<input type="text" value="Page 2 content" name="content2" />
<input type="text" value="Page 2 body" name="body2" />

page3.php

echo $_POST['content']; // prints "Page 1 content"
echo $_POST['body']; // prints "Page 1 body"
echo $_POST['content2']; // prints "Page 2 content"
echo $_POST['body2']; // prints "Page 2 body"
于 2012-08-03T08:03:01.913 回答
1

只需在您的第一页中<?php session_start(); ?> 使用以下代码,并在您的第二页中使用以下代码

<?php
$name = $_SESSION['name'];
$address = $_SESSION['address'];
$pin = $_SESSION['pin'];
echo $name."<br/>";
echo $address."<br/>";
echo $pin."<br/>";
?>

或者您可以使用postget方法如下

对于 GET 方法

<?php
$name = $_GET['name'];
$address = $_GET['address'];
$pin = $_GET['pin'];
echo $name."<br/>";
echo $address."<br/>";
echo $pin."<br/>";
?>

对于 POST 方法

    <?php
    $name = $_POST['name'];
    $address = $_POST['address'];
    $pin = $_POST['pin'];
    echo $name."<br/>";
    echo $address."<br/>";
    echo $pin."<br/>";
    ?>
于 2012-08-03T07:57:30.557 回答
0

就像REQUEST,PHP 为会话维护一个映射,您可以在其中转储这些值并跨页面转储。例如

$_SESSION['name']='foo';

但是要使用会话的页面,需要使用 方法启动会话session_start();。但是这个方法调用应该是你 php.ini 中的第一行。

http://www.w3schools.com/php/php_sessions.asp

于 2012-08-03T07:58:04.667 回答
0

要在页面更改之间存储数据,您可以使用超全局 $_SESSION 数组。

例子

第 1 页

$_SESSION['name'] = "John";

第2页

echo $_SESSION['name'];

输出

John

确保将session_start()需要使用会话的每个页面放在顶部。

单击此处了解有关会话的更多信息。

于 2012-08-03T07:58:21.873 回答
0

基本上,当您在第一页中提交数据时,将它们保存在会话中,然后重定向到第二页。

在第二页中加载它们。

第 1 页:

<?php session_start(); 

     $_SESSION["var_name"]  = $some_value;


?>

第2页:

<?php session_start(); 

     $my_var = $isset($_SESSION["var_name"])?$_SESSION["var_name"]:null;




?>

您测试 my_var 的值,如果它为空,则重定向到第一页或显示错误消息。

会话教程 http://www.w3schools.com/php/php_sessions.asp

Mysql插入教程 http://www.tizag.com/mysqlTutorial/mysqlinsert.php

POST/GET 教程 http://www.tizag.com/phpT/postget.php

于 2012-08-03T08:01:39.277 回答