php初学者,初写登陆系统 问题

jieyi1106 2008-07-22 11:35:38
<?php
$name = $_require['username'];
$pwd = $_require['password'];

if($name ==""||$pwd=="")
{
echo "请输入用户名和密码";
}

include("config.php")


$sql = "SELECT * FROM user WHERE uname = $name";

$rs = mysql_query($sql);
$num = mysql_num_rows($rs);
$row = mysql_fetch_array($rs);
$user =$row[0];
$infor =$row[1];
if($user = $name)
{
echo ("登陆成功");
}
else
{
echo ("登陆失败");
}

include("login.html")

?>

报错 错误就是 $sql 语句那
Parse error: syntax error, unexpected T_VARIABLE in F:\PHP\xampp\htdocs\logic.php on line 18

我初学者 大家帮帮忙~

...全文
268 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgstart 2008-07-25
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 jieyi1106 的回复:]
<?php
$name = $_REQUEST['username'];
$pwd = $_REQUEST['password'];


include("config.php");
$sql = "SELECT * FROM userinfor";
$rs = mysql_query($sql);
$row = mysql_fetch_array($rs);
$user =$row[0];
$infor =$row[1];
if($user == $name and $infor == $pwd)
{
echo ("登陆成功");
}
else
{
echo ("登陆失败");
}
include("login.html");
?>
现在我一调试 页…
[/Quote]

因为你已经限定了$user =$row[0];
$infor =$row[1];
所以只能是第一个数据有效。
lgstart 2008-07-25
  • 打赏
  • 举报
回复
我的登陆程序:
<?
session_start();
$admin_name=$_POST['admin_name'];
$admin_password=$_POST['admin_password'];
$conn=mysql_connect ("localhost", "root", "root");

mysql_select_db("guest_book");
$exec="select * from admin where admin_name = '".$admin_name."' ";
$result=mysql_query($exec);
if ($rs = mysql_fetch_object($result))
{
if ($rs->admin_password == $admin_password)
{
$_SESSION['admin']="OK";
header("location:admin_index.php");
}
else echo"密码不正确";
}
else echo"用户名不正确";

mysql_close();
?>
cetc2008 2008-07-25
  • 打赏
  • 举报
回复
$row = mysql_fetch_array($rs, MYSQL_ASSOC)
后面加上结束符;试试
Mlive 2008-07-24
  • 打赏
  • 举报
回复
$name = trim($_REQUEST['username']);
$pwd = trim($_REQUEST['password']);


是不是在加入数据时有空格的问题?
Mlive 2008-07-24
  • 打赏
  • 举报
回复
<?php
$name = $_REQUEST['username'];
$pwd = $_REQUEST['password'];

if($name =="" ||$pwd=="")
{
echo "请输入用户名和密码";
exit;
}

include("config.php");

$sql = "SELECT * FROM user WHERE uname='".$name."'";

$rs = mysql_query($sql);
$num = mysql_num_rows($rs);
if($num > 0)
{
$row = mysql_fetch_array($rs);
$user =$row[0];
$infor =$row[1];
echo ("登录成功");
}
else
{
echo ("登陆失败");
}
include("login.html");

?>
pzy123cn 2008-07-23
  • 打赏
  • 举报
回复
对了 ,别忘了在 $Notfind=false;后面加上一句break;意思就是找到了 ,跳出循环
pzy123cn 2008-07-23
  • 打赏
  • 举报
回复




$result=mysql_query($selects,$conn)or die(" Could not select les values".mysql_error());

$Notfind = true ;
while(($row=mysql_fetch_array($result)))
{
if($name == $row['user'])
{

echo "Success!";
$Notfind = false ;
}

}

if($Notfind)
{
echo "No Success !!!!";
}
jieyi1106 2008-07-22
  • 打赏
  • 举报
回复
<?php
$name = $_request['username'];
$pwd = $_request['password'];

if($name ==""||$pwd=="")
{
echo "请输入用户名和密码";
}

include("config.php");
$sql = "SELECT * FROM user WHERE uname = '".$name."'";
$rs = mysql_query($sql);
$row = mysql_fetch_array($rs);
$user =$row[0];
$infor =$row[1];
if($user = $name)
{
echo ("登陆成功");
}
else
{
echo ("登陆失败");
}
include("login.html");

?>
这里报错
大家帮下 我初学PHP
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F:\PHP\xampp\htdocs\logic.php on line 15
junchen168168 2008-07-22
  • 打赏
  • 举报
回复
你把传值的方式改成:
$name = $_request['username'];
$pwd = $_request['password'];
$_request是通杀的哦!
xiongbing529 2008-07-22
  • 打赏
  • 举报
