解决方案 »

  1.   

    $_Get ? 是$_GET 吧  , 你的表单是get方式提交吗?
      

  2.   


    我问的时候写错了,代码肯定没有小问题吧,因为之前的网页是没问题的,但是换了PHP5.5就提示服务器未发出数据另外之前$_GET[name]是可以的,但是现在必须加上单引号,就是$_GET[‘name’]我不知道是不是新特性
      

  3.   

    你是用$_POST还是$_GET?看表单是否有method="post" 如果有就是post,没有就是get。
      

  4.   

    $_GET[search] 
    不加引号。PHP首先会查找search常量,找不到所以就报错了。如果不想改代码,可以在首行加上:error_reporting(E_ALL & ~E_NOTICE); 这句,就可以将notice错误报告屏蔽掉。
      

  5.   

    出现这个错误提示的原因,PHP会把没有引号引起来的键名当作是常量去获取, 当找不到的时候, 抛出一个NOTICE, 然后再根据“常量名”生成一个字符串, 然后再讲这个字符串做为键名继续~可以設置error_reporting(E_ALL & ~E_NOTICE); 來屏蔽錯誤顯示。但最好還是加引號,這樣不需要在將常量轉字符去獲取多次,提高效率。
      

  6.   

    这与 php 版本无关,但与 php 环境设置有关
    当然,随着 php 版本的升级,你受到的约束也在升级 if($_Get['search']) 将可能会产生一个 E_NOTICE 级别的错误信息
    如果你没有打开错误显示,或将错误信息重定向到日志
    那么由于错误信息没有出路,导致一个 HTTP 500 状态(服务器拒绝响应)虽然屏蔽掉 E_NOTICE 级别错误检查,可以回避掉这个毛病
    但隐患终究是存在的,程序是不健壮的