복붙노트

PHP 경로를 찾지 못하는 오류 포함

PHP

PHP 경로를 찾지 못하는 오류 포함

나는이 작은 코드를 가지고있다. 실제로이 코드는 레지스터가 켜져 있는지 확인하고 로그인 버튼 다음에 표시하는 로그인 스크립트이다.

   <?php
include("../inc/db.php"); 
if(isset($_POST['user']) && isset($_POST['pass']))
{
    $password = $_POST['pass'];
    $username = $_POST['user'];

    $sql = "SELECT * FROM `users` WHERE `user` = '".$username."' AND `password` = '".$password."'";
    $rez = $pdo->query($sql);   
    if($rez->fetchColumn()  > 0)
    {
        ...

    }
    else {echo '<p align="center">...</p>';}
    }
    else { echo '<p align="center">...</p>'; }
    }
    ?>
    <table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
    <tr>
    <form name="form1" method="post" action="login">
    <td>
    <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
    <tr>
    <td colspan="3"><strong>Member Login </strong></td>
    </tr>
    <tr>
    <td width="78">Username</td>
    <td width="6">:</td>
    <td width="294"><input name="user" type="text" id="user"></td>
    </tr>
    <tr>
    <td>Password</td>
    <td>:</td>
    <td><input name="pass" type="password" id="pass"></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><input type="submit" name="Submit" value="Login"></td>
    </tr>
    <?php $sql = "SELECT setare FROM setari WHERE nume_setare = 'OPEN_REG'";
    $openreg = $pdo->query($sql)->fetch();
    if($openreg['setare'] == 1)
    {
     ?>
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><a href="register">Inregistrare</a></td>
    </tr><?php } ?>
    </table>
    </td>
    </form>
    </tr>
    </table>

내 문제는이 줄 :

그리고 나는 내가 틀린 곳에서 그것을 알아낼 수 없다. 경로가 정확하고 로그인 버튼을 누르면 작동합니다. 로그인 버튼에 사용자 이름과 비밀번호를 함께 입력하면 경고가 사라집니다. 그러나, 그것을 처음 열 때 포함되지 않습니다. 이 로그인 파일은 사이트의 색인에 포함됩니다.

해결법

  1. ==============================

    1.해당 파일에 대한 경로가 분명히 잘못되었습니다. 이는 파일에 대한 상대 경로를 사용하고 파일을 다른 디렉토리에 배치하기 시작할 때 일반적으로 발생합니다. 이 문제를 피하려면 파일의 전체 시스템 경로를 사용해야합니다.

    해당 파일에 대한 경로가 분명히 잘못되었습니다. 이는 파일에 대한 상대 경로를 사용하고 파일을 다른 디렉토리에 배치하기 시작할 때 일반적으로 발생합니다. 이 문제를 피하려면 파일의 전체 시스템 경로를 사용해야합니다.

    include("/path/from/root/to/inc/db.php"); 
    

    일반적인 일은 웹 파일의 루트 경로를 정의하는 변수 또는 상수를 정의하는 것입니다. 그렇게하면 호스트가 변경되므로 한 곳에서 변경하면됩니다.

    설정 파일에서 :

    define('ROOT_PATH', '/path/from/root/to/');
    

    귀하의 PHP 파일;

    include(ROOT_PATH . "inc/db.php"); 
    
  2. from https://stackoverflow.com/questions/24412322/php-include-error-not-findind-the-path by cc-by-sa and MIT license