ホームページ  >  記事  >  バックエンド開発  >  アラートは関数メソッドによって返された結果をどのように表示しますか?

アラートは関数メソッドによって返された結果をどのように表示しますか?

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

php;alert;function

次のコード:
13f675df43ec3406c577a2296047fcd9alert( '$error ');2cacc6d41bbb37262a98f745aa00fbf0";
exit;
}
?>

現時点では、警告ダイアログ ボックスはポップアップできません。 。 。
ただし、check メソッドの戻り値を「abc」に戻すように変更すると、アラート ダイアログ ボックスがポップアップ表示されます

アラートをポップアップ表示する必要がある内容は、ファイルから取得されます。どうすれば変更できますか?


ディスカッションへの返信 (解決策)
php で印刷するときに $error が何であるかがわかります

$error は出力ファイルからエラー情報を取得し、それをダイアログ ボックスの形式でユーザーに表示します。

このプログラムでは、$error の値は正しく取得できますが、警告ダイアログ ボックスは表示されません


問題なくプロンプトが表示されます。出られない...

関数の戻り値はsubstrに似ていますか?文字列が直接返された場合は、ポップアップが表示されます

$error = check($out);

echo $error; 結果は何ですか

見てみるために out.txt を送信してください

私の out.txt は次のようになります


out.txt を送って見てください

私の out.txt はこんな感じです

いくつか理由が見つかったようです

ファイルに 1 行しかない場合、または最後の行が "#ERROR abc" の場合は、は正常にポップアップ表示されますが、その背後に他の情報がある場合、プログラムは動作しません。 。 。

function check($out) {  $file_handle = fopen($out, 'r');  while (!feof($file_handle)) {    $line = fgets($file_handle);    if (substr($line, 0, 6) == "#ERROR") {      return preg_replace("/\s/","",substr($line, 8));//去掉换行    }  }  fclose($file_handle);}$out = "out.txt";$error = check($out);if ($error != "") {  echo "<script>alert(\"$error\");</script>";  exit;}

行を取り出すときに改行の問題があります。改行を削除するだけです。

変更方法は知っていますが、理由はわかりません...

必要な文字列を完全に切り取るだけです。 、「return substr($line, 8, 5)」のように指定すると、正常にポップアップ表示されます。それが最後の行ではない場合、substr は行末の改行文字も取得します。アラートでは対応できません...

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