1

私はそれがインストールされているかどうかをチェックする私が見つけたスクリプトを変更していますそして

-はいの場合、ログイン画面が表示されます

-そうでない場合は、インストール画面が表示されます。

オンラインでインストールすると正常に動作しますが、XAMPPでは動作しません

XAMPPではインストールはOKですが、管理者ルートに移動すると、インストール画面が表示され、次のようになります。

注意:セッションはすでに開始されています-2行目のC:\ xampp \ htdocs \ testa \ admin \ admin_config.phpのsession_start()を無視します

注意:未定義の変数:17行目のC:\ xampp \ htdocs \ testa\main_admin.phpのdbhost

注意:未定義の変数:17行目のC:\ xampp \ htdocs \ testa\main_admin.phpのdbuname

注意:未定義の変数:17行目のC:\ xampp \ htdocs \ testa\main_admin.phpのdbpass

注意:未定義の変数:18行目のC:\ xampp \ htdocs \ testa\main_admin.phpのdbname

XAMPPではなくWebサーバーで動作する理由がわかりません。

関連するファイルのコードは次のとおりです

config.php

<?php
$dbhost="localhost"; //It is usually "localhost"

$dbuname="user";     //Database Username

$dbpass="pass";          //Database Password

$dbname="test";     //Database Name
?>

admin / index.php

    <?php
    session_start();

header("Content-Type: text/html; charset=utf-8");

if (isset($_REQUEST["uname"]))
    {
    $uname=$_REQUEST["uname"];
    $pass=$_REQUEST["pass"];
    include('../config.php');
    $db=mysql_connect($dbhost, $dbuname, $dbpass);
    mysql_select_db($dbname, $db);
    $check_security=mysql_query("select * from settings where admin_id='$uname' and password='$pass'", $db);

    if ($rec=mysql_fetch_row($check_security))
        {
        header('Location: index.php');
        $_SESSION['testa']="testa";
        }
    else
        header('Location: index.php');
    include('../main.php');
    }
else
    {
    include('admin_config.php');

    if (!isset($_SESSION['testa']))
        {
        echo ('<script language="JavaScript"> 
        <!-- 
        function CheckForm(formID) { 
        if (formID.uname.value == "") { alert("' . _ADMIN_ENTER_USERNAME . '"); 
        formID.uname.focus(); return false; } 
        if (formID.pass.value == "") { alert("' . _ADMIN_ENTER_PASSWORD . '"); 
        formID.pass.focus(); return false; }        
        return true; 
        } 
        //--> 
        </script> ');

        echo ('<br><br><br><br><br><br><br><br><br>
<form method="POST" action="index.php" onSubmit="return CheckForm(this);" autocomplete="off">
    <div align="center">
        <table width="250" border="1"  height="118" dir="' . $rtl_input . '"><tr>
            <td height="22" colspan="2">

    <p align="center"><font face="Tahoma" color="#FFFFFF"><span style="font-size: 9pt"><b>' . _ADMIN_SYSTEM_ALERT . '</b></span></font></td></tr><tr>
                <td height="31">

    <p align="' . $align . '"><font face="Tahoma" color="#FFFFFF"><span style="font-size: 9pt">' . _ADMIN_USERNAME . ':</span></font></td>
                <td height="31">

    <p align="left"><input type="text" name="uname" dir="ltr" size="20"></td></tr><tr>
                <td height="31">
                <p align="' . $align . '"><font face="Tahoma" color="#FFFFFF">
                <span style="font-size: 9pt">' . _ADMIN_PASSWORD . ':</span></font>
                </td><td height="31">
                <p align="left">
    <input type="password" name="pass" dir="ltr" size="20"></td></tr><tr>
                <td colspan="2" valign="bottom" height="38">
    <p align="center"><font face="Tahoma"><span style="font-size: 9pt"><input type="submit" value="' . _ADMIN_ENTER . '" name="B1"></span></font></p>
    </td></tr></table>
    </div>
</form>');
        }
    else
        {
        echo ('blahblahblah.................blah');
        }
    }
?>

</body>

</html>

main_admin.php

<?php

include('config.php');

include('jdf.php');

$db=mysql_connect($dbhost, $dbuname, $dbpass);
mysql_select_db($dbname, $db);
$result=mysql_query("select * from settings where id = '1'", $db);

if (!$result)
    {
    include('language/farsi.php');

    echo ('<html dir="rtl">');

    include('header_admin.php');

    echo ('<SCRIPT LANGUAGE=JAVASCRIPT> 
    function dosubmit() { 
    document.forms[0].action = "users.php" 
    document.forms[0].method = "POST" 
    document.forms[0].submit() 
}</SCRIPT><script language="JavaScript"> 
        <!-- 
        function CheckForm(formID) { 
        if (formID.admin_id.value == "") { alert("' . _ADMIN_INSTALL_ENTER_USERNAME . '"); 
        formID.admin_id.focus(); return false; } 
        if (formID.password.value == "") { alert("' . _ADMIN_INSTALL_ENTER_PASSWORD . '"); 
        formID.password.focus(); return false; } 
        if (formID.password_confirm.value == "") { alert("' . _ADMIN_INSTALL_ADD_USER_ENTER_CONFIRM_PASSWORD . '"); 
        formID.password_confirm.focus(); return false; } 
        if (formID.password_confirm.value !== formID.password.value) { alert("' . _ADMIN_INSTALL_ADD_USER_PASSWORD_AND_CONFIRM_NOT_MATCH . '");
        formID.password.focus(); return false; } 
        return true; 
        } 
        //--> 
        </script> ');
    ///////////////////////

    echo ('<br /><br /><br /><br /><form method="POST" action="../install/" onSubmit="return CheckForm(this);"><div align="center">
                <table border="1" width="600" dir="rtl">
        ******************************************************
************************************blahblablah*************************************
    </table>
</div>
            </form>
            ');

    die();
    //////////////End form

    }
else
    {
    $rec=mysql_fetch_row($result);
    $system_language=$rec[3];
    include('language/' . $rec[3] . '.php');

    if ($rec[4] == 1)
        echo ('<html dir="rtl">');
    else
        echo ('<html>');
    $result_rtl=mysql_query("select * from settings where id = '1'", $db);
    $rtl_array=mysql_fetch_row($result_rtl);

    if ($rtl_array[4] == 1)
        {
        $system_align=$align="right";
        $system_rtl_input=$rtl_input="rtl";
        }
    else
        {
        $system_align=$align="left";
        $system_rtl_input=$rtl_input="ltr";
        }
    include('header_admin.php');
    }
//////////////bg
?>
4

1 に答える 1

-1

database nameわかりました。サーバーと同じフォームを使用している必要があります。

新しいテーブルを作成し、phpmyadminすべてのテーブルをサーバー データベースから xampp データベースにコピーし、dbname dbuname dbupassそれに応じて変更する必要があります。

編集:

もう1つ、サイトをxamppに再度インストールしてからconfig.phpを削除する場合

cms は最初に config.php をチェックする必要があるため、見つかった場合は db への接続を確立します。この場合、データベースが見つからず、出力が送信されます。これにより、セッション開始のエラーが生成されます。

于 2012-04-30T07:24:26.537 に答える