2013-10-30 3 views
-1

server.when에 업로드 할 때 내 PHP 코드가 작동하지 않습니다. 로컬 호스트에서이 코드를 실행 중입니다 .why ??서버에 업로드 할 때 PHP 코드가 작동하지 않습니다.

<?php 
ob_start(); 
include 'CUserDB.php'; 
session_start(); 
include 'config.php'; 
$myusername=$_POST['txtusername']; 
$mypassword=$_POST['txtpassword']; 
$typ= $_POST['type']; 
$myusername = stripslashes($myusername); 
$mypassword = stripslashes($mypassword); 
$typ = stripslashes($typ);  
$myusername = mysql_real_escape_string($myusername); 
$mypassword=mysql_real_escape_string($mypassword); 
$typ = mysql_real_escape_string($typ);   
     try { 
      $oUser = new CUserDB(); 
      $result = $oUser->Login($myusername,$mypassword,$typ); 
      } 
     catch (PDOException $pe) 
     { 
      die("Error occurred:" . $pe->getMessage()); 
     } 
    if($result[0][0][UserName] != '') 
     { 
      session_start(); 
      $_SESSION['UserId'] = $myusername; 
      if($typ == "Dealer") 
      { 
      header('location:Dealer/ManageProfile.php'); 
      } 
      else if ($typ == "Individual") 
      { 
      header('location:Individual/managep.php'); 
      } 
      else 
      { 
      header('location:Builder/managep.php'); 
      } 
     } 
    else 
    { 
    header('location:header.php'); 
    } 
?> 

이 내가이 페이지는 그것이 checklogin.php 페이지에 남아 로그인 페이지 후 리디렉션 doesent 서버에 called.but지고 로그인에 server.after 클릭에서이 작업을 실행하고 때 checklogin 페이지입니다. 왜 이것이 서버에서 발생하고 있습니까?

+0

오류 로그에 어떤 것이 있습니까? '헤더가 이미 전송되었습니다 .' 오류 일 수 있습니다 ... – Konsole

+0

서버에서 * 무슨 일이 일어나고 있습니까? PHP 코드가 서버에 의해 해석되고 있습니까? (또는 렌더링 된 페이지 소스에서 보입니까?) PHP 로그에 오류가 있습니까? 웹 서버가 기록합니까? 코드에 디버깅 및 로깅을 추가하면 어디에서 어떻게 실패합니까? – David

+0

나는 왜 투표를했다? 나는 질문을 할 수 없다. – dvirus

답변

2

위치 헤더, http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html에있어서, 절대 URI, 예 같아야

Location: http://yourserver/header.php 

또한 적절한 헤더 이름 Location이며, 대문자.
콜론 문자와 헤더 값 사이에 공백 문자가 있어야합니다.

는 PHP 문서에 따르면

당신은 일반적으로 $ _SERVER을 사용할 수 있습니다 [ 'HTTP_HOST'], $ _SERVER [ 'PHP_SELF'] 및 dirname() 상대 한 자신에서 절대 경로를 만들 수 있습니다 :

<?php 
/* Redirect to a different page in the current directory that was requested */ 
$host = $_SERVER['HTTP_HOST']; 
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); 
$extra = 'mypage.php'; 
header("Location: http://$host$uri/$extra"); 

지금, 나는 또 다른 문제가있을 수 있습니다, 당신이 그들을 쓴로 리디렉션이 작동하지 않습니다 확실히 말할 수는 없지만 가능한 한 많은 HTTP 프로토콜을 존중하려고한다 호환성 문제를 피하십시오.

+0

여전히 작동하지 않습니다. – dvirus

+0

질문에 자세한 내용을 입력해야합니다. 이것이 코드에서 다소 잘못된 것으로 나타나기 때문입니다. 보이지 않는 오류가 있어야합니다. XDebug와 함께 작동하는 IDE로 코드를 디버깅 해보십시오. 그러면 많은 도움이 될 것입니다. – SirDarius

1
  1. 코드에 구문 오류가 없는지 확인하십시오. http://phpcodechecker.com/과 같은 것이 정상적으로 작동합니다.
  2. 포함 할 파일을 실제로 포함했는지 다시 확인하십시오. 대신 필요에 맞게 변경하고 결과를 확인하십시오.
  3. PDO 확장이 있고 작동하는지 확인하십시오. 빠른 phpinfo()을 실행하고 사용 설정을 확인하십시오.
  4. 오류를 사용하도록 설정하고 아직 사용하지 않은 경우 오류를 사용 설정합니다.
관련 문제