如何通过将该文件包含在另一个php文件中来将POST变量值提取到另一个php文件中?

时间:2013-08-21 06:38:05

标签: php

我想在我的另一个php文件中获取变量值

假设有三个文件

1。 category.html

<form name='my _form' method='post' action='db_store.php'>
<select name="category">
<option value='yahoo'>Yahoo</option>
</select>
<input type="submit.php" value="submit" name="submit">

2。 db_store.php

if(isset($_POST['submit']))
{
    $my_cat=$_POST['category'];
}

第3。 another.php

<?php include('db_store.php');?>
echo "SELECT * FROM tabl_name where category_id='".$my_cat."';

输出:

SELECT * FROM tabl_name where category_id='';

如何使用精确值在此查询中获取值。我使用了var_dump并尝试了SESSION变量。

3 个答案:

答案 0 :(得分:1)

显而易见的解决方案是将include和action直接抛向another.php

假设include有充分的理由,那么我只能认为你应该使用会话变量来存储$ _POST。记得将session_start()放在两个php文件的顶部

答案 1 :(得分:1)

尝试此操作,不使用会话变量

<强> db_store.php

<?php
if(isset($_POST['submit']))
{
    $my_cat=$_POST['category'];
    include('db_store.php');
    echo "SELECT * FROM tabl_name where category_id='".$my_cat."';
}
?>

通常,session变量可用于一个应用程序中的所有页面。如果您想使用会话变量,请尝试使用

<强> db_store.php

<?php
session_start(); //starting session at the top of the page
if(isset($_POST['submit']))
{
    $my_cat=$_POST['category'];
    $_SESSION['category']=$my_cat;
}
?>

<强> another.php

    <?php
       session_start();  //starting session at the top of the page
     include('db_store.php');
    if(isset($_SESSION['category']){
         $category = $_SESSION['category'];
    echo "SELECT * FROM tabl_name where category_id='".$category."';
   unset($_SESSION['category']); //to unset session variable  $_SESSION['category'] 
    }else { die("No session variable found");}
     ?>

答案 2 :(得分:0)

如果条件允许,您需要在提交检查中包含文件。

if(isset($_POST['submit']))
{
    $my_cat=$_POST['category'];
    echo "SELECT * FROM tabl_name where category_id='".$my_cat."';
}