尝试在消息中显示带变量的警报消息

时间:2015-09-26 07:30:46

标签: javascript php alert

警告消息,显示尚未输入字段名。每当我尝试运行代码时,会显示一个警告框,但没有消息,但是当我运行代码时没有 - “。$ 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
                    }
                 }

2 个答案:

答案 0 :(得分:0)

你应该使用

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

+用作串联运算符和字符串。

答案 1 :(得分:0)

问题是您没有使用连接的正确分隔引号

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

最终看起来像(假设$ fieldname包含文本 Something

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

渲染到页面时。由于 Something 未引用,因此javascript会尝试像变量一样解析它,并且很可能找不到它并且错误输出。

应该看起来像

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

注意结束第一部分并开始下一部分的双引号。虽然您甚至不需要进行连接,但您只需将变量名称放在字符串中即可。 Php在双引号内解析变量

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