2012-01-14 4 views
1

텍스트 상자를 만들었으므로이 데이터를 텍스트 파일에 쓰려고합니다. PHP 코드가 파일을 생성하고 있지만 데이터가 쓰여지지 않습니다.텍스트 상자에서 텍스트 파일로 데이터 쓰기

<html> 
<body> 
<form name="form" method="post"> 
<input type="text" name="text_box" size="50"/> 
<input type="submit" id="search-submit" value="submit" /> 
<? 
[email protected]$_POST["text_box"]; 
$myFile = "t.txt"; 
$fh = fopen($myFile, 'w') or die("can't open file"); 
fwrite($fh,$a); 
fclose($fh); 
?> 

답변

1

양식의 제출 조치는 "get"이지만 PHP 코드에서 $ _POST로 변수를 가져옵니다. $ _GET 대신 사용해보십시오.

+0

도움이되지 않았습니까? – Pink

0

$a가 있습니까 데이터 : 아래 내 코드? echo을 시도해보십시오. 또는 $_POSTprint_r 번 시도하십시오.

편집 : 양식의 방법은 get이지만, $_POST을 사용하려고합니다. $_GET 또는 $_REQUEST을 사용하십시오.

1

양식에서 GET 요청을 보내고 있지만 $_POST["text_box"]에 액세스하려고합니다. 이를 $_GET['text_box']으로 변경하거나 POST 대신 양식 메소드를 사용해보십시오.

+0

내가 그것을 변경 모두 "GET"과 "후"하지만 여전히 나는 $ _REQUEST 시도 파일 – Pink

1

당신은 단지 당신의 PHP 코드를 대체 할 수

양식이 표시 될하지 않을 때 또한, 양식이 실제로 제출 한 경우에만 덮어 쓰기됩니다 해당 파일을 보장
if ($_REQUEST) { 
    file_put_contents("t.txt", $_REQUEST["text_box"]); 
} 

.

+0

에 쓸 수 있지만, 그것은 여전히 ​​텍스트 파일 – Pink

+0

활성화는 error_reporting에 기록하지 않습니다 . – mario

+0

사용 가능하지만 아무런 오류도 발생하지 않았습니다. – Pink

3

내가보기에 가장 큰 문제는 PHP 태그를 열지 않는다는 사실입니다. 당신은

<? 

을하지만

<?php 

다음, 방법은 당신이 $ _POST를 호출하고 파일을 작성해야하며, 물건 먼저뿐만 아니라 브라우저에 양식을로드 할 때이 실행된다는 것을 의미합니다. PHP 엔진은 첫 번째 실행과 연속 실행을 구분하지 않습니다. 즉, 사용자가 아무 것도 제출하지 않더라도 양식이 표시된 스크립트의 실행으로 작성된 빈 파일이 계속 남아 있음을 의미합니다. 그것은 부작용입니다. 코드를 조금 수정했습니다. 여기에 필자의 :

<html> 
    <body> 
     <form name="form" method="post"> 
      <input type="text" name="text_box" size="50"/> 
      <input type="submit" id="search-submit" value="submit" /> 
     </form> 
    </body> 
</html> 
<?php 
    if(isset($_POST['text_box'])) { //only do file operations when appropriate 
     $a = $_POST['text_box']; 
     $myFile = "t.txt"; 
     $fh = fopen($myFile, 'w') or die("can't open file"); 
     fwrite($fh, $a); 
     fclose($fh); 
    } 
?> 
+0

위 코드를 사용 했는데도 여전히 아무 것도하지 않으며 t.txt 파일도 생성되지 않습니다. – Pink

+0

@Pink very strange. 그 코드는 32 비트 윈도우 XP에서 내 wamp에서 작동합니다. 너 셋업은 뭐니? 아마도 파일 권한 오류가있는 것 같습니다. – davogotland

+0

wamp 또는 xampp을 사용하지 않고 64 비트 창에서이 스크립트를 실행하고 있습니다. 7. 파일 사용 권한이 전혀 없습니다. – Pink

관련 문제