2012-10-12 38 views
0

这可能是一个非常简单的问题,但它的早,所以啊...在PHP表单之间传递变量。

基本上我有一个表格:

<form name="varsForm" action="step2.php" id="formID" method="post"> 

正如我在这个理解它,我创建一些隐藏的变数。如下:

<input type="hidden" id="typeid" name="typeid" value="1" /> 

因为step2.php被设置为一个动作,不过,我觉得我是在假设隐变量将被传递给step2.php正确。但是,当我尝试打电话给他们时,我面临着错误。我试着简单地称他们为:

<?php echo $_GET['typeid']; ?> 

但它说,caseid是一个未定义的指标,我认为我没有正确地调用它,任何人都只是把我的权利吗?

回答

3

您通过POST方法提交表单,尝试$_POST['typeid'];

交替改变的方法GET

1

你有method="post"所以数据被放置在消息体中,而不是查询字符串。它将通过$_POST而不是$_GET访问。

2

由于您使用的形式方法= “后”,你应该使用

<?php echo $_POST['typeid']; ?> 
在PHP

$ _GET是用来当您使用HTTP GET方法(方法在表单标签= “获取”)。

1

您使用method="post"所以看在$ _ POST :)

<?php echo $_POST['typeid']; ?> 

HTH

2

您使用的是$_GET数组,而你发布您的相关信息。

您应该使用$_POST数组,或者甚至可以使用处理POST和GET的$_REQUEST数组。

1

由于您使用HTTP POST方法在你<form>你需要给代码:

<?php echo $_POST['typeid']; ?> 

否则,在HTML更改此:

<form method="get"> 
1

你有方法属性的表单设置为POST,所以传递给step2.php的值将不会在$ _GET中可用,它将在$ _POST中可用,以便访问使用$ _POST ['typeid']所需的值。

,还有一些时间,以避免有关指标(如未定义指数)警告或通知,您可以先检查它的存在,然后再处理

有些什么样的这个

if (array_key_exists('typeid', $_POST)) 
{ 
    $typeid = $_POST['type_id']; 
    // And do what ever you want to do with this value 
}