我有一个申请许可证的系统,当他们选择他们喜欢申请的许可证时,他们会提交表格,系统会检查他们之前是否有与先决条件相同的许可证。
总的来说:如果他们不符合先决条件,系统应该弹出一个窗口,告诉他们"对不起,您没有预先要求的许可证。
否则,系统将检查他们之前是否完成了医疗问卷调查。如果他们确实有一份现有的医疗问卷,系统将存储申请详细信息,并转到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中的回声位置,因为它当然不会在每个地方都起作用。最好的部分在标签里面。