我对 PHP 很陌生。
我想在页面之间传输数据。
在我的要求中,我首先有主页,因为我有 3 个字段:name,address,pin然后submit button。
当我输入上述字段然后单击提交时,它移动到page2.php
,它有表单数据。
我已将第一个表单数据转移到第二页。现在在第二页我有一个提交按钮。当我单击该按钮时,数据将提交到 MySQL 数据库。
我的问题是,如何将首页值移动到insertdata.php
页面并提交数据?
有两种方法可以做到这一点
要将数据从一个页面传递到另一个页面,您首先需要调用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"
只需在您的第一页中<?php session_start(); ?>
使用以下代码,并在您的第二页中使用以下代码
<?php
$name = $_SESSION['name'];
$address = $_SESSION['address'];
$pin = $_SESSION['pin'];
echo $name."<br/>";
echo $address."<br/>";
echo $pin."<br/>";
?>
或者您可以使用post
或get
方法如下
对于 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/>";
?>
就像REQUEST
,PHP 为会话维护一个映射,您可以在其中转储这些值并跨页面转储。例如
$_SESSION['name']='foo';
但是要使用会话的页面,需要使用 方法启动会话session_start();
。但是这个方法调用应该是你 php.ini 中的第一行。
要在页面更改之间存储数据,您可以使用超全局 $_SESSION 数组。
例子
第 1 页
$_SESSION['name'] = "John";
第2页
echo $_SESSION['name'];
输出
John
确保将session_start()
需要使用会话的每个页面放在顶部。
基本上,当您在第一页中提交数据时,将它们保存在会话中,然后重定向到第二页。
在第二页中加载它们。
第 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