2

注: まず、PHP、HTML、CSS、MySQL (データベース) を使用し、Dreamweaver 6 を使用してすべてのコードを編集しています。

わかりました。最終年度のプロジェクトとして、E-出席追跡および監視システムを作成しています。複数のユーザーのログインを作成するのが非常に困難です。このシステムの 3 人のユーザーは、STAFF、PARENTS、および STUDENTS です。そのためにSTAFFに力を入れています

わかったので...

  1. staff_register.php
  2. staff_verify.php
  3. staff_login.php
  4. staff_home.php

そのため、スタッフがサインアップしたい場合は、最初に登録する必要があります。したがって、送信時にデータベースに完全に書き込むフォームがあります。Student_register.php は、student_verify.php に投稿します。ここで、アクティベーション メールがユーザーに送信され、ユーザー自身の確認が求められます (リンクをクリックします)。ユーザーが確認すると、アクティブなユーザーになります。次に、ログインページに進みます。ユーザーが詳細を入力すると、index.php にリダイレクトされます。私のコードでは、staff_home.php にリダイレクトされるように具体的に述べています。以下にいくつかのコードを示します。

これは、staff_login.php です。

             <?php include_once("scripts/global.php");
              $message = '';
               ` `if(isset($_POST['email'])){
           $email = $_POST['email'];
    $pass = $_POST['pass'];
    $remember = $_POST['remember'];  `

//error handeling
if( (!$email) || (!$pass) ){
    $message = 'please insert both fields'; 
}else{
    //secure the data
    $email = mysql_real_escape_string($email);
    $pass = sha1($pass);
    $query = mysql_query("SELECT * FROM staff WHERE email='$email'
          AND   password='$pass' LIMIT 1") or die("Could not check member");    
    $count_query = mysql_num_rows($query);
    if($count_query == 0){
        $message = 'The infomation you entered was incorrect';  
    }else{
        //start the sessions
        $_SESSION['pass'] = $pass;
        while($row = mysql_fetch_array($query)){
            $username = $row['username'];
            $id = $row['id'];   
        }
        $_SESSION['username'] = $username;
        $_SESSION['id'] = $id;

        if($remember == "yes"){
            //create the cookies 
            setcookie("id_cookie", $id, time()+60*60*24*100, "/");
            setcookie("pass_cookie", $pass, time()+60*60*24*100, "/");
        }

        header("Location: staff_home.php");

    }

}

index.php の PHP スクリプトは次のとおりです。

 <?php include_once("scripts/global.php");
    if ($logged == 1) {
      header("Location: staff_home.php");
      exit; 
    }
 ?>

私は index.php にリダイレクトされ続けたので、staff_home.php にリダイレクトされることを期待してコードを一番上に置いたので、staff_home.php をインデックスに入れました。

staff_home.php の PHP スクリプトは次のとおりです。

 <?php include_once("scripts/global.php");
    if ($logged == 0) {
      header("Location:staff_home.php");
      exit();
    }
 ?>

ユーザーの役割を割り当てる必要があるのではないかと思いますが、まだ行っていません。

だから私が欲しいのは、スタッフがログインして staff_home.php にリダイレクトされ、学生がログインして Student_home にリダイレクトされ、両親がログインして parent_home にリダイレクトされることです。

私は数ヶ月間 PHP の練習をしようとしてきましたが、ほんの少しのエラーで本当に頭がおかしくなりました (笑)。誰かが私を助けてくれることを祈っています!これは些細なエラーのように思えるかもしれませんが、コードを改善して機能させる方法についてのヒントやアドバイスをお待ちしております。誰かが応答するかどうか確認します。また、私のメールアドレスは jmudhar90@hotmail.co.uk です。

よろしく人

4

1 に答える 1

0

私はsession_start()あなたのコードにどの時点でも見当たりません。session_start()ページでセッションを使用する前に、電話をかける必要があります。

于 2013-02-21T21:48:02.383 に答える