나는 뒤죽박죽입니다. require.once를 사용하여 index.php 페이지 맨 위에 포함 된 SQL 로그인 정보 (호스트 이름, 데이터베이스, 사용자 이름, 비밀번호)가 포함 된 login.php 페이지가 있습니다. 로그인 정보는 원격 서버 또는 로컬 테스트 서버에 있는지 그리고 올바른 로그인 정보를 제공하는지 여부를 결정하는 조건문 내에 있습니다. 이제 이것이 이상한 곳으로, 원격 서버의 index.php 페이지로 직접 가면 테스트 서버에서 작동하지만 (데이터베이스와 연결되지 않은 것처럼) 작동하지 않습니다. 원격 서버의 login.php 사이트를 먼저 방문 (아무 것도 울리지 않음) 한 다음 원격 서버의 index.php 페이지를 방문하면 작동합니다. 캐시가 사용 중지되었습니다. 왜 이런 일이 일어나고 어떻게 해결할 수 있습니까? 먼저 http://distantfuturejosh.com/playground/pendingaxioms을 방문하여 작동 해보십시오 (작동하지 않음). http://distantfuturejosh.com/playground/pendingaxioms/login.php (빈 페이지가 제공됨)을 방문한 다음 http://distantfuturejosh.com/playground/pendingaxioms으로 돌아갑니다 (작동하고 이미지가 표시됨).SQL 로그인은 로그인 페이지를 방문한 후에 만 작동합니다.
<?php
$requesturi = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$pos = strpos($requesturi, "www.distantfuturejosh.com");
if ($pos === 0)
{
$db_hostname = "xxxxxxxx";
$db_database = "xxxxxxxx";
$db_username = "xxxxxxxx";
$db_password = "xxxxxxxx";
}
else
{
$db_hostname = "localhost";
$db_database = "xxxxxxxx";
$db_username = "root";
$db_password = "root";
}
?>
홈페이지와 다른 PHP 페이지에
login.php
을 사용자 로그인을 확인하고 포함 생각하지만, 그것은 영구적 인 상태 일 수 있습니다. '$ requesturi'와'$ pos'의 값을 반향하여 그들이 기대 한 바가 있는지보십시오. – jpmc26PHP 스크립트가 실행될 때마다 새 데이터베이스 연결을 만들어야한다는 점에 유의하십시오. –