问题描述
不知道为什么这个表格不起作用......虽然我在输入用户名和密码后提交了这个......提交后它不显示任何东西
<?php
include "connect_to_mysql.php";
if(isset($_POST['log']))
{
$user= $_POST['user'];
$pass=md5($_POST['pass']);
$sql=mysql_query("select* from login where user= '$user' AND pass='$pass' LIMIT 3 ");
$data=mysql_fetch_array($sql);
$UserName= $data['user'];
$Password= $data['pass'];
$type= $data['type'];
$name= $data['name'];
if($user==$username && $pass==$password){
session_start();
$_SESSION['name']=$name;
if($type=='admin')
{
header("location: index.php");
}
else if($type=='vender1')
{
header("location: vender1.php");
}
}
else {
echo 'That information is incorrect, try again <a href="index.php">Click Here</a>';
exit();
}
}
?>
数据库是手动创建的,登录表有 5 列名为 id、name。 用户,通行证,类型。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Log In </title>
<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
</head>
<body>
<br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br />
<div id="mainWrapper">
<?php include_once("header.php") ?></div>
<div id="pageContent"><br /><br /><br />
<div align="right" style="margin-right:24px; color:#FF0000">
<h2>Please Log In To Manage the Inventary</h2>
<br /><br />
<form id="form" name="form" method="post" action="login.php">
<h2 style="padding-right:200px;">User Name:</h2>
<input name="user" type="text" id="user" size="40" style="height:20px;" />
<br /><br />
<h2 style="padding-right:210px;">Password:</h2>
<input name="pass" type="password" id="pass" size="40" style="height:20px;" />
<br />
<br />
<br />
<input type="submit" name="button" id="button" value="Log In" />
</form>
<p> </p>
</div>
<br />
<br />
<br />
</div>
</div>
</body>
</html>
我被困在这里..请让我摆脱这个
1楼
Umair Ayub
1
2015-07-31 07:34:31
您的查询出错,您正在编写select*
但应该有一个像这样的空格select *
$sql = mysql_query("select * from login where user= '$user' AND pass='$pass' LIMIT 3 ") or die(mysql_error());
编辑
你也必须把session_start();
作为您代码的第一行...否则它将无法正常工作。
所以把它作为你的第一行代码
session_start();
error_reporting(E_ALL); // to see if there is error in code
而且 PHP 变量名是,
PHP 中的变量由美元符号后跟变量名称表示。 变量名区分大小写。
所以请改变
if($user==$username && $pass==$password)
到
if($user==$UserName && $pass==$Password)
2楼
user1665624
1
已采纳
2015-07-31 08:12:18
运行以下代码,
$sql=mysql_query("select* from login where user= '$user' AND pass='$pass' LIMIT 3 ");
$data=mysql_fetch_array($sql);
$UserName= $data['user'];
$Password= $data['pass'];
$type= $data['type'];
$name= $data['name'];
if($user==$username && $pass==$password){
session_start();
$_SESSION['name']=$name;
if($type=='admin')
{
header("location: index.php");
}
else if($type=='vender1')
{
header("location: vender1.php");
}
}
else {
echo 'That information is incorrect, try again <a href="index.php">Click Here</a>';
exit();
}
?>
您还没有在表单中使用 $_POST['log'] ....
在您的代码中,您使用了if(isset($_POST['log'])) ,我已将其删除,因为您没有在表单中使用“log”。