0

我想在我的另一个 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.另一个.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 变量。

4

3 回答 3

1

显而易见的解决方案是将 include 和 action 直接丢弃到 another.php

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

于 2013-08-21T06:44:14.140 回答
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;
}
?>

另一个.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");}
     ?>
于 2013-08-21T07:12:33.883 回答
0

您需要在提交检查条件中包含文件。

if(isset($_POST['submit']))
{
    $my_cat=$_POST['category'];
    echo "SELECT * FROM tabl_name where category_id='".$my_cat."';
}
于 2013-08-21T06:45:35.593 回答