2011-03-12 3 views
0

다음은 내 웹 사이트에있는 폴더의 문서 트리입니다. 내 HTML 양식에서 action 속성은 delete_post.php 값을 보유합니다. /do/delete_post/index.php로 작업을 변경했을 때 작동하지 않습니다. 어떻게하면 이것을 바꿀 수 있을까요? do/delete_post/index.php 또는 다른 것이 작동하도록하려면 어떻게해야합니까? PHP 파일을 하위 폴더로 옮겼습니다. 더 이상 작동하지 않습니다.

index.php 파일 은 다음과 같습니다 :

<?php 
session_start(); 
if (!isset($_SESSION['user']) || empty($_POST['id'])) 
    { 
    header("Location: /"); 
    die(); 
    } 
require_once(dirname(__FILE__) . '/includes/db.php') 
$stmt2 = $db->prepare('DELETE FROM posts WHERE id = ?'); 
if (!$stmt2->execute(array($_POST['id']))) 
    { 
    print_r($stmt2->errorInfo()); 
    die(); 
    } 
header("Location: /"); 

?> 

내가 index.php에이 게시물을 삭제하는 데 실패 다음 페이지에 PHP에 jQuery를 사용하여 Ajax 요청을합니다.

+0

방법이 작동하지 않습니다 대신 상대 경로를 사용하는

그래서,은 다음 사용할 수 있습니까? 양식을 보낼 때 어떤 오류가 있습니까? 어떤 URL이 정확히 끝나나요? –

+0

아약스를 사용하고 있습니다. (패킷 스니퍼를 사용하지 않는 한 오류가 실제로 표시되지 않습니다.) –

+0

@inquisitive 왜 Firebug의 "Net"탭을 사용할 수 없습니까? 추측보다 훨씬 낫습니다. 이것은 우리가이 단계에서 할 수있는 전부입니다. –

답변

0

/do/delete_post/index.php로 이동할 수 있습니까? (오류 또는 PHP error_log에서 볼 수 있습니다)?

내가 생각 중 하나

의 include_path가

- 또는

의 .htaccess로 다시 작성 일부 URL을 발행합니다. 루트 디렉토리에 .htaccess 파일이 있습니까?

0

워크 플로우 내에 파일을 포함합니까?

상대 경로를 사용하는 경우 항상 실행중인 스크립트가있는 디렉토리 인 현재 작업 디렉토리 (CWD)에 상대적입니다.

delete_post.php의 폴더를 변경하고 상대 경로가있는 다른 스크립트를 포함하는 스크립트를 포함하는 경우 CWD가 달라 지므로이 스크립트는로드되지 않습니다.

include dirname(__FILE__) . '/data.inc.php'; 
+0

당신이 옳다고 생각합니다. 내 index.php 안에 내가 루트/포함/db.php에있는 파일을 포함 해야하는이 코드 줄을 (아래에 표시) 어떻게 내 문제를 해결하기 위해 아래의 PHP 라인을 변경할 수 있습니까? require_once ('/ includes/db.php'); –

+0

@inquisitive_web_developer : 아니요,'/ includes/db.php'는 리눅스 설치의 루트에서 시작하는 절대 경로이기 때문에 ... 당신의 파일이 거기에서 해석되는 것은 의심 스럽습니다 ... 그러나'require_once (dirname (__FILE__). '/includes/db.php')'. –

+0

나는 당신이 말한 것을 시도했다. 여전히 작동하지 않습니다. 나는 그것이 도움이되는지 질문에 index.php의 근원을 추가했다. –