2016-02-03 75 views
2

我在PHP中做了一个简单的登录脚本。它在我的XAMPP本地主机上工作正常,但我无法在CPANEL上运行它。 可怕的部分是它不会给我任何错误,而不是每次提交时登录表单页面重新加载。PHP登录脚本在Xampp本地主机上工作,但不在Cpanel上

形式:

<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> 

在相同的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 
} 
} 

?> 

编辑:

我收到这样的error_reporting的错误是:

警告:在session_start():不能发送会话cookie - 已经由 (输出开始 /home/exploitb/public_html/badminpanel/index.php发送标题: 29) /home/exploitb/public_html/badminpanel/sessionforadmin.php第2行 警告:在session_start():不能发送会话缓存限制器 - 头 已经发出(输出开始 /家庭/ exploitb /的public_html/badminpanel/index.php:29) /home/exploitb/public_html/badminpanel/sessionforadmin.php第2行 警告:mysqli_select_db()只需要2个参数,1在 /home/exploitb/public_html/badminpanel/connection.php给出8行

我在哪里错在这里?

+0

尝试回声在if和else然后退出();在脚本中检查您的脚本将要去哪里 –

+0

相同的PHP版本?你检查了错误日志吗?如果运行PHP 7,mysql_'函数将不起作用,因为它们不再存在。 – chris85

+0

@DivyeshSavaliya我试过了,我没有收到任何回音。页面刚刚重新加载。 – ZIS

回答

0

默认情况下的cPanel(网络主机)可能会禁用错误报告,把error_reporting(E_ALL);开始的PHP代码,那么你可能可以看到你错了

+0

没有。除了重新加载! – ZIS

+0

那么你必须调试代码,首先把'exit();'放在'include“connection.php之后';'仍然要重载? –

+0

是的一回事! – ZIS

0

而不是使用的mysql_query(),使用mysqli_query()的;

语法: mysqli_query(your_connection_variable,sql_query);

相关问题