0

私は許可を申請するシステムを持っており、彼らが申請したい許可を選択すると、彼らはフォームを提出し、システムは前提条件と同じ以前に適用された許可があるかどうかをチェックします。

一般的に: 前提条件を満たしていない場合、システムはウィンドウをポップアップして、「申し訳ありませんが、事前に必要な許可を持っていません」と伝えます。

それ以外の場合、システムは以前に医療アンケートに記入したことがあるかどうかを確認します。既存の医療アンケートがある場合、システムはアプリケーションの詳細を保存し、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);  


?>

ページ全体を再構成し、論理的に正しく聞こえるようにしました。ただし、スクリプトをエコーアウトするために使用する方法が正しいかどうかはわかりません。

誰かがこのコードにコメントできるのだろうか?

どうもありがとう...助けていただければ幸いです。

4

1 に答える 1

0

javascript の alert() 関数のことですか?その場合、次のような JavaScript をエコーする必要があります。

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

ただし、もちろんすべての場所で機能するとは限らないため、HTML でエコーする場所に注意してください。一番いいのはタグの内側です。

于 2012-04-04T15:32:25.293 に答える