PHP LOGIN脚本在Xampp localhost上工作,但在Cpanel上工作

I'm making a simple login script in PHP. Its working fine on my XAMPP localhost but I can not run it on 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
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:

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

Where am I wrong here??

duanlv1366
duanlv1366 请显示您的连接文件的内容
4 年多之前 回复
dreljie602951
dreljie602951 得到了您的错误,因为您正在使用mysqli_select_db选择数据库,并且您正在使用mysql_选择查询。尝试使用其中任何一个。我建议你使用mysqli_,因为mysql_已被弃用
4 年多之前 回复
douwen7905
douwen7905 警告: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个参数
4 年多之前 回复
douxin20081125
douxin20081125 是的,现在它显示3个警告。
4 年多之前 回复
duanjianfu1398
duanjianfu1398 将此代码放在页面顶部error_reporting(E_ALL);ini_set('display_errors',TRUE);ini_set('display_startup_errors',TRUE);
4 年多之前 回复
dpwfh874876
dpwfh874876 让我们在聊天中继续讨论。
4 年多之前 回复
duanpu1064
duanpu1064 如果删除echo并退出(),错误消失了?
4 年多之前 回复
doutiao2540
doutiao2540 现在它给我服务器错误500。
4 年多之前 回复
douerqu2319
douerqu2319 仍然重新加载页面,这意味着编译器无法在那时达到。首先尝试echo,然后退出()
4 年多之前 回复
dop20345
dop20345 是。
4 年多之前 回复
dounue6984
dounue6984 你添加了exit();回声后?
4 年多之前 回复
doushihu5475
doushihu5475 我试过,我没有得到任何回音。页面刚刚重新加载。
4 年多之前 回复
dongyi4420
dongyi4420 相同的PHP版本?你检查错误日志了吗?如果运行PHP7,mysql_函数将无法工作,因为它们不再存在。
4 年多之前 回复
douhuo1738
douhuo1738 在if和else中尝试echo,然后exit();在脚本中检查脚本的去向
4 年多之前 回复

2个回答



默认情况下,cpanel(在线主机)可能会禁用错误报告,将 error_reporting(E_ALL); </ code>开头 然后你可能会看到错误的地方</ p>
</ div>

展开原文

原文

by default in the cpanel(online host) might disable error reporting, put error_reporting(E_ALL); beginning of the php code then you might can see where you wrong

duanbing8817
duanbing8817 别客气
4 年多之前 回复
dqrm8199
dqrm8199 只需将php.ini设置配置为默认值即可解决问题。 谢谢你:)
4 年多之前 回复
drktvjp713333
drktvjp713333 是的它与主机提供商有关,它是因为你的本地主机在apache默认情况下ob缓冲区是启用但不在在线主机中。 所以,当你使用header,session_start,setcookie时,你无法在浏览器之前将这些方法放到浏览器上。这个ypu将获得想法stackoverflow.com/questions/8028957 / ...
4 年多之前 回复
dtvpl739577
dtvpl739577 警告: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个参数
4 年多之前 回复
doue8385
doue8385 好! 无论如何,这与主机提供商有关吗?
4 年多之前 回复
douliu1092
douliu1092 不要删除此error_reporting(E_ALL);
4 年多之前 回复
duangu1878
duangu1878 plz检查在header header或session_start()之前是否有任何浏览器输出; 阅读此stackoverflow.com/questions/8028957 / ...
4 年多之前 回复
douhuan1908
douhuan1908 并且connection.php没问题,因为我可以从主站点上的数据库中检索信息。
4 年多之前 回复
dqusbxh44823
dqusbxh44823 //sessionforadmin.php <?php session_start(); function login_check(){if(isset($ _ SESSION ['admin'])){return true; } return false; function user_login($ id){$ _SESSION ['admin'] = $ id; function logout(){unset($ _SESSION ['admin']); }
4 年多之前 回复
dongpai2468
dongpai2468 你能告诉他们吗?
4 年多之前 回复
dongqiang1894
dongqiang1894 那么这两个filessessionforadmin.php connection.php就有问题了
4 年多之前 回复
dpa31905
dpa31905 是的,同样的事情!
4 年多之前 回复
dou7466
dou7466 然后你必须调试代码,为第一个put exit(); 在包含“connection.php”之后; 还在重装吗?
4 年多之前 回复
doubaran2438
doubaran2438 没有。 除了重装!
4 年多之前 回复



不使用mysql_query(),而是使用mysqli_query(); </ p>

语法:
mysqli_query( your_connection_variable,sql_query); </ p>
</ div>

展开原文

原文

Instead of using mysql_query(), use mysqli_query();

Syntax: mysqli_query(your_connection_variable, sql_query);

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