Php连接数据库

时间:2009-12-09 18:14:27

标签: php sql database

我正在尝试使用登录表单连接到数据库。目前在数据库中有一个用户,但是当按下提交时,页面似乎只是刷新而不是应该重定向到主页。这是我的代码:

<html>
<head><title>Login</title></head>
<body>


<?php
ob_start();
include('connect.php');

$handle = mysql_connect($hostname, $username, $password)or die("cannot connect");
$error = mysql_select_db($databasename,$handle);

$myusername=$_POST['username']; 
$mypassword=$_POST['password'];

$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tablename WHERE UserName='$myusername' and Password='$mypassword'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count==1){
session_register("username");
session_register("password"); 
header("Location: home.php");
}
else {
echo "Wrong Username or Password";
}
?>


<form action='LoginREAL.php'
                method='POST' style='margin: .5in'>
    <p><label for='user_name' style='font-weight: bold;
          padding-bottom: 1em'>USER ID: </label>
       <input type='text' name='username' id='username'
          value='' /></p>
    <p><label for='password' style= 'font-weight: bold'>Password: </label>
       <input type='password' name='password' id='password'
          value='' /></p>
    <p><input type='submit' value='Login'> </p>
       <input type='hidden' name='sent' value='yes'/>

<a href= "/home/jparry2/public_html/register.php">Register</a>

    </form>

</body>
</html>

2 个答案:

答案 0 :(得分:1)

我的猜测是问题不是你的登录功能,而是你的header()重定向语句。 header()重定向仅在任何html发送到浏览器之前发生。 html启动后,http标头已经发送,无法更改。希望这是你唯一的问题。

答案 1 :(得分:0)

在将输出发送到浏览器之后,您无法使用header(),因此您需要将php内容放在html标记之前。

顺便说一下,我不知道你的服务器是如何设置的,但我不认为你的注册链接会起作用(我认为public_html是服务器的根目录......)。

编辑:我看到您正在打开输出缓冲,但您没有刷新缓冲区。有没有具体的理由这样做?