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