Php 重定向问题
我在重定向页面时遇到问题。我创建了一个表单来检查用户。有两种不同类型的用户(普通用户和管理员) 如果是admin,le页面将转到loginadmin.php,否则将转到loginusers.php。它在我的计算机上本地运行良好。但不是在网上 当我输入普通用户的用户名和密码时,我收到了一条错误消息 注意:未定义索引:第7行的/homez.55/tzuhuich/www/development/aquarim/loginusers.php中的用户 如果我输入管理员的用户名和密码。它保持在同一页上。我不知道为什么?Php 重定向问题,php,forms,Php,Forms,我在重定向页面时遇到问题。我创建了一个表单来检查用户。有两种不同类型的用户(普通用户和管理员) 如果是admin,le页面将转到loginadmin.php,否则将转到loginusers.php。它在我的计算机上本地运行良好。但不是在网上 当我输入普通用户的用户名和密码时,我收到了一条错误消息 注意:未定义索引:第7行的/homez.55/tzuhuich/www/development/aquarim/loginusers.php中的用户 如果我输入管理员的用户名和密码。它保持在同一页上。我
我需要在一月初把这个项目交给我的教授_( 请帮帮我!!!先谢谢你 这是我的密码:
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>
loginvalide.php
首先要检查的项目是,它是否进入if语句?请尝试打印一些内容
接下来,是否调用了其他重定向?如果调用了多个重定向,大多数浏览器都会失败。首先在$\u POST
变量上使用。这是一个安全缺陷
只有在开始任何输出之前才能发送标题。因此,请确保未启动任何输出。有时,我们只是在标题之前添加“”,您是否尝试过标题('Location:http://example.com“);
?我正在查看大写字母“L”和冒号后的空格,以及包含的非相对URL。停止使用session_register()
,停止在查询中使用$\u POST
变量。请使用会话\u start()
,感谢您的帮助,我尝试了header('Location:);它可以工作。但如果我将其更改为header(“Location:loginadmin.php”);它不起作用,并且它说在这个服务器上找不到/main_login.php。这很奇怪,因为我写的是loginadmin.php,而不是main_login.phpSounds,就像你在脚本中的其他地方或者重定向的.htaccess一样。你可能需要深入挖掘你的代码库。再次感谢你的帮助。我发现了问题。但是确实存在新问题:(感谢您的帮助,我尝试了header('Location:);它可以工作。但是如果我将其更改为header(“Location:loginadmin.php”);它不工作,并且它说/main_login.php在此服务器上找不到。这很奇怪,因为我写的是loginadmin.php而不是main_login.php。我不明白输出et repend是什么意思“”之前