我读到的所有内容都告诉我这应该有用
第1页是
<?php
$state = $_GET['state'];
$brand = $_GET['brand'];
include ("my_path/state_brand_page_01.php");
?>
第2页是
<?
//get all dealers for this brand and state
session_start();
include ('../../lib/db.php');
//=======================Start Local Insert
//This stops SQL Injection in POST vars
foreach ($_POST as $key => $value) {
$_POST[$key] = mysql_real_escape_string($value);
}
//This stops SQL Injection in GET vars
foreach ($_GET as $key => $value) {
$_GET[$key] = mysql_real_escape_string($value);
}
//get dealer
echo $state;
echo $_GET['state']; // NOTHING SHOWING
$dquery = mysql_query("SELECT * FROM dealer WHERE state='$_GET[state]' AND brand='$_GET[brand]' ORDER BY company DESC") or die(mysql_error());
?>
我在这里什么都没有,没有var的回声,没有从数据库返回。该页面本身可以正常工作,只是在包含时
由于
答案 0 :(得分:2)
也许您的路径被解释为URL(例如www.foo.com/state_brand_page_01.php),因此include()使用HTTP方法获取它?这会导致$ _GET迷路。
请参阅http://de2.php.net/manual/en/function.include.php
以下示例#2。
答案 1 :(得分:2)
尝试将其纳入会话
$_SESSION['state'] = $_GET['state'];
$ _ SESSION ['brand'] = $ _GET ['brand'];
答案 2 :(得分:0)
如果查询字符串包含state = whatever,那么$ state和$ _GET ['state']都应该可用。
当我看到问题时,如果你用URL而不是文件路径包括:
include('http://www.test.com/file.php');
它不会知道您的值,因为它在包含之前已经过解析。 (出于安全原因,也被视为不良做法。)