2013-02-26 369 views
0

上安裝我有工作正常託管共享主機(Windows8的服務器)上的生產服務器上的登錄腳本。PHP會話登錄腳本本地服務器

本地服務器(未連接到互聯網),這是WindowsXP和UNISERV(如XAMPP或WAMP)上嘗試時相同的腳本。它只是給一個空白的屏幕。

於是,我測試了幾個腳本,如果在阿帕奇/ 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 [email protected]'); 
    } 

    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 [email protected]_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; 
    } 
    ?> 

回答

0

打開錯誤報告和調查錯誤日誌和檢查phpinfo()什麼是有趣的。

+0

我檢查了日誌,這是行:[Tue Feb 26 15:56:19.646495 2013] [access_compat:error] [pid 3864:tid 584] [client 172.166.0.212:2618] AH01797:client denied by服務器配置:C:/ UniServer/www/----下一步是什麼? – 2013-02-26 10:27:54

+0

它與PHP腳本無關,只是錯誤的Apache設置。這裏有幾個來自谷歌的鏈接。 http://stackoverflow.com/questions/8413042/client-denied-by-server-configuration http://wiki.apache.org/httpd/ClientDeniedByServerConfiguration – 2013-02-26 10:44:19

+0

非常感謝你的幫助,我只是做了一個小的變化兩個文件 - 在<?後添加'php'它工作得很好。 – 2013-02-26 10:49:14