2011-08-15 6 views
-1

제가 작성한 스크립트가 javascript와 php를 모두 사용하려고 시도한다는 것을 알게되었습니다. 누구든지 내가하고 싶은 것을 성취 할 수있는 방법을 말해 줄 수 있습니까? 내가 원하는 것은 버튼을 클릭하면 서버의 파일에 쓰게됩니다. 여기에 내가 작성한 코드 :버튼을 사용하여 PHP 함수를 적용하는 방법

<html> 
<head> 
<?php 
function change_html(){ 
    $myFile = "testFile.html"; 
    $fh = fopen($myFile, 'w') or die("can't open file"); 
    $stringData = "Hello\n"; 
    fwrite($fh, $stringData); 
    $stringData = "World!\n"; 
    fwrite($fh, $stringData); 
    fclose($fh); 
    } 
?> 
</head> 
<body> 
<input type="button" onclick="change_html()" Value="Continue"> 
</body> 
</html> 

감사합니다.

+0

PHP 스크립트와 같이 서버 측 스크립트와 상호 작용하려면 JavaScript를 사용하는 AJAX를 사용해야합니다. – Nightfirecat

+0

웹 페이지로 이동하여 마우스 오른쪽 버튼을 클릭하고 "소스보기"를 클릭하십시오. 작성한 PHP 코드는 존재하지 않습니다. 그것은 서버에서 실행되었고, 그 코드의 출력은 브라우저로 보내진 것입니다. 이것이 PHP와 다른 서버 측 프로그래밍이 작동하는 방법입니다. 브라우저가 웹 페이지를 요청하고 웹 서버가 코드를 실행 한 다음 응답을 브라우저에 출력합니다. 링크를 클릭하거나 양식을 제출하면 서버에 대한 새로운 요청, 파일을 작성하는 것과 같은 코드를 실행할 수있는 새로운 기회가 만들어집니다. StackOverflow에 질문을 올렸을 때 SO를 저장하기 위해 양식을 제출해야했습니다. –

+0

@Nightfirecat 그는 AJAX를 사용할 필요가 없습니다. 그가 자바 스크립트를 혼동했기 때문에 PHP가 비동기식으로이 작업을 수행해야한다는 것을 의미하지는 않습니다. –

답변

0

PHP에서이 작업을 수행하려면 단추가 양식을 제출하고 PHP 스크립트가 가리키는 PHP 스크립트가 필요합니다.

<form action="writefile.php" method="post"> 
<input type="submit" value="Continue" /> 
</form> 

- 그 스크립트가 다시 형태로 재 지정할 수 있습니다

<?php 
//writefile.php 
file_put_contents("testFile.html", "Hello\nWorld!\n"); 
?> 

당신이 원하는 경우 :

<?php 
//writefile.php 
file_put_contents("testFile.html", "Hello\nWorld!\n"); 
header("Location: yourpage.php"); 
?> 
+0

Dan, 고맙습니다. 이것은 매력처럼 작동했습니다. –

1

그렇게 할 수 없습니다. PHP는 서버 측이고 JavaScript는 클라이언트 측입니다.

  1. 사용 JS 클라이언트에서 스크립트를 실행하는 페이지 안타 Ajax 호출을 발사 : 당신은 두 가지 옵션이 있습니다.

  2. 버튼을 스크립트를 실행하는 양식을 제출하게하십시오.

+0

정확히 내가 말하려고 한 것 –

+0

두 가지 옵션 중 하나를 사용하여 그의 질문에 대답 할 예정입니까? 이것은 답이 아니라 주석입니다. –

1

PHP와 Javascript가 실제로 무엇인지 이해해야합니다 : 서버 측 및 클라이언트 측 언어. PHP는 서버에서만 작동하며 HTTP 요청 (브라우저 또는 Ajax)을 통해 클라이언트와 통신 할 수 있습니다. 반면 Javascript는 클라이언트 측 언어이며 브라우저 창에서만 작동 할 수 있습니다. 즉, 페이지를 수정할 수 있습니다. 그러나 Ajax 요청을 통해 서버와 통신 할 수는 있습니다.

에 대해 자세히 알아보십시오. PHP와 Javascript가 실제로 무엇입니까? HTML 코드가 절대적으로 유효성을 확인하지는 않습니다.

실제 작업 내용을 이해하면 파일을 수정 한 PHP 스크립트에 대한 Ajax 요청을 작성하거나 입력 버튼을 양식 (실제로는 필수)에 추가하고 양식을 파일을 수정하는 PHP 스크립트. 후자가 더 좋은 방법이라고 생각합니다.

+0

두 가지 방법 중 하나를 사용하여 질문에 대답해야합니다.이것은 그의 질문에 대한 대답이 아니며 (버튼을 클릭 할 때 파일을 쓰는 방법) 확장 된 주석입니다. –

+0

@ Dan Grossman : 나는 이것처럼 사소한 질문을 할 때 복사해서 붙여 넣는 해결책을 써야한다고 생각하지 않는다. Dave가 이것을 이해하지 못한다면 나는 그가 훌륭한 스크립트를 쓸 수있을 것이라고 생각하지 않습니다. 그래서 Alex와 jondavidjohn은 저를 올바른 방향으로 안내합니다. 아무도하지 않는다면 데이브는 실제로 이것이 어떻게 작동 하는지를 결코 알지 못할 것입니다 ... – Frog

+0

그게 코멘트 박스가있는 것입니다. 답은 무엇을위한 것이 아닙니다. 토론 포럼이 아닙니다. –

1
<html> 
<head> 
<?php 
if(isset($_GET['change_html'])) change_html(); 

function change_html(){ 
    $myFile = "testFile.html"; 
    $fh = fopen($myFile, 'w') or die("can't open file"); 
    $stringData = "Hello\n"; 
    fwrite($fh, $stringData); 
    $stringData = "World!\n"; 
    fwrite($fh, $stringData); 
    fclose($fh); 
    } 
?> 
</head> 
<body> 
<form action="?change_html=true" method="GET"> 
<input type="submit" Value="Continue"> 
</form> 
</body> 
</html> 
+0

안녕하세요, 제리, 도와 줘서 고마워. 이것은 나를 위해 잘 작동하지 않았지만 나는 100 % 그것이 나와 관계가있다 !! 다시 한 번 감사드립니다! –

관련 문제