我在我的系统中开发了以下代码在我的本地主机中一切工作正常
但是当我尝试将文件从本地主机移动到服务器时,登录表单无法正常工作
<?php
session_start();
include 'config.php';
if(isset($_POST['sub']))
{
$myusername=$_POST['txtuname'];
$mypassword=$_POST['txtpwd'];
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM member WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "members.php"
$_SESSION['myusername']=$myusername;
if(isset($_SESSION['myusername']))
header("location:members.php");
}
else {
echo "<b><div style=\"color:red;\">Invalid Username or Password</div></b>";
}
}
?>
Html
-----
<form name="reg" action="" onsubmit="return validateForm()" method="post">
Username
<br><input type="text" name="txtuname"><br>
Password
<br>
<input type="text" name="txtpwd"><br>
<input type="submit" value="Login" name="sub"><br>
<a href="forgot.php">Lost your password?</a>
</form>
members.php
----------
<?php
session_start();
$sid=$_SESSION['myusername'];
if($_SESSION['myusername']=="")
{
header("location:index.php");
}
?>
config.php
<?php
define('DB_SERVER', 'localhost'); // Mysql hostname, usually localhost
define('DB_USERNAME', 'dbuser'); // Mysql username
define('DB_PASSWORD', 'dbpass'); // Mysql password
define('DB_DATABASE', 'dbname'); // Mysql database name
$connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die(mysql_error());
$database = mysql_select_db(DB_DATABASE) or die(mysql_error());
?>
以上所有代码都在我的 XAMPP 服务器中完美运行 但是当我将这些文件从本地主机移动到服务器时,登录表单无法正常工作
当我输入正确的用户名和密码时,它不会重定向到members.php
如果我输入的用户名和密码错误,则会显示无效的用户名密码消息
请帮助我哪里有错误
最佳答案
如果您没有看到任何错误,则可能禁用了 PHP 错误报告。在 PHP 文件的头部,插入以下内容:
error_reporting(E_ALL);
ini_set('display_errors', 1);
此外,将 或 die mysql_error();
附加到所有数据库查询中。例如:
$result=mysql_query($sql) or die(mysql_error());
我建议研究以下内容:
- 检查数据库凭据
- 确保您的数据库已就位,其中的数据...而不仅仅是一个空表
- 查看运行文件时出现的任何错误
- 如果可用,请在另一台服务器上尝试您的代码...或者甚至在另一个文件夹中再次设置它并使用不同的数据库,看看是否可以使其在本地以完全相同的方式运行。
关于php - 当文件从本地主机移动到服务器时,登录表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20450822/