[英]PHP LOGIN script Working on Xampp localhost but not on Cpanel
I'm making a simple login script in PHP. 我正在用PHP创建一个简单的登录脚本。 Its working fine on my XAMPP localhost but I can not run it on CPANEL. 它在我的XAMPP本地主机上可以正常工作,但是我不能在CPANEL上运行它。 The scarier part is it does not give me any error instead the login form page reload every time I submit. 更可怕的是,它不会给我任何错误,而是每次我提交时都会重新加载登录表单页面。
THE FORM: 表格:
<div class="panel-body">
<form role="form" method="post" action="<?php $_PHP_SELF ?>">
<div class="form-group">
<div class="input-group"> <span class="input-group-addon"><span class="glyphicon glyphicon-user"></span></span>
<input type="text" class="form-control" id="exampleInputEmail1" name="name" placeholder="Admin ID" required>
</div>
</div>
<div class="form-group">
<div class="input-group"> <span class="input-group-addon"><span class="glyphicon glyphicon-star"></span></span>
<input type="password" class="form-control" id="exampleInputPassword" name="password" placeholder="Password" required>
</div>
</div>
<hr/>
<!-- <button type="button" class="btn btn-success"><span class="glyphicon glyphicon-arrow-left"></span> Back</button>-->
<button type="submit" class="btn btn-warning" name="admin_login"><span class="glyphicon glyphicon-log-in"></span> Sign In</button>
<p><br/>
</p>
THE SCRIPT on the same php file: 脚本在同一个php文件上:
<?php
include "sessionforadmin.php";
include "connection.php";
if(isset($_POST["admin_login"])){
if(!empty($_POST['name']) && !empty($_POST['password'])) {
$user=$_POST['name'];
$pass=$_POST['password'];
$user = mysql_real_escape_string($user);
$pass= md5( mysql_real_escape_string($pass));
$query=mysql_query("SELECT * FROM admin WHERE admin_name='".$user."' AND password='".$pass."'");
$numrows=mysql_num_rows($query);
if($numrows!=0)
{
while($row=mysql_fetch_assoc($query))
{
$dbusername=$row['admin_name'];
$dbpassword=$row['password'];
}
if($user == $dbusername && $pass == $dbpassword)
{
user_login( $user );
/* Redirect browser */
header("Location: home.php");
}
} else {
?>
<script>
alert("Invalid username or password!");
document.location.href='index.php';
</script>
<?php
}
} else { ?>
<script>
alert("All Field are required!");
document.location.href='index.php';
</script>
<?php
}
}
?>
EDIT : 编辑:
The Error that I receive on doing error_reporting is: 我在执行error_reporting时收到的错误是:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/exploitb/public_html/badminpanel/index.php:29) in /home/exploitb/public_html/badminpanel/sessionforadmin.php on line 2 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/exploitb/public_html/badminpanel/index.php:29) in /home/exploitb/public_html/badminpanel/sessionforadmin.php on line 2 Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in /home/exploitb/public_html/badminpanel/connection.php on line 8 警告:session_start():无法发送会话cookie-第2行的/home/exploitb/public_html/badminpanel/sessionforadmin.php中已经由发送的标头(输出始于/home/exploitb/public_html/badminpanel/index.php:29)警告:session_start():无法发送会话缓存限制器-行2上/home/exploitb/public_html/badminpanel/sessionforadmin.php中已发送的标头(输出从/home/exploitb/public_html/badminpanel/index.php:29开始)警告:mysqli_select_db()恰好需要2个参数,第8行的/home/exploitb/public_html/badminpanel/connection.php中给出1个参数
Where am I wrong here?? 我在哪里错了?
by default in the cpanel(online host) might disable error reporting, put error_reporting(E_ALL);
默认情况下,在cpanel(在线主机)中可能会禁用错误报告,将error_reporting(E_ALL);
beginning of the php code then you might can see where you wrong php代码的开头,那么您可能会看到哪里出错了
Instead of using mysql_query(), use mysqli_query(); 代替使用mysql_query(),而使用mysqli_query();。
Syntax: mysqli_query(your_connection_variable, sql_query); 语法:mysqli_query(您的连接变量,sql_query);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.