Maison  >  Article  >  développement back-end  >  PHP 中的“新”字

PHP 中的“新”字

WBOY
WBOYoriginal
2016-06-23 14:15:06832parcourir

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编码过的,特别是中文。
谢谢 这个方法我刚我试了 还是没用 

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn