本人php新手 今天遇到个奇葩的问题 请求参数里 有“新”这个字 
IE会报“数据无效” 火狐不会报错
求大神 普及为什么PHP 新 奇葩

解决方案 »

  1.   

    做菜单栏部分代码<div id="layerr12"  style="display:none;">
    <table width="175" height="23" border="0" cellpadding="0" cellspacing="0">        <tr>
              <td width="44" height="24">&nbsp;</td>
              <td width="11" class="x1">&nbsp;</td>
              <td width="120" class="bs">·<a href="infoli/list.php?wz=最新文章" target="forum">教育新闻</a></td>
            </tr>

            <tr>
              <td width="44" height="24">&nbsp;</td>
              <td width="11" class="x1">&nbsp;</td>
              <td width="120" class="bs">·<a href="infoli/list.php?wz=ejajo专栏" target="forum">ejajo专栏</a></td>
            </tr>

            <tr>
              <td width="44" height="24">&nbsp;</td>
              <td width="11" class="x1">&nbsp;</td>
              <td width="120" class="bs">·<a href="infoli1/list.asp" target="forum">资源共享</a></td>
            </tr>
            <tr>
              <td width="44" height="24">&nbsp;</td>
              <td width="11" class="x1">&nbsp;</td>
              <td width="120" class="bs">·<a href="infoli/list.php?wz=家长教育" target="forum">家长教育</a></td>
            </tr>
            
             <tr>
              <td width="44" height="24">&nbsp;</td>
              <td width="11" class="x1">&nbsp;</td>
              <td width="120" class="bs">·<a href="infoli/list.php?wz=心灵鸡汤" target="forum">心灵鸡汤</a></td>
            </tr>
            <tr>
              <td width="44" height="24">&nbsp;</td>
              <td width="11" class="x1">&nbsp;</td>
              <td width="120" class="bs">·<a href="infoli/list.php?wz=新公告" target="forum">最新公告</a></td>
            </tr>
                  </table>
     </div>  
    这个是数据表单 奇葩的是这个也没问题 
    <?php
    session_start();
    require_once "../../inc/conn1.php";
    ?><html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    </head>
      <link href="../images/index.css" rel="stylesheet" type="text/css">
    <script type="text/javascript">
    function record_add()
    {
    location.href='list_add.php?wz=<?php echo $_REQUEST["wz"];?>';
    }</script>
    <?php
    $wz=$_REQUEST["wz"];
    $key=$_REQUEST["key"];
    $sql=" where 1=1";
    if($wz!=""){
    $query="wz='".$wz."'";
    $sql=$sql." and wz='".$wz."'";
    }

    if($key!=""){
    $query="key ='".$key."'";
    $sql=$sql." and title like '%".$key."%'";
    }
    $sql="select * from info ".$sql." order by top desc,id desc";
    $rs=new com("ADODB.RecordSet");
    $rs->Open($sql,$conn,1,1);
    if($_REQUEST["page"]=="")
    $page=1;
    else
    $page=intval($_REQUEST["page"]);
    $i=0;
    $rs->pagesize=15;
    if($page<1) $page=1;
    if($page>$rs->pagecount) $page=$rs->pagecount;
    if($rs->pagecount>0) $rs->absolutepage=$page;
    ?>
    <body onLoad="setupZoom();">
    <table width="102%" height="81%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td height="283" valign="top">




    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <form name="form1" method="post"> 
      <tr>
        <td width="59" class="list black">&nbsp;</td>
        <td width="500" class="list black">标 题</td>
        <td width="48" class="list black">序号</td>
        <td width="65" class="list black">点击</td>
        <td width="114" class="list black">类 别</td>
        <td width="102" class="list black">添加日期</td>
        <td width="111" class="list black">管理操作</td>
      </tr>
      
      <?php
       if($rs->eof)
    echo "<tr><td colspan='6'  align='center'><font color='red'>系统中还没有录入相关任何信息!</font></td></tr>";
    else

    while(!($rs->eof) and $i<$rs->pagesize) {
    //echo "<tr>";
    // echo  "<td >1</td>";
    // echo  "<td >2</td>"; 
    //
    // echo "</tr>";
    // $rs->MoveNext();

      ?>  <tr onMouseOut="this.className=''" onMouseOver="this.className='list-bg'">
        <td align="center" class="list1"><input type="checkbox" id="checkbox" value="<?php $rf=$rs->fields("id"); echo $rf->value;?>" name="checkbox[]" onClick="chkclick();"></td>
        <td class="list1 pl8">&nbsp;<a href="List_Edit.asp?checkbox=<?php $rf=$rs->fields("id"); echo $rf->value;?>&wz=<?php echo $_REQUEST["wz"];?>"><?php $rf=$rs->fields("title");echo substr($rf->value,0,80);?></a>
    </td>
        <td align="center" class="list1" ><?php $rf=$rs->fields("top");echo $rf->value;?></td>
        <td align="center" class="list1"><?php $rf=$rs->fields("hit");echo $rf->value;?></td>
        <td align="center" class="list1"><?php $rf=$rs->fields("wz");echo substr($rf->value,0,15);?></td>
        <td align="center" class="list1 pl8"><?php $rf=$rs->fields("postdate");echo date("Y-m-d",$rf->value);?></td>
        <td align="center" class="list1 pl8">
    <a href="List_Edit.php?checkbox=<?php $rf=$rs->fields("id"); echo $rf->value;?>">修改</a> | 
    <a href="#" onClick="DelGood('<?php $rf=$rs->fields("id"); echo $rf->value;?>');">删除</a>
    </td>
      </tr>
    <?php
    $rs->MoveNext();
    }
    ?>
      
      
     </form> 
    </table>








    </td>
      </tr>
    </table><table width="102%" border="0" cellpadding="0" cellspacing="0" background="../images/list_bottm_bg.gif">
      <tr>
        <td width="16%" height="35" style="padding-left:8px;">

    <input type=checkbox name='chkall' onClick='chooseall(document.form1.checkbox,this);'> 
    全选 <input type=checkbox name='chkl' onClick='choosefalse(document.form1.checkbox,this);'> 
    反选 </td>
        <td width="17%"><input name="Submit2" type="submit" class="submit" style="width:70px;"  onClick="window.location.href='List_px.asp?wz=<?php echo $_REQUEST["wz"];?>'" value="信息排序"></td>
        <td width="67%"> </td>
      </tr>
    </table>
    <table width="102%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="2" colspan="3" bgcolor="#C1CBD0"></td>
      </tr>
      <tr>
        <td width="37%" height="39" background="../images/list_bottm_bg.gif"><table width="357" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td>&nbsp;</td>
            <td width="90"><input type="image"  src="../images/list_bottm1.gif"  onMouseOver="this.src='../images/list_bottm1h.gif'" onMouseOut="this.src='../images/list_bottm1.gif'" name="booot"  onClick="history.go(0);"  ></td>
            <td width="90"><input type="image"  src="../images/list_bottm2.gif" onMouseOver="this.src='../images/list_bottm2h.gif'" onMouseOut="this.src='../images/list_bottm2.gif'" name="add"  id="add" onClick="record_add();" ></td>
            <td width="90"><input type="image"  src="../images/list_bottm3.gif"   onMouseOver="this.src='../images/list_bottm3h.gif'" onMouseOut="this.src='../images/list_bottm3.gif'"  onClick="record_edit();"  name="edit" disabled ></td>
            <td width="90"><input type="image"  src="../images/list_bottm4.gif"  onMouseOver="this.src='../images/list_bottm4h.gif'" onMouseOut="this.src='../images/list_bottm4.gif'"   onClick="record_del();"   name="del" disabled ></td>
          </tr>
        </table></td>
        <td width="44%" align="center" background="../images/list_bottm_bg.gif">
    <table width="307" border="0" cellspacing="0" cellpadding="0">
    <form name="form2" method="post" action="?">
          <tr>
            <td width="236"><input name="key" type="text" class="list-s-bg" id="key" onFocus="this.className='list-s-bg1'" onBlur="this.className='list-s-bg'"  value="<?php echo $_REQUEST["key"];?>"></td>
            <td width="71"><input type="image" name="imageField" src="../images/list_s_bottm.gif"></td>
          </tr>
      </form>
        </table>

    </td>
        <td width="19%" background="../images/list_bottm_bg.gif"><a href="javascript:history.back(-1)"><img src="../images/list_bottm5.gif"  width="127" height="25" border="0"  onMouseOver="this.src='../images/list_bottm5h.gif'" onMouseOut="this.src='../images/list_bottm5.gif'"></a></td>
      </tr>
    </table>
    <script>
    function DelGood(x)
    {
    if(confirm('确认删除选择的记录?'))
    {
    window.location.href = "List_Del.php?operation=del&wz=<?php $_REQUEST["wz"]?>&checkbox=" + x;
    }
    }
    </script>
    </body>
    </html>
      

  2.   

    问题在 点添加的时候 报数据无效代码如下<table width="102%" border="0" cellspacing="0" cellpadding="0">
    <form name="form1" method="post" action="List_Save.php" enctype="multipart/form-data">
      <tr>
        <td width="108" class="list black">&nbsp;</td>
        <td width="891" class="list black"><table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="86%" align="center" class="black">信息添加</td>
            <td width="14%"><a href="javascript:history.back(-1)"><img src="../images/list_add3.gif" width="84" height="26" onMouseOver="this.src='../images/list_add4.gif'" onMouseOut="this.src='../images/list_add3.gif'" border="0"/></a></td>
          </tr>
        </table></td>
        </tr>
      
      <tr>
        <td height="28" align="center" class="list-add1">标题:</td>
        <td class="list-add1 pl8"><input type="text" name="title" size="50" />
          <select name="wz" id="wz">
            <option value="<?php echo $_REQUEST["wz"] ?>" selected="selected"><?php echo $_REQUEST["wz"] ?></option>
          </select></td>
        </tr>
      <tr>
        <td height="28" align="center" class="list-add1">副标题:</td>
        <td class="list-add1 pl8"><input type="text" name="title2" size="50" /></td>
      </tr>
      <tr>
        <td height="28" align="center" class="list-add1">作者:</td>
        <td class="list-add1 pl8"><input name="zz" type="text" id="zz" size="30" /></td>
      </tr>
      <tr>
        <td height="28" align="center" class="list-add1">来源:</td>
        <td class="list-add1 pl8"><input name="ly" type="text" id="ly" size="50" /></td>
      </tr>
      <tr>
        <td height="28" align="center" class="list-add1">日期:</td>
        <td class="list-add1 pl8">
    <IFRAME frameBorder=0 id=popFrame name=popFrame scrolling=no src="../calendar.htm" style="BORDER-BOTTOM: 2px ridge; BORDER-LEFT: 2px ridge; BORDER-RIGHT: 2px ridge; BORDER-TOP: 2px ridge; POSITION: absolute; VISIBILITY: hidden; Z-INDEX: 65535"></IFRAME> 
    <input  id="dc1" name="postdate" type="text"  size="18"  onfocus="this.className='job_Bladeinput2'" onblur="this.className='job_Bladeinput'" readOnly/>
    <input type="button" class="job_submit" onClick="popFrame.fPopCalendar('dc1','dc1',event);" value="选择日期"/> </td>
      </tr>
      <tr>
        <td height="28" align="center" class="list-add1">图片:</td>
        <td class="list-add1 pl8"><input type="file" name="file" size="35" />
          图片是否显示:<input name="picshow" type="checkbox" id="picshow" value="1" checked="checked" /></td>
      </tr>
      <tr >
        <td height="28" align="center" class="list-add1">缩略图:</td>
        <td class="list-add1 pl8">
          <input type="file" name="file2" size="35" /></td>
      </tr>
      <tr >
        <td height="28" align="center" class="list-add1">操作:</td>
        <td class="list-add1">&nbsp;&nbsp;推荐:
          <input name="tj" type="checkbox" value="1" />
           
     幻灯:
          <input type="checkbox" name="hd" value="1" />
     
     头条:
    <input name="tt" type="checkbox" id="tt" value="1" />
     
     New图标:
    <input name="new" type="checkbox" id="new" value="1" /></td>
      </tr>
      <tr >
        <td align="center" class="list-add1">内容:</td>
        <td class="list-add1"><IFRAME ID="eWebEditor1" SRC="../eWebEditor/ewebeditor.php?id=content&style=s_blue" FRAMEBORDER="0" SCROLLING="no" WIDTH="100%" HEIGHT="360"></IFRAME><input name="content" type="hidden" id="content"></td></tr>
      <tr >
        <td height="40" align="center" class="list-add1">&nbsp;</td>
        <td align="center" class="list-add1"><input type="image" name="imageField" src="../images/list_add1.gif" onMouseOver="this.src='../images/list_add2.gif'" onMouseOut="this.src='../images/list_add1.gif'"/><input type="hidden" name="operation" value="add"></td>
      </tr>
     </form> 
    </table> 
      

  3.   

    为什么第一次可以到list.php有用 再传到add页面 就是无效数据 把“新”字删了 就好了
    诡异
      

  4.   

    如果用url传递中文的,任何时候都记得先urlencode,否则出错有的你哭
    因为这牵涉到 浏览器识别、浏览器传递、服务器识别、服务器传递给php这4个层面,如果这4个环节任意一个编码不对,都会导致无法识别参数。<a href="infoli/list.php?wz=最新文章"改变为<a href="infoli/list.php?wz=<?php echo urlencode='最新文章'?>"其他地方同样对待,也就是说使用x.php?x=X这种格式传递时,一定要保证X的值是urlencode编码过的,特别是中文。
      

  5.   

    <?php echo urlencode('最新文章')?>