0

ログインするとログインページがリロードされ続けるというこれに対するほとんどの解決策を読みましたが、それでもうまくいきません。さまざまなブラウザーでログインしてみました (残念ながら、ここには safari と firefox しかありません)。エラーを出力するコードに errorStr がありますが、ユーザー名またはパスワードを入力しなくてもエラーはありません。何があってもリロードし続けるだけです。

私は PHP プログラミングの初心者で、古い PHP Web サイトにアクセスしようとしています。

これは、SQLサーバーが接続されているmyfunctions.phpです。

class mysql_db
{

    function openCityPassSQL()
{
        $dbhostname="localhost:8889";
        $dbusername="root";
        $dbpassword="root";         
                    $dbname="ticketing";


        MYSQL_CONNECT($dbhostname,$dbusername,$dbpassword) OR DIE("Unable to connect to database...");
        @mysql_select_db("$dbname") or die("Unable to select database..."); }

    function executeQuery($query)
    {
        return MYSQL_QUERY($query);
    }

    function executeUpdate($query)
    {
        return MYSQL_QUERY($query);
    }

    function numRows($result)
    {
        return MYSQL_NUM_ROWS($result);
    }

    function fetchRow($result)
    {
        return mysql_fetch_array($result);
    }

    function closeSQL()
    {
        MYSQL_CLOSE();
    }
}

ここに私のindex.phpがあります

<?
ini_set('display_errors','1');

$found_msisdn = false;

$temp = $HTTP_COOKIE_VARS["User-Identity-Forward-msisdn"];

if (($temp != null) && ($temp != "")) {
$len = strlen($temp);
$msisdn = "+";
for ($i=0;$i<$len;$i++) {
    if (($i % 2) == 1)
        $msisdn = $msisdn . $temp[$i];
}

$found_msisdn = true;
}     

if (!$found_msisdn) {
//get SMART's MSISDN
$network    = $HTTP_SERVER_VARS["HTTP_X_NETWORK_INFO"];

//GPRS,639218025160,515031808225161,10.155.9.87,unsecured

$info   = explode(",", $network);
$msisdn = $info[1];

if (($msisdn != null) && ($msisdn != "")) {
    $msisdn = "+" . $msisdn;
    $found_msisdn = true;
}
}

if ($found_msisdn) {
$msisdn = urlencode($msisdn);
}

if (preg_match("/vnd.wap.wml/",$_SERVER['HTTP_ACCEPT'])){ 
header("Location: http://wap.surfshop.net.ph/citypass/index.wml?msisdn=$msisdn"); 
exit; 
} 


require ("myfunctions.php");
session_start();
$_showform=true;

$errorStr="";
$_username="";
$_password="";

$conn=new mysql_db();
$conn->openCityPassSQL();

if (isSet($a_exit) && $a_exit=="1") 
{
session_unregister("verified_user");
$_showform=false;
header("Location: index.php");
}

if (isSet($submitform))
{
$_username=$username;
$_password=$password;

//if (!nameIsValid($_username)) $errorStr=$errorStr.($errorStr!=""?"<br>":"")."Invalid User ID.";
//if (empty($_password) || !passwordIsValid($_password)) $errorStr=$errorStr.($errorStr!=""?"<br>":"")."Invalid Password.";

if (empty($_username)) {
    $errorStr = "Invalid username<br>";
}
if (empty($_password)) {
    $errorStr .= "Invalid password<br>";
}
if (empty($errorStr))
{
    $tid = 0;

    $query="SELECT Password, PASSWORD('$password') FROM tblUser WHERE UserID='$_username'";
    //echo "query:$query<br>";
    $result=$conn->executeQuery($query);
    $numRows=$conn->numRows($result);

    if ($result && $numRows>0) {
        $RS=mysql_fetch_array($result);
        $pass1=$RS[0];
        $pass2=$RS[1];
        if ($pass1 == $pass2) {
            $query = "SELECT EstabID FROM tblEstabUser WHERE UserID='$_username'";
            $result=$conn->executeQuery($query);
            $RS=mysql_fetch_array($result);
            $tid = $RS[0];

            $admin = false;
            $query = "SELECT UserID FROM tblAdminUser WHERE UserID='$_username'";
            //echo "query:$query<br>";
            $result=$conn->executeQuery($query);
            $numRows=$conn->numRows($result);
            if ($numRows > 0) {
                $admin = true;
                $tid = $numRows[1];             //initialize to a value for links to work
            }

            $verified_user = array($_username, $tid, ($admin?"1":"0"));
            session_register("verified_user");

            $errorStr = "Welcome $_username!<br>";  
            $_showform = false;
            header("Location: index2.php");
        }
        else {
            $errorStr = "Invalid username/password (PA)<br>";
        }
            }
    else {
        $errorStr = "Invalid username/password (NR)<br>";
    }
}
}

