2012-03-26 13 views
0

フォームを別のページに送信する方法については、私は迷っていました。値に応じて異なるページにフォームを送信

<form id = "form" action = "./?page=markandfeedback" method = "post"> 

      <br> 
      Mark for: 
    <INPUT id="txtChar" onkeypress="return isNumberKey(event)" type="text" name="txtChar" value="Enter Student Number" style="min-width:165px;"> 
    <input type="button" value = 'Continue' onclick="validate()"> 
     <? 

    $studID = $_POST['txtChar']; 
    $module2 = $_SESSION['module']; 
    $ex = $_POST['exer']; 
    $studerr = array(); 

    $sql = 'SELECT * FROM `student`, `modules` WHERE `studentID` = '.$studID.' AND `moduleCode` = '.$_SESSION['module']; 
    $result = mysql_query ($sql); 
    echo $_SESSION['module']; 
    if(isset($studID)){ 
     if($result == null){ 
      $studerr[] = "No Student with that "; 
      print_r($studerr); 
     } 
    $_SESSION['student'] = $studID; 
    } 
echo' <SCRIPT TYPE="text/javascript" LANGUAGE="javascript"> 
function validate() { 

    if('.$result.' == null) 
    { 
     return false 
    } 
    else 
    { 
    return true; 
    } 

} 
</script>'; 

    ?> 

</form> 

歓声

+0

にこの関数を呼び出し、我々はいくつかのコードをしてください見ることができます? –

答えて

1

ため、通常のPHPの検証を使用することができます。

if (!empty($errorMessage)) { 
    echo $errorMessage; 
} else { 
    header("Location: http://domain.com/success.php"); 
} 
0

あなたはについて何かを検索したフォームにエラーがある場合は、ページに滞在 、エラーを示すと、エラーがない場合は、ここで別のページ に行くが、私のコードですそれ ???

あなたは(その他の詳細を知らなくても)非常に簡単にエラーチェックと if(there is no error) { header('location: redirect2page.php') } else { show errors }

+0

私は別の場所でヘッダーを使用しましたが、このエラーが表示されます。ヘッダー情報を変更できません - 既に送信されたヘッダー(出力は/home/content/63/9011663/html/index.php:39で開始されました) –

+0

@JohnSmith既にデータをプリントアウトしているときにLocationヘッダーを使用することはできません。したがって、header()はecho/print/...関数の前に呼び出されるべきです。 – Tchoupi

0

エラーがそれをoccures場合は、提出フォームで簡単なjavascriptの検証を行う必要がありますこれはfalseを返します、

などの機能検証(){

は、同じページ上のthats残ります
if(document.getElementById('elementid').value=='') 
    { 
     return false; 
    } 
    else 
    { 
    return true; 
    } 

だけでボタンのクリックを提出

関連する問題