ページのリダイレクトに問題があります。私はユーザーを確認するためのフォームを作成しました。 2つの異なる種類のユーザー(通常のユーザーと管理者)があります。リダイレクトの問題
adminの場合、le pageはloginadmin.phpに行きます。それ以外の場合はloginusers.phpに行きます。それは私のコンピュータ上でローカルに正常に動作します。オンラインではありません。
普通のユーザーのユーザー名とパスワードを入力するとエラーメッセージが表示されます。 Notice:未定義のインデックス:/homez.55/tzuhuich/www/development/aquarim/loginusers.php on line 7
と、管理者のユーザー名とパスワードを入力した場合。それは同じページにとどまります。何故かはわからない?
私は早い1月の私のprofesseurにこの挙手が必要になります。。_( 私を助けてください!!!事前にあなたに感謝
ここでは私のコードです:
loginvalide.php
<?php
session_start();
$host="localhost"; // Host name
$username="root"; // Mysql username
$password="root"; // Mysql password
$db_name="aquarium"; // Database name
$tbl_name="client"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
if ($result){
$ligne = mysql_fetch_row($result);
$username = $ligne[3];
$password=$ligne[4];
$droits=$ligne[5];
$_SESSION["acces"]="oui";
$_SESSION["username"]=$username;
$_SESSION["password"]=$password;
}
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
if ($droits ==1) {
header("location:loginadmin.php");
}else {
header("location:loginusers.php");}
}
else {
echo "Wrong Username or Password";
}
?>
<?
session_start();
if($_SESSION['acces']!="oui" || $_SESSION["droits"]!=1) {
header("Location:main_login.php");
}
else{
$_SESSION['admin']++;
}
?>
loginadmin.php
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<title>page admin</title>
</head>
<body>
<p> admin </p>
<ul>
<li><a href="fomulaireajout.php">ajouter poisson</a> </li>
<li><a href="modifier.php">modifer</a> </li>
<li><a href="suprimpossion.php"> supprimer </a> </li>
</ul>
</body>
</html>
<?php
session_start();
if($_SESSION['acces']!="oui") {
header("Location:main_login.php");
}
else{
$_SESSION['user']++;
}
?>
loginusers.php
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<title>page poisspns</title>
</head>
<body>
<p><br />
<ul>
<li><a href="pagevisualisation.php">ourfish </a></li>
</ul>
</body>
</html>
あなたは 'header( 'Location:http://example.com');'を試してみましたか?私は大文字の「L」とコロンの後ろのスペースと非相対URLの包含を見ています。 –
'session_register()'を使って停止し、あなたのクエリで '$ _POST'変数を使うのを止めてください。あなたの助けを借りて、 'session_start()'と[PDO](http://php.net/manual/en/book.pdo.php) –
を使用してください、私はヘッダーを試みました( '場所:http://www.google .com ');できます。しかし、私はそれをヘッダー( "Location:loginadmin.php")に変更します。それは動作しませんし、/main_login.phpがこのサーバ上に見つかりませんでした。私が書いたものはloginadmin.phpではないので、これは奇妙です。main_login.phpではなく –