PHPでページが読み込まれた際にフォームからのポストか、ページが表示されただけかを検出したいことがあります。
PHPではSubmitボタンを取得することでページがポストされたかを検出できます。
コード例
<html>
<head>
</head>
<body>
<?php
$btn=$_POST['button_submit'];
if ($btn != ""){
$path=$_POST['textbox_path'];
$result=shell_exec("/usr/bin/ls $path");
}
?>
<form method="post" action="">
path <input type="text" name="textbox_path" /><br/>
<input type="submit" name="button_submit" value="Exec" /><br/>
</form>
<div>Output</div>
<?php
echo "<pre>$result</pre>";
?>
</body>
</html>
解説
コマンドでフォームのSubmitボタンを取得します。POSTでフォームデータが送信された場合 #btnにはSubmitボタンの表面文字列が代入されます。通常のページロードでは何も代入されません。
$btn=$_POST['button_submit'];
判定部でページがPOSTされたのかそうでないかを判定します。POSTされた場合は$btnにSubmitボタンのValueの文字列が代入されているためif文内が実行されます。
フォームからSubmitボタンをクリックした場合はif文内のshell_exec関数を実行し結果をフォームの下部に表示します。
if ($btn != ""){
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2024-01-06
作成日: 2011-05-29