我如何继续这个if-else语句在PHP代码中间打开一个alert()函数


How do i continue this if else statement do open a alert() function in the middle of a PHP code?

我有一个申请许可证的系统,当他们选择他们喜欢申请的许可证时,他们会提交表格,系统会检查他们之前是否有与先决条件相同的许可证。

总的来说:如果他们不符合先决条件,系统应该弹出一个窗口,告诉他们"对不起,您没有预先要求的许可证。

否则,系统将检查他们之前是否完成了医疗问卷调查。如果他们确实有一份现有的医疗问卷,系统将存储申请详细信息,并转到apply_successful.php页面。否则,系统会将他们带到medical_questions.php进行问卷调查。

我试着把代码写出来,但在某个时候被卡住了

到目前为止我已经尝试过了:

<?php
session_start();
include'Connections/database.php';
$conn = dbConnect ();
    if (! $conn)
    die("Couldn't connect to MySQL");
    $user = $_SESSION['eid'];
    $selectedPermit=$_POST['cat'];
    //print_r($selectedPermit);
    foreach($selectedPermit as $permit)
    {
        $query="SELECT t.PREREQ1, t.PREREQ2, (CASE WHEN (t.PREREQ1 IS NOT NULL) AND (p1.PTYPE IS NULL) THEN 1 ELSE 0 END) AS missing1, (CASE WHEN (t.PREREQ2 IS NOT NULL) AND (p2.PTYPE IS NULL) THEN 1 ELSE 0 END) AS missing2 FROM type AS t LEFT JOIN permit AS p1 ON (t.PREREQ1=p1.ptype) AND ( p1.EID = '$user' ) AND (p1.STATUS='approved') LEFT JOIN permit AS p2 ON (t.PREREQ2=p2.ptype) AND ( p2.EID = '$user' ) AND (p2.STATUS='approved') WHERE t.PTYPE = '$permit' ";
        $result=mysql_query($query,$conn);
        $row=mysql_fetch_assoc($result);
        $missing1=$row['missing1'];
        $missing2=$row['missing2'];
        if($missing1=='1' or $missing2=='1')
        {
            echo '<script>alert("Sorry. You did have not met the Pre-Requisites for '.$permit .'");</script>';
            header ('Location:s_apply2.php');
        }
   }
   foreach($selectedPermit as $permit)
   {
       $query="SELECT PTYPE FROM permit WHERE EID=$user";
       $result=mysql_query($query);
       while($row=mysql_fetch_assoc($result))
       {
          if($row['PTYPE'] == $permit)
          {
              //echo"You have applied for this permit.";
              echo '<script>alert("You have applied for '.$permit .'");</script>';
              header ('Location:s_apply2.php');
          }
       }
   }
  foreach($selectedPermit as $permit)
  {
      $query="SELECT MED FROM emp WHERE EID='$user'";
      $result=mysql_query($query,$conn);
      $row=mysql_fetch_assoc($result);
      $med=$row['MED'];
      if ($med == 'yes')
      {
          $query = "INSERT INTO permit (EID, PTYPE) VALUES ('$user','$permit' )";
          header('Location:s_apply_success.php'); 
      }
      else
      {
          header('Location:medical_question.php');
      }
      mysql_query($query);
  }
  dbDisconnect($conn);  

?>

我重组了整个页面,使其逻辑正确。然而,我不确定我用来回显脚本的方式是正确的。

我想知道是否有人可以对此代码发表评论?

非常感谢。。。我们非常感谢您的帮助。

我猜你指的是javascript alert()函数?在这种情况下,您应该只回显一些javascript,如下所示:

echo '<script>alert("error");</script>';

不过,请注意HTML中的回声位置,因为它当然不会在每个地方都起作用。最好的部分在标签里面。