-1

HTML フォームの一部として以下のドロップダウン リストがあります。

Print Options:<br/><select name="printopts">
              <option selected=""></option>
              <option value="Print Longest Answer">Print Longest Answer</option>
              <option value="Print Sorted Order">Print Sorted Order</option>
              </select>

ユーザーが「最長の回答を印刷」を選択した場合、または strcmp($str1, $str2) を選択した場合は、strlen() 関数を実行するために PHP スクリプトが必要です。

関数がどのように機能するかは理解していますが、スクリプトのどこでどのように関数を呼び出すかはわかりません。どんな助けでも素晴らしいでしょう!乾杯!

更新: これまでのところ、これは私のスクリプト/フォームです。いくつかの検証チェックから始まりますが、これらの検証チェックが行われた後にドロップダウンボックスが実行されるように strlen() および strcmp() 関数を取得する方法を考え出そうとしています。

<?php
if (isset ($_POST['answer1'], $_POST['answer2'], $_POST['printopts'])) {
  $errors = array () ;

  $answer1 = $_POST['answer1'];
  $answer2 = $_POST['answer2'];
  $printopts = $_POST['printopts'];

  if (empty($answer1) || empty($answer2) || empty($printopts))  {
    $errors[] = 'All fields are required';
    } else {

      if (strlen($answer1) < 4 ) {
          $errors[] = 'Answer 1 is too short! Please Re-enter';
      }
      if (strlen($answer1) > 6 ) {
          $errors[] = 'Answer 1 is too long! Please Re-enter';
      }
      if (strlen($answer2) < 4) {
          $errors[] = 'Answer 2 is too short! Please Re-enter';
      }
      if (strlen($answer2) > 6) {
          $errors[] = 'Answer 2 is too long! Please Re-enter';
      }
      if (is_numeric($answer1)) {
          $errors[] = 'Answer 1 must only contain letters. Please Re-enter';
      }
      if (is_numeric($answer2)) {
          $errors[] = 'Answer 2 must only contain letters. Please Re-enter';
      }

    if (!empty($errors)) {
        foreach ($errors as $error) {
          echo '<strong>', $error,  '</strong><br/>';
        }
    } 

    else {
          echo 'Thank you for your answers!';
    }
    }


}
?>

<form action="test.php" method="post">
              <p>
              Answer 1:<br/><input type="text" name="answer1"/><br/>
              Answer 2:<br/><input type="text" name="answer2"/><br/>
              Print Options:<br/><select name="printopts">
              <option selected=""></option>
              <option value="Print Longest Answer">Print Longest Answer</option>
              <option value="Print Sorted Order">Print Sorted Order</option>
              </select>
              <br/>
              </p>
              <p><input type="submit" value="Submit" /></p>
              </form>
4

2 に答える 2

0
function do_print($str1, $str2) {

if ($_GET['printopts'] == "Print Longest Answer") {

   strlen();

} else {

  strcmp($str1,$str2);

}

 }

フォームの送信後に do_print を実行します。

于 2013-03-15T12:16:47.320 に答える
0

そうです、最初に <form> html タグとメソッド パラメータ (例: method='get') で action='myscript.php' を設定する必要があります。したがって、次のようなものです。

<form action='myscript.php' method='get'>
...
</form>

次に、その myscript.php で、次をチェックする php コードが必要になります。

if($_GET['printopts']=='Print Longest Answer') {
     //do your strlen here
} else {
     //do strcmp here
}
于 2013-03-15T12:17:02.793 に答える