我想在我的另一个php文件中获取变量值
假设有三个文件
<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变量。
答案 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."';
}