0

我有一个登录脚本,它在托管在共享主机(Windows8 服务器)上的生产服务器上运行良好。

在 WindowsXP 和 UniServ(如 XAMPP 或 WAMP)的本地服务器(未连接到 Internet)上尝试相同的脚本。它只是给出一个空白屏幕。

因此,如果 Apache / Mysql / PHP 中有任何问题,我尝试测试一些脚本。所有 3 都在 Uniserv 上运行良好。

我尝试检查会话路径的配置,一切都很好。如果相同的文件必须在本地服务器上工作,不确定还需要检查什么。需要帮忙。

请检查以下登录脚本:

    <?php // accesscontrol.php
    include_once 'common.php';
    include_once 'db2.php';

    session_start();

    $uid = isset($_POST['uid']) ? $_POST['uid'] : $_SESSION['uid'];
    $pwd = isset($_POST['pwd']) ? $_POST['pwd'] : $_SESSION['pwd'];

    if(!isset($uid)) {
      ?>
      <!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
    <title>Test - Login</title>
        <meta http-equiv="Content-Type"
          content="text/html; charset=iso-8859-1" />
    <head>
    <style type="text/css">
    <!--
    .style1 {
        font-size: 16px;
        font-family: Verdana, Arial, Helvetica, sans-serif;
    }
    .style3 {
        font-size: 12px;
        font-family: Verdana, Arial, Helvetica, sans-serif;
    }

    body {
        background-color: #D7F0FF;
        margin-left: 0px;
        margin-top: 0px;
        margin-right: 0px;
        margin-bottom: 0px;
    }

    -->
    </style>

      </head>
    <body>
      <h1 class="style1"> <br><br>Testing Login Required </h1>
      <span class="style3"><br>
      You <strong>must login to access this area </strong>of the site. <br>
      <br>
      If you are not a registered user, please contact your Admin
         to sign up for instant access!</span>
      <p><form method="post" action="<?=$_SERVER['PHP_SELF']?>">

        <span class="style3">User ID:&nbsp;&nbsp;&nbsp;&nbsp;    
        <input type="text" name="uid" size="12" />
        <br>
        <br />
        Password:</span>    
        <input type="password" name="pwd" SIZE="12" />
        <br>
        <br />
        <input type="submit" value="Login" />
      </form></p>

    </body>
      </html>
      <?php
      exit;
    }

    $_SESSION['uid'] = $uid;
    $_SESSION['pwd'] = $pwd;

    dbConnect("exceltron");
    $sql = "SELECT * FROM user WHERE
            userid = '$uid' AND password = '$pwd'";
    $result = mysql_query($sql);
    if (!$result) {
      error('A database error occurred while checking your '.
            'login details.\\nIf this error persists, please '.
            'contact you@example.com.');
    }

    if (mysql_num_rows($result) == 0) {
      unset($_SESSION['uid']);
      unset($_SESSION['pwd']);
      ?>

      <!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title> Access Denied </title>
        <meta http-equiv="Content-Type"
          content="text/html; charset=iso-8859-1" />
        <style type="text/css">
    <!--
    .style1 {
        font-size: 16px;
        font-family: Verdana, Arial, Helvetica, sans-serif;
    }
    .style3 {
        font-size: 12px;
        font-family: Verdana, Arial, Helvetica, sans-serif;
    }
    -->
    </style>  

      </head>
      <body>
      <br/>
      <br/>

      <h1 class="style1"> Access Denied </h1>
      <p class="style3">Your user ID or password is incorrect, or you are not a
         registered user on this site. To try logging in again, click
         <a href="<?=$_SERVER['PHP_SELF']?>">here</a>. To access, please contact our Admin !</a>.</p>
      </body>
      </html>
      <?php
      exit;
    }

    $username = mysql_result($result,0,'fullname');
    $_SESSION['user'] = mysql_result($result,0,'userid');
    ?>

db.php:

    <?php // db2.php this is only for accesscontrol.php

    $dbhost = 'localhost';
    $dbuser = 'exceltron';
    $dbpass = '********';

    function dbConnect($db='') {
        global $dbhost, $dbuser, $dbpass;

        $dbcnx = @mysql_connect($dbhost, $dbuser, $dbpass)
            or die('The site database appears to be down.');

        if ($db!='' and !@mysql_select_db($db))
            die('The site database is unavailable.');

        return $dbcnx;
    }
    ?>

常见的.php

    <?php // common.php

    function error($msg) {
        ?>
        <html>
        <head>
        <script language="JavaScript">
        <!--
            alert("<?=$msg?>");
            history.back();
        //-->
        </script>
        </head>
        <body>
        </body>
        </html>
        <?
        exit;
    }
    ?>
4

1 回答 1

0

打开错误报告并查看错误日志并检查 phpinfo() 那里有什么有趣的。

于 2013-02-26T09:07:50.243 回答