index2.php

session_start();
$_showform=true;
if (!session_is_registered("verified_user"))
{
    $_showform=false;
    header("Location: index.php");
}
else
{    
list($username,$estabid,$admin)=$verified_user;
if (empty($username))
{
    $_showform=false;
    header("Location: index.php");
}

}

if ($_showform)
{
?>
<html>
<head>
<title><?=$applicationName?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">

<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
  <td>
<?include("header.php");?>
  </td>
</tr>

<?
    //if ($errorStr!="")
    if ($username!="")
    {
?>
            <tr>
            </tr>
            <tr>
              <td><font face="Verdana" size="2">&nbsp;</font></td>
            </tr>
<?
    }
?>


<tr>
  <td>
    <table border="0" cellpadding="0" cellspacing="0">
      <tr>

        <td valign="top">
<?include("menu_in.php");?>
        </td>

        <td valign="top">
           <table width="100%" border="0" cellpadding="0" cellspacing="0">

             <tr>
               <td>
               </td>
             </tr>

           </table>
        </td>


          </tr>
        </table>
      </td>
    </tr>

  </table>
</body>
</html>

<?
}
?>

エラーの内容はよくわかりませんが、スクリプトが古くて MAMP がクエリを処理できないのではないでしょうか? 私はただのインターンです。

これらは私が遭遇した次のエラーです:

Notice: 未定義のインデックス: /Applications/MAMP/htdocs/ticketing/index.php の 6 行目の User-Identity-Forward-msisdn

注意: 未定義のインデックス: HTTP_X_NETWORK_INFO /Applications/MAMP/htdocs/ticketing/index.php の 21 行目

Notice: Undefined offset: 1 in /Applications/MAMP/htdocs/ticketing/index.php 行 26

警告: session_start() [function.session-start]: セッション キャッシュ リミッターを送信できません - ヘッダーは既に送信されています (出力は /Applications/MAMP/htdocs/ticketing/index.php:6 で開始) /Applications/MAMP/htdocs/ticketing /index.php 45 行目

4

2 に答える 2

0

on which page it redirects do you know?

Note: SELECT UserID FROM tblAdminUser WHERE UserID='$_username' (i know its not relevant but is USERID col belongs to username?)

于 2012-05-02T06:27:16.113 に答える
0

あなたが提供したエラー情報は、それを明確に示しています

$HTTP_COOKIE_VARS["User-Identity-Forward-msisdn"];
$HTTP_SERVER_VARS["HTTP_X_NETWORK_INFO"];

完全に空です。

使ってください

print_r($HTTP_COOKIE_VARS);
print_r($HTTP_SERVER_VARS);

値が存在するかどうかを確認します。これらの配列に値がある場合、3 番目の問題

Notice: Undefined offset: 1 in /Applications/MAMP/htdocs/ticketing/index.php on line 26

自動的に解決されます。

于 2012-05-02T05:39:08.980 に答える