2013-05-16 53 views
-2

所以我有兩個問題。我首先要知道的是有可能做的事情這樣...... 我有一個HTML頁面2種形式,它們是使用相同的PHP腳本..html表格處理php腳本

<?php 

    if ($conn) { 
     if (isset($_POST['form_student'])) { 
      if ($_POST['form_student'] == 'Send') { 
       if (isset($_POST['first_name']) && isset($_POST['last_name']) && isset($_POST['student_id']) && isset($_POST['gen'])) { 
        echo "<script>alert('Send information to the database.');</script>"; 
       } else { 
        echo "<script>alert('You didn't fill in all fields!');</script>"; 
       } 
      } 
     } 
     if (isset($_POST['form_subject'])) { 
      if ($_POST['form_subject'] == 'Send') { 
       if (isset($_POST['subject_id']) && isset($_POST['class_room']) && isset($_POST['day'])) { 
        echo "<script>alert('Send information to the database.');</script>"; 
       } else { 
        echo "<script>alert('You didn't fill in all fields!');</script>"; 
       } 
      } 
     } 
    } 

?> 

好了,所以第一個問題是關於,是有可能一些如何以這種方式來處理該動作腳本,並在html中顯示該警告框,而不會將我重定向到script.php,而不是將消息顯示給我。 第二個問題是,即使我沒有填寫所有字段,它總是迴應真實,而不是向我展示假的情況。

+0

嘗試將每個字段的帖子值與「」進行比較。 isset是真實的,如果該字段存在的形式http://stackoverflow.com/questions/9986761/isset-function-is-returning-true-even-when-item-is-not-set-php-mysql –

回答

0
+0

em我'不允許使用jQuery的btw ..我知道的,但.. –

+0

哦好吧...我很抱歉:)你可以添加腳本到表單頁面...和重定向你的表單信息'自我' ... – Pieterjan

+0

是的,我正要問這個問題,比如說,我真的可以在哪裏放置這個標題行,以及代碼應該如何顯示。我是新來的PHP所以... –

0

熟悉AJAX,它是使用沒有刷新瀏覽器來從PHP腳本信息。

關於你的第二個問題,嘗試使用empty()而不是isset()isset檢查字段是否爲空。

+0

不能使用ajax ..你認爲將html頁面轉換成php擴展名,而不是簡單地通過動作處理script.php,在同一頁面上的表單之前進行檢查... –

+0

但是,我試過也是空的() ,沒有工作:/ –

+0

打印出$ _POST數組的值,if返回true的原因必須是因爲這些字段不爲空 – Tralli

0

調用isset($_POST['paramName'])驗證某些內容不起作用。該參數將被設置,即使它的empty。 (但它是設置的!)(例外:未勾選的複選框)

因此,您應該使用isset($_POST['paramName']) && !empty($_POST["paramName"])來代替。

對於你的第一個問題:不要針對script.php。使用包含表單的相同目標,並將邏輯放在那裏(或INCLUDE script.php)。然後,用戶將留在頁面上,看到消息或不。

+0

是的,看起來像這個工作,但現在我來想法回聲'你沒有填滿所有的領域!'它打印它看起來像是($ _ POST ['paramName'])&&!empty($ _ POST [「paramName」])工作..但由於某種原因,我不明白爲什麼不想運行「「; –