かなり基本的なログインページがあります。PHPの内外を学びながらプロトタイプを開発しています。
MySql データベースでは、ユーザー ID、ユーザー名、パスコード、タレント、顧客のようになっています。才能と顧客はどちらもバイナリであり、どちらか一方だけが True になります。
だから私がやろうとしているのは、才能 = 1 の場合は index.php に送信し、顧客 = 1 の場合はRecruiter.php に送信することです。
基本的なことは 90% 確実ですが、才能と顧客をチェックするために追加の if を追加したため、スクリプトが壊れてしまいました :)
最後に、各ページでこのチェックを実行して、顧客がタレント ページにアクセスしたり、その逆を行ったりしないようにする必要があります。
私は正しい軌道に乗っていますか??
私の現在のスクリプトはこれを行います:
<?php
include("resource/config.php");
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// username and password sent from Form
$myusername=addslashes($_POST['username']);
$mypassword=addslashes($_POST['password']);
$sql="SELECT UserID, talent, customer FROM useradmin WHERE username='$myusername' and passcode='$mypassword'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$active=$row['active'];
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if ($row['talent']==1) {
if ($count==1) {
$_SESSION['login_user']=$myusername;
header("location: index.php");
}
else {
$error="Your Email or Password is invalid";
}
}
elseif ($row['customer']==1) {
if ($count==1) {
$_SESSION['login_user']=$myusername;
header("location: recruiter.php");
}
else {
$error="Your Email or Password is invalid";
}
}
else {
$error="Your Login Name or Password is invalid";
}
}
?>
また、ログインしているユーザーだけがアクセスできるようにするために、これをすべてのページの上部に配置しています。
<?php
session_start();
include('config.php');
$user_check=$_SESSION['login_user'];
$ses_sql=mysql_query("select username from useradmin where username='$user_check' ");
$row=mysql_fetch_array($ses_sql);
$login_session=$row['username'];
if(!isset($login_session)) {
header("Location: login.php");
}
?>