0

共有ホスティング (Windows8 サーバー) でホストされている運用サーバーで正常に動作するログイン スクリプトがあります。

WindowsXPおよびUniServ(XAMPPまたはWAMPなど)であるローカルサーバー(インターネットに接続されていない)で試したときの同じスクリプト。空白の画面が表示されるだけです。

そこで、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');
    ?>

デシベル.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;
    }
    ?>

common.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 に答える