ホームページ  >  記事  >  バックエンド開発  >  変数とループ文に関する質問

変数とループ文に関する質問

WBOY
WBOYオリジナル
2016-06-23 14:26:11842ブラウズ

専門家の皆様、AJAX と PHP について質問したいのですが、現在このような状況に遭遇しています。フロントエンド ページで特定のラベルをクリックすると、クリックされたラベルの関連付けに関する情報が上に表示されることを願っています。コードは以下の通りです
index.php

<html><head><script src="clienthint.js"></script> </head><body><form> First Name:<?php            	echo "<a>";                	echo "<i class=\"dapei_partleft\"></i>";                    echo "<span class=\"dapei_partmiddle\" title='teswt' name='test'  onclick=\"showHint(1)\">test</span>";                    echo "<i class=\"dapei_partright\"></i>";               echo " </a>";            	echo "<a>";                	echo "<i class=\"dapei_partleft\"></i>";                    echo "<span class=\"dapei_partmiddle\" title='teswt1' name='test1'  onclick=\"showHint(2)\">test</span>";                    echo "<i class=\"dapei_partright\"></i>";               echo " </a>";?></form><p>Suggestions: <span id="txtHint"></span></p></body></html>

js clienthintコード
var xmlHttpfunction showHint(str){if (str.length==0)  {   document.getElementById("txtHint").innerHTML=""  return  }xmlHttp=GetXmlHttpObject()if (xmlHttp==null)  {  alert ("Browser does not support HTTP Request")  return  } var url="gethint.php"url=url+"?q="+strurl=url+"&sid="+Math.random()xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true)xmlHttp.send(null)} function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {  document.getElementById("txtHint").innerHTML=xmlHttp.responseText  } }function GetXmlHttpObject(){var xmlHttp=null;try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); }catch (e) { // Internet Explorer try  {  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");  } catch (e)  {  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");  } }return xmlHttp;}

ページの処理コード gethint.php
<?php $q=$_GET["q"];//$select ="select * from test where cid='$q'";$hint="for($i=0;$i<2;$i++){......}";//Set output to "no suggestion" if no hint were found//or to the correct valuesif ($hint == ""){$response="no suggestion";}else{$response=$hint;}//output the responseecho $response;?>

ページの処理時にフロントエンドページに$hintを渡す必要があるため、なので、処理ページでループ内容が完了してから渡したいのですが、 $hint="for($i=0;$i460e88607f6621017a7d83e260efe7a612316b28748ea4df4d9c2150843fecfba68} ';
if (2 == eval($hint.' return $i;'))
echo 'ok';
2つのレイヤーを表示したい

for($i=0;$) i123}
それは正しいと思いますか?

プログラムが
for($i=0;$i32d6bdf15705c4c82e7672dea349b8dd12316b28748ea4df4d9c2150843fecfba68} のように書かれている場合
それは正しいと思いますか? 額。複数のレイヤーをループで渡したいと考えているからです。自分で考えてみれば、こんなこと書くべきではない。ごめんなさい

うーん。何か指導してもらえますか?

$hint='for($i=0;$i<2;$i++){}';eval($hint);echo $i; //2

レイヤーループの問題は解決されましたが、レイヤー上の元の JS アクションは eval を介しても効果がありません。その理由は何でしょうか!

次の可能性があります:

タグが一致しません
ID が同じ名前です

事前バインドされたイベントが無効です



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。