登录代码老弹出这个。。我发现不了,求解。。(问题指向这个 if($row=mysql_fetch_array($result)){)
(数据库里面就 id username pw email)
代码奉上!
注册这部分php
<?php
 if(isset($_POST['username'])){
    $username = $_POST['username'];
    $pw = md5($_POST['pw1']);
    $email = $_POST['email'];
    $conn = mysql_connect("localhost","root","123456");
    mysql_select_db("forum");
    $sql = "insert into user_table (username,pw,email) values('$username','$pw','$email')";
    mysql_query("set names 'gb2312'");
    mysql_query($sql,$conn);
    mysql_close($conn);
    get_show_msg("login.php","注册成功");
 }
?>login 代码:
<?php
include "comm.php";
if(isset($_POST['username'])){
user_login($_POST['username'],$_POST['pw']);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<link rel="stylesheet" href="a_link.css" type="text/css">
<link rel="stylesheet" href="part.css" type="text/css">
<style type="text/css">
body{
margin:0px;
background-image:url(images/body.jpg);
}
</style>
<body>
<div id="content">
<div id="head">
<div class="menu_head">
<ul>
<li><a href="index.php">首页</a></li>
</ul>
</div>
<div class="menu">
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">社区</a></li>
</ul>
</div>
</div>
<div class="nav"></div>
<div id="main">
<fieldset>
<legend align="center">用户登录</legend>
<form name="myform" method="post" action="">
<p>
<label for="username" class="label">用户名:</label>
<input id="username" name="username" type="text" class="input" />
<span>(必填)</span>
<p/>
<p>
<label for="password" class="label">密 码:</label>
<input id="pw1" name="pw1" type="password" class="input" />
<span>(必填)</span>
<p/>
<p>
<input type="submit" name="submit" value="  登录  " class="left" />
</p>
</form>
</fieldset>
</div>
</div>
</body>
</html>comm代码
(一部分)
function user_login($username,$pw){
$conn=mysql_connect("localhost","root","123456");
mysql_select_db("forum");
$sql="select * form user_table where username='$username' and pw='".md5($pw)."'";
mysql_query("set names 'gb2312'");
$result = mysql_query($sql,$conn);
if($row=mysql_fetch_array($result)){
$_SESSION['id'] =$row['id'];
$_SESSION['username'] =$row['username'];
$_SESSION['shell'] =md5($row['username'].$row['pw'].ALL_PS);
$_SESSION['email']=$row['email'];
get_show_msg("index.php","成功登陆");
}else{
session_destroy();
get_show_msg("login.php","登陆失败"); }

}

解决方案 »

  1.   

    $sql="select * form user_table where username='" . addslashes($username) . "' and pw='".md5($pw)."'";
    mysql_query("set names 'gb2312'");
    $result = mysql_query($sql,$conn);
    echo mysql_error();
    if($row=mysql_fetch_array($result)){
      

  2.   

    $sql="select * from user_table where username='$username' and pw='".md5($pw)."'";
    $result = mysql_query($sql,$conn) or die(mysql_error);  //观察是否还有错误
      

  3.   

    还有个错误。
    user_login($_POST['username'],$_POST['pw1']);  测试看看。
      

  4.   

    $sql="select * form user_table where username='$username' and pw='".md5($pw)."'";
    问题在这
      

  5.   

    其实你细心看到的话应该能找到错误在哪儿。
    1.mysql_fetch_array(): supplied argument is not a valid mysql result resource
    错误提示是 函数的参数类型应该是资源类型,但是你给他的不是。 
    2。$row=mysql_fetch_array($result) 那你就看一下 $result 是什么类型。var_dump($result);
    应该是个bool(false).
    3。在往上找 就是你的sql没有找到数据或者错误了。
    4.看一下sql语句什么错误。学会排错方法才是最重要的。