2015-09-26 68 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>";