$start = html_entity_decode($start);

解决方案 »

  1.   

    a.php
    <?php 
    $start="2006-11-13";
    <a href=b.php?start=<? echo $start; ?> >b.php</a>
    ?>b.php
    <?
    $start=$_GET['start'];
    $sql = "select * from 表 where start > '$start' order by ID DESC LIMIT 0,10";
    ?>
      

  2.   

    Bevin_chen同学的方法不对,我B页面上有N多程序,都是用来做传递参数的,您的这一句话$sql = "select * from 表 where start > '$start' order by ID DESC LIMIT 0,10"; 固定了start变量,我的程序B上的全都是灵活的,
    感谢支持,我马上试验一下bingofei同学的方法.
      

  3.   

    还有我已经在b页面上做了urlencode,然后到A页面上做urldecode,也试过了,还是同样的问题.
      

  4.   

    不是A传给B吗?要A页面decode干什么?
      

  5.   

    写错了,是A做了urlencode B上面做了urldecode,是A传给B
      

  6.   

    如果这里是个数值,amount < 1000 之类的就完全正常,关键就是这个日期问题了,因为B页面取参数是不固定的,程序去执行的,
      

  7.   

    PHP里面没有response.redirect这种咚咚,实在是不方便啊
      

  8.   

    $sql ='select * from 表 where unix_timestamp(start) >'. strtotime($start).'order by ID DESC LIMIT 0,10'; 试试
      

  9.   

    其实问题很简单从B页面上用header("Location: search.php?adsearch1=$adsearch1&status=true") ; 传递过去参数,这组参数中包括了许多用来给页面A调用的select的参数,但是遇到调用日期变量的时候莫名的多了'\'字符,去不掉,若是amount < 10000这种数值都是运行正常的.
      

  10.   

    日期是字符型的,怎么会自动加上'\'呢?实在不行你可以试试看在header之前把日期用strtotime转化为UNIX 时间戳,然后在B中接受以后用Date转回来。
      

  11.   

    我不是程序员,是系统工程师,看了php两个星期,在帮忙赶一个项目,晕死俺了.
      

  12.   

    第一次上手写php还真是问题多多.
      

  13.   

    2006-12-13 这种怎么比较大小? 
    数据表中start是什么类型?
    如果是unix时间戳,就可以用 where start> strtotime("2006-12-13);
    如果不是unix时间戳,有两种建议~1,改成unix时间戳; 2, where UNIX_TIMESTAMP('start')> strtotime("2006-12-13);
      

  14.   

    我估计是a页面的连接写成了b.php?date='$date'了,而b页面对单引号作了安全处理了。
      

  15.   

    get_magic_quotes_gpc 可以测试你的脚本是否自动对GET POST COOKIE传递的变量进行了魔术引用。
      

  16.   

    如果要去掉\,只需要执行stripslashes($str) 就可以过滤掉了。
    if(get_magic_quotes_gpc){
      $start=stripslashes($_GET['start']);
    }
      

  17.   

    楼上的是一种解决的方法。如果楼主的问题只是“\”的话,就不需要判定了吧?使用函数StripSlashes()不就OK了么?难道说“\”有时候也是参数么?
      

  18.   

    itian 的解释是正确的,,的确是出现了安全处理问题,但是如何解决呢/? 如果不加引号,无法做日期比较,加了引号就变成多了'\'字符
      

  19.   

    西方不败朋友,,这个问题麻烦就在于,从B页面传递过去的参数是start > '2006-10-1' 这样整个参数,而不只是一个$start,我B页面这里是写成这样 "start"." > ".$start,A页面接受了参数直接就扔进sql语句了..