日期:2014-05-17  浏览次数:20518 次

(求助)检测用户名是否在数据库失败!!
首先我要做的是检测用户名是否在数据库中!apmserv本地环境搭建,有一个bbs数据库,meassage表,表中有3个字段,分别是id user pass ;对应的值分别是 1 admin admin;类型分别是int(10) varchar(25) varchar(25);而本地共有3个php文件:



conn.php
<?php

$conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");
mysql_select_db("bbs", $conn);
mysql_query("set names 'utf-8'"); //使用utf-8中文编码;
?>


register.php

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<form action="login.php" method="get" >
<input type="text" name="user">
<input type="submit" value="检测用户名文字">
</form>
   

login.php


<?php   


include("conn.php");
if($_POST["submit"])   
$name=$_POST['user'];   
  
$sql="select * from message where user='".$name."'";    
$result=mysql_query($sql) or die("账号不正确");   
$num=mysql_num_rows($result);   
if($num==0){   
echo "帐号已存在";   

   
?>



问题来了:无论我在register.php输入什么提交给login.php 都是显示帐号已存在,而且原本login.php文件就显示帐号已存在!我本想检测用户名是否在数据库中,却感觉调用不了数据库!!!哪里错了吗!!
数据库

------解决方案--------------------
<form action="login.php" method="get" > //form 是get提交

下面却用post接收,永远不会进入if里面
if($_POST["submit"])   
$name=$_POST['user']; 
------解决方案--------------------
就像#1所说
mysql_query("set names 'utf-8'"); //使用utf-8中文编码;
=》改成'utf8'
你为什么要接收submit呢?
if($_POST["submit"])   
 $name=$_POST['user'];

改成$name=$_GET['user'];   
下面加一句echo $name;