PHP 中的“新”字

WBOY
Freigeben: 2016-06-23 14:15:06
Original
832 Leute haben es durchsucht

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>  
Nach dem Login kopieren

这个是数据表单 奇葩的是这个也没问题
<?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>
Nach dem Login kopieren

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

<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>
Nach dem Login kopieren
 

为什么第一次可以到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编码过的,特别是中文。
谢谢 这个方法我刚我试了 还是没用 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage