Home >Backend Development >PHP Tutorial >PHP 中的“新”字

PHP 中的“新”字

WBOY
WBOYOriginal
2016-06-23 14:15:06852browse

PHP 新 奇葩

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

回复讨论(解决方案)

贴出代码看下吧

做菜单栏部分代码

<div id="layerr12"  style="display:none;"><table width="175" height="23" border="0" cellpadding="0" cellspacing="0">        <tr>          <td width="44" height="24"> </td>          <td width="11" class="x1"> </td>          <td width="120" class="bs">&middot;<a href="infoli/list.php?wz=最新文章" target="forum">教育新闻</a></td>        </tr>	        <tr>          <td width="44" height="24"> </td>          <td width="11" class="x1"> </td>          <td width="120" class="bs">&middot;<a href="infoli/list.php?wz=ejajo专栏" target="forum">ejajo专栏</a></td>        </tr>		        <tr>          <td width="44" height="24"> </td>          <td width="11" class="x1"> </td>          <td width="120" class="bs">&middot;<a href="infoli1/list.asp" target="forum">资源共享</a></td>        </tr>		        <tr>          <td width="44" height="24"> </td>          <td width="11" class="x1"> </td>          <td width="120" class="bs">&middot;<a href="infoli/list.php?wz=家长教育" target="forum">家长教育</a></td>        </tr>	                 <tr>          <td width="44" height="24"> </td>          <td width="11" class="x1"> </td>          <td width="120" class="bs">&middot;<a href="infoli/list.php?wz=心灵鸡汤" target="forum">心灵鸡汤</a></td>        </tr>        <tr>          <td width="44" height="24"> </td>          <td width="11" class="x1"> </td>          <td width="120" class="bs">&middot;<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"> </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"> <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> </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"     style="max-width:90%"  style="max-width:90%" border="0"  onMouseOver="this.src='../images/list_bottm5h.gif'" onMouseOut="this.src='../images/list_bottm5.gif'" alt="PHP 中的“新”字" ></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>

问题在 点添加的时候 报数据无效代码如下

<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"> </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"    style="max-width:90%"  style="max-width:90%" onMouseOver="this.src='../images/list_add4.gif'" onMouseOut="this.src='../images/list_add3.gif'" border="0"/ alt="PHP 中的“新”字" ></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">  推荐:      <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"> </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>
 

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

如果用url传递中文的,任何时候都记得先urlencode,否则出错有的你哭
因为这牵涉到 浏览器识别、浏览器传递、服务器识别、服务器传递给php这4个层面,如果这4个环节任意一个编码不对,都会导致无法识别参数。


改变为

"

其他地方同样对待,也就是说使用x.php?x=X这种格式传递时,一定要保证X的值是urlencode编码过的,特别是中文。

如果用url传递中文的,任何时候都记得先urlencode,否则出错有的你哭
因为这牵涉到 浏览器识别、浏览器传递、服务器识别、服务器传递给php这4个层面,如果这4个环节任意一个编码不对,都会导致无法识别参数。


改变为

"

其他地方同样对待,也就是说使用x.php?x=X这种格式传递时,一定要保证X的值是urlencode编码过的,特别是中文。
谢谢 这个方法我刚我试了 还是没用 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn