我的查询在localhost上运行得非常好但是 当我在服务器上执行此操作时,查询成功通过但是 它将自己重定向到login.php并显示登录查询,而不是在welcome.php页面上
假设 当我输入用户名/密码时,它会将自己重定向到login.php 使用成功的MySQL语法查询.. 和查询在屏幕上显示
就像我的用户名是v@v.com 密码v 然后在按下登录按钮后,它将我重定向到login.php而不是welcome.php,在屏幕上显示此查询的查询
SELECT * FROM members WHERE username = 'v@v.com' AND pas = '7a38d8cbd20d9932ba948efaa364bb62651d5ad4'
这是我的代码“login.php”
<?php
//Start session
session_start();
//Connect to mysql server
include('config.php');
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
$a = clean($_POST['username']);
$password = clean($_POST['password1']);
$passwordx= sha1($password);
//Create query
$qry="SELECT * FROM members WHERE username = '$a' AND pas= '$passwordx'";
$result=mysql_query($qry);
echo $qry;
//Check whether the query was successful or not
if($result) {
if(mysql_num_rows($result) > 0) {
//Login Successful
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['id'];
$_SESSION['SESS_FIRST_NAME'] = $member['fname'];
$number=$member['number'];
if($number=='1')
{
mysql_query("UPDATE members SET number=number+1 WHERE id='".$_SESSION['SESS_MEMBER_ID'] ."' ") ;
header("location: info.php");
exit();
}
else
{
header("location: welcome.php");
exit();
}
exit();
} elseif(mysql_num_rows($result) == 0){
header("location: error.php");
exit();
}
} else {
header("location: error.php");
exit();
}
?>
有人能发现错误吗?
答案 0 :(得分:1)
这:echo $qry;
执行此操作后,您无法使用header()
重定向。
从文档(http://php.net/manual/en/function.header.php):
请记住,在任何实际输出之前必须调用header() 通过普通HTML标记,文件中的空行或PHP发送。