目次

フォームからポストされたかの検出 - PHP

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
iPentec all rights reserverd.