私はlooooong PHPスクリプトがあり、スクリプトが実行されたときに私のcodeline`s Twiceの2つを作った! 1つはdbでsqlが更新され、もう1つは以下に示すCountメカニズムでした。エラーの原因は、スクリプトの早い段階で、srcに疑問符を持つhtml imgタグがあることです。完全に奇妙な単純なPHPの実行 - (それは説明することができます[それは私が4時間を追跡する])
2回カウントするPHPスクリプトです。それに
<?
session_start();
print "<img src=''>";
print "counter: ".count($_SESSION['Updated']);
if(!$_SESSION['Updated'])$_SESSION['Updated']= array();
$_SESSION['Updated'][] = "test";
?>
PHPはコードラインを実行している理由のimg srcが持っていたときに二度、説明enyoneとすることができ疑問符:ものをカウントし
<?
session_start();
print "<img src='?'>";
print "counter: ".count($_SESSION['Updated']);
if(!$_SESSION['Updated'])$_SESSION['Updated']= array();
$_SESSION['Updated'][] = "test";
?>
PHPスクリプト? srcタグから疑問符を削除すると、すべて正常に動作します。
PHPは「コード行を2回実行しません」、確かにそうではありません。ほとんどの場合、疑問符は同じスクリプトに対する2回目のhttp要求を引き起こし、2回目の実行になります。 httpサーバのログファイルにアクセスし、ブラウザのネットワークコンソールで2.を確認することができます。 – arkascha
print "counter:....."行は1度しか書かれませんが、セッションのCount(および配列データ)はページが更新されるたびに2つずつ増加することに注意してください... –
1回の実行で各行が1回だけ実行されるため、1回の実行で2回の別々の実行が期待されます。 – arkascha