回复
<?php
$name = $_REQUEST['username'];
$pwd = $_REQUEST['password'];

if($name =="" ¦ ¦$pwd=="")
{
echo "请输入用户名和密码";
}

include("config.php")


$sql = "SELECT * FROM user WHERE uname = '".$name."'";

$rs = mysql_query($sql);
$num = mysql_num_rows($rs);
$row = mysql_fetch_array($rs);
$user =$row[0];
$infor =$row[1];
if($user == $name)
{
echo ("登陆成功");
}
else
{
echo ("登陆失败");
}

include("login.html")

?>
qianziai0912 2008-07-22
  • 打赏
  • 举报
回复
$name = $_require['username'];
$pwd = $_require['password'];

你页面传值的方式是什么?
method ="??"

如果是GET的话 把
$name = $_GET['username'];
$pwd = $_GET['password'];

如果是POST的话 把
$name = $_POST['username'];
$pwd = $_POST['password'];
jieyi1106 2008-07-22
  • 打赏
  • 举报
回复
加'".$name."' 还是说24 行那里有错误
junchen168168 2008-07-22
  • 打赏
  • 举报
回复
把你的$sql语句改成:
$sql = "SELECT * FROM user WHERE uname = '".$name."'";
jieyi1106 2008-07-22
  • 打赏
  • 举报
回复
经过修改后
<?php
$name = $_require['username'];
$pwd = $_require['password'];

if($name ==""||$pwd=="")
{
echo "请输入用户名和密码";
}

include("config.php");

$sql = "SELECT * FROM user WHERE uname = $name";

$rs = mysql_query($sql);

$row = mysql_fetch_array($rs, MYSQL_ASSOC)
$user =$row['user'];
$infor =$row['infor'];
if($user = $name)
{
echo ("登陆成功");
}
else
{
echo ("登陆失败");
}

include("login.html");

?>

报错: 24行是 $user =$row['user'];
$infor =$row['infor'];
Parse error: syntax error, unexpected T_VARIABLE in F:\PHP\xampp\htdocs\logic.php on line 24

number123456 2008-07-22
  • 打赏
  • 举报
回复
$row = mysql_fetch_array($rs, MYSQL_ASSOC)
if(!empty($row)){
$user =$row['user'];
$infor =$row['infor'];
if($user = $name)
{
echo ("登陆成功");
}
else
{
echo ("登陆失败");
}
}
jieyi1106 2008-07-22
  • 打赏
  • 举报
回复
<?php
$name = $_REQUEST['username'];
$pwd = $_REQUEST['password'];


include("config.php");
$sql = "SELECT * FROM userinfor";
$rs = mysql_query($sql);
$row = mysql_fetch_array($rs);
$user =$row[0];
$infor =$row[1];
if($user == $name and $infor == $pwd)
{
echo ("登陆成功");
}
else
{
echo ("登陆失败");
}
include("login.html");
?>
现在我一调试 页面就显示 登陆失败.
我数据库了有 帐号,密码: 111,222. 333,444. 555,666.
结果是 我输入 111 222 就显示登陆成功
但是输入 333,444 就说失败

寻求答案
tony-杨 2008-07-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jieyi1106 的回复:]
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F:\PHP\xampp\htdocs\logic.php on line 15
[/Quote]
已经说的很清楚了
看看你的Sql语句有什么问题
不是mysql_fetch_array有什么错
tony-杨 2008-07-22
  • 打赏
  • 举报
回复

//……

$rs = mysql_query($sql);
$num = mysql_num_rows($rs);
$row = mysql_fetch_array($rs);
print_r($row);//你把这里的$row打印出来看看是否有值

//……

if($user = $name)//这是是赋值,所以永远是登录成功,你应该修改为==

//……
jieyi1106 2008-07-22
  • 打赏
  • 举报
回复
<?php
$name = $_REQUEST['username'];
$pwd = $_REQUEST['password'];


include("config.php");
$sql = "SELECT * FROM userinfor WHERE 'user' = '".$name."'";
$rs = mysql_query($sql);
$row = mysql_fetch_array($rs);
$user =$row[0];
$infor =$row[1];
if($user == $name||$infor == $pwd)
{
echo ("登陆成功");
}
else
{
echo ("登陆失败");
}
include("login.html");

?>
这个是我 最后的代码了,显示方面没有问题,运行也没报错
但是 输入 数据库正确的 数据 他说登陆失败. 汗
而且页面运行,还没点按钮 他就显示 登陆成功.
大家多帮忙 我初学
七胖儿 2008-07-22
  • 打赏
  • 举报
回复
服了,为啥第一次不出现红色,引用得时候就出现红色啊
加载更多回复(5)

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