0

1 つは最大点数用、もう 1 つは取得した点数用の 2 つのテキスト ボックスがあります。2 番目のボックスに入力する値は、最大点数以下になるように制限する必要があります。それらのボックスに入力されます..

Maximum Marks<input type=text name=maxmarks maxlength='2' >
Obtained marks<input type='text' maxlength='2' name='obtmarks'>

これで私を助けてください..事前にありがとう..

4

3 に答える 3

0

あなたはこのようなことを試すことができます...

   $response_array = array();

   if($obtained > $max){
       $response_array['status'] = 'error';
       $response_array['message'] = '<div class="alert alert-error">Obtained to big</div>';

   }
   if(!is_numeric($obtained){
       $response_array['status'] = 'error';
       $response_array['message'] = '<div class="alert alert-error">Obtained not a number</div>';
   }
   echo json_encode($response_array);

これは擬似コードです。明らかに、目的に合わせて微調整する必要があります。

于 2012-09-21T19:14:41.780 に答える
0

最初に、フォームを送信することを php スクリプトで確認する必要があります。後で javascript を使用して、よりユーザーフレンドリーにすることができますが、誰かがソースコードを変更したり、javascript をオフにしたりすると、何でも送信できるようになります。あなたの process_form.php で:

    session_start();
    $errors = array();
    if (!isset($_POST['maxmarks']) || empty($_POST['maxmarks'])) {
         $errors[] = 'The Maximum Marks field is required.';
    }
    else {
        if (!is_int($_POST['maxmarks'])) {
            $errors[] = 'The Maximum Marks field must be an integer.';
        }
        else {
           $maxmarks= (int) trim($_POST['maxmarks']);
        }
    }

    if (!isset($_POST['obtmarks']) || empty($_POST['obtmarks'])) {
         $errors[] = 'The Obtained Marks field is required.';
    }
    else {
        if (!is_int($_POST['obtmarks'])) {
            $errors[] = 'The Obtained Marks field must be an integer.';
        }
        else {
           $obtmarks= (int) trim($_POST['obtmarks']);
        }
    }

    if (!empty($errors)) {
        $_SESSION['form_errors'] = $errors;
        header('Location: your_form.php');
        die();
    }
    else if ($obtmarks > $maxmarks){
        $errors[] = 'The Obtained Marks must be less or equal to Maximum Marks.';
        $_SESSION['form_errors'] = $errors;
        header('Location: your_form.php');
        die();
    }
    else {
        //process data
    }

your_form.php で:

   session_start();
   if (isset($_SESSION['form_errors']) && !empty($_SESSION['form_errors'])) {
       $errors = $_SESSION['form_errors'];
       unset($_SESSION['form_errors']);
   }

   echo '<ul>';
   if (isset($errors)) {
       foreach($errors as $error) {
           echo '<li>' . $error . '</li>';
       }
   }
   echo '</ul>';
   //your form here
于 2012-09-21T19:19:06.067 に答える
0

クライアント側で実行する場合は、Javascript を使用する必要があります。サーバー側で実行したい場合は、2 番目の数値が 1 番目の数値を超えた場合にエラー メッセージを表示してページを送り返してみませんか。利用可能なオプションがある場合は、HTML5 の入力オプションを調べることもできます。それらは自動的に番号の検証を行います。

于 2012-09-21T19:02:31.767 に答える