2015-09-26 54 views
1

警報消息中的變量的警報消息,以顯示未輸入字段名稱。每當我嘗試運行代碼時,警告框都會顯示無任何消息,但是當我運行代碼時不會顯示 - 「。$ fieldname」。該消息被顯示。 我希望未輸入的字段名與消息一起顯示。試圖顯示帶有消息

if(isset($_POST['submit'])) 
      { 
       $firstname = $_POST['firstname']; 
       $lastname = $_POST['lastname']; 
       $mobile = $_POST['mobile']; 
       $course = $_POST['course']; 
       $semester = $_POST['semester']; 
       $DOB = $_POST['DOB']; 
       $gender = $_POST['sex']; 
      $file = $_FILES["file"]["name"]; 
       $password = $_POST['password']; 
       $email_id = $_POST['email_id']; 

       $fields = array('firstname', 'lastname', 'mobile', 'course', 'semester', 'DOB', 'sex', 'password', 'email_id'); 

       $error = false; //No errors yet 
       foreach($fields AS $fieldname) 
       { //Loop trough each field 
        if(!isset($_POST[$fieldname]) || empty($_POST[$fieldname])) 
        { 
         echo "<script type='text/javascript'>alert('field'.$fieldname.'not entered');</script>"; 
         //Display error with field 

         $error = true; //Yup there are errors 
        } 
       } 
+0

'警報(「場‘$字段名。’沒有進入」)內' – roullie

+0

謝謝你,它的工作 –

回答

0

你應該使用

echo "<script type='text/javascript'>alert('field'+ $fieldname +'not entered');</script>"; 

+工作與字符串連接操作。

0

問題是你沒有使用正確的劃界報價串聯

echo "<script type='text/javascript'>alert('field'.$fieldname.'not entered');</script>"; 

最終會看起來像(假設$字段名包含文本東西

<script type='text/javascript'>alert('field'.Something.'not entered');</script> 

渲染時到頁面。由於某些東西未被引用,JavaScript會嘗試將其解析爲變量,並且可能不會找到它並且出錯。

它應該看起來像

echo "<script type='text/javascript'>alert('field".$fieldname."not entered');</script>"; 

注意雙引號結束的第一部分,並開始下一個。雖然你甚至不需要進行連接,但你可以把變量名放在字符串中。 PHP的解析變量時,雙引號

echo "<script type='text/javascript'>alert('field $fieldname not entered');</script>";