Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP include doc未拾取$\u GET变量_Php_Mysql_Include - Fatal编程技术网

PHP include doc未拾取$\u GET变量

PHP include doc未拾取$\u GET变量,php,mysql,include,Php,Mysql,Include,我读到的所有东西都告诉我这应该行得通 第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'); //=======

我读到的所有东西都告诉我这应该行得通

第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());


?>

如果查询字符串包含state=whatever,则$state和$\u GET['state']都应该可用

当我看到一个问题是,如果您通过URL而不是文件路径包括,即:

include('http://www.test.com/file.php'); 

它不会知道你的值,因为它在被包含之前就被解析了。(出于安全原因,也被认为是不好的做法。)

如果查询字符串包含state=where,则$state和$u GET['state']都应该可用

当我看到一个问题是,如果您通过URL而不是文件路径包括,即:

include('http://www.test.com/file.php'); 

它不会知道你的值,因为它在被包含之前就被解析了。(出于安全原因也被认为是不好的做法。)

可能您的路径被解释为URL(如www.foo.com/state\u brand\u page\u 01.php),因此include()使用HTTP方法获取它?那会导致美元丢失


下面的示例#2.

可能您的路径被解释为URL(如www.foo.com/state_brand_page_01.php),因此include()使用HTTP方法获取它?那会导致美元丢失


下面的示例#2.

尝试将其放入会话

$_SESSION['state'] = $_GET['state'];

$\会话['brand']=$\获取['brand']

试着把它放到会话中

$_SESSION['state'] = $_GET['state'];

$\会话['brand']=$\获取['brand']

如果我这样做,包括(“我的路径/状态品牌页面”\u 01.php?状态=$state&brand=$brand”);它可以工作,但我认为我没有必要这么做;在第二页,告诉我发生了什么这是一次阻止SQL注入的高尚尝试,但总有一天你会因为忘记逃避一个变量而失败,很可能会严重伤害你自己、你的业务或你的事业。是一个空数组,url看起来像。。http:……德克萨斯州/cadillac/?brand=cadillac&state=texastanks-tadman。。我还不完全了解安全问题。我会看看你提供的文件。你能告诉我你将如何绕过这个方法吗?如果我这样做,包括(“我的路径/状态品牌页面”\u 01.php?状态=$state&brand=$brand”);它可以工作,但我认为我没有必要这么做;在第二页,告诉我发生了什么这是一次阻止SQL注入的高尚尝试,但总有一天你会因为忘记逃避一个变量而失败,很可能会严重伤害你自己、你的业务或你的事业。是一个空数组,url看起来像。。http:……德克萨斯州/cadillac/?brand=cadillac&state=texastanks-tadman。。我还不完全了解安全问题。我会看看你提供的文件。你能告诉我你怎么能绕过这个方法吗?当你展示他的包含路径是URL时,我真的笑了出来。当你展示他的包含路径是URL时,我真的笑了出来。你得到了它。。。我正在使用完整的url。当我在include中使用路径时,即(../../lib/state_brand_01.php),它会工作!你明白了。。。我正在使用完整的url。当我在include中使用路径时,即(../../lib/state_brand_01.php),它会工作!