2012-10-23 4 views
1

가능한 중복 :
PHP script not working in HTML file

나는이 있습니다

<?php 
if(isset($_POST['submit'])){ 
    $f = fopen('counter.txt', 'r+'); 
    flock($f, LOCK_EX); 
    $total = (int) fread($f, max(1, filesize('counter.txt'))); 
    if (isset($_POST['submit'])) { 
     rewind($f); 
     fwrite($f, ++$total); 
    } 
    fclose($f); 
} 
?> 

을 그리고 그것은 txt 파일에서 작동합니다. 클릭 수를 정확히 계산합니다. 그러나이 양식은 :

Times submited <?php echo $total; ?>. 

내 양식이있는 index.html 파일에서 작동하지 않습니다. 제발 도와 주실 수 있습니까?

이 내 파일의 라인 :

  1. 형태 (index.html을)
  2. .PHP 파일
  3. 헤더 ("위치 : thankyou.php") 인덱스의 뒤쪽으로
  4. .html
+2

우리가 도와주고, 내 의견으로는, 더 HTML을 필요 했어. – digitlworld

+2

PHP 코드는'.html' 파일에서 (보통) 실행되지 않습니다. '$ total'과 같은 변수는 다른 페이지 요청에 대해서도 지속되지 않습니다. 카운터 파일을 다시 읽어야합니다. – mario

+0

쿠키 또는 세션 변수에 $ total을 저장하여 어느 페이지에서나 액세스 할 수 있습니다. 또한 .php를 사용하여 작동하십시오. –

답변

1

먼저, php는 html 파일에서 실행되지 않습니다. 서버에서 파일을 처리 할 수 ​​있도록 파일을 PHP로 만들어야합니다.

그래서 텍스트 파일에서 작동합니다. 가 될 HTML이있는 경우

, 당신은이를 사용할 수 있습니다

http://php.about.com/od/advancedphp/p/html_php.htm

을 둘째, 그것은 다른 PHP 파일에 알려진되지 않도록 $ 총 변수가 글로벌되지 않습니다, 당신은 get 또는 post를 사용하여 전달하거나 첫 번째 html 파일에 PHP를 포함시켜야합니다.

나는 후자와 함께 갈 것이다.

+0

글쎄, 그것은 htaccess 파일을 너무 많이 d 주위에 놀게하지 않는 것이 놀라운 일은 아닙니다. php를 html 파일로 옮기고 html에서 php로 변경해보십시오. – will

+0

Do (if empty ($ _ post [ 'submit'])) {} 또한 게시판을 사용하지 마십시오 ... – will

+0

너무 혼란스럽고 .php의 초보자가 ... – Paul

0

파일에 기록하지 않고 클릭 수를 계산하려면 전역에 있지 않으며 단일 요청을 초과하여 지속되지 않기 때문에 세션에 클릭 수를 저장해야합니다. 이것은 모두 .php 파일에서 수행되어야합니다.

<?php 
$total = 0; 

if(isset($_POST['submit'])){ 
  1. 가 증가하기 전에 다시 $의 총에 세션에서 값을 읽습니다.

    if(isset($_SESSION["total"])) 
        $total = $_SESSION["total"]; 
    

이 증가 $ 총

$total++; 
  1. 저장 $ 총 다시 세션

    $_SESSION["total"] = $total; 
    } 
    
  2. 에 그럼 당신은 총을 인쇄 할 수 있습니다.

    echo 'Times submited: ' . $total .'.'; 
    ?> 
    
+0

$ total = 0; if (isset if (isset ($ _ SESSION [ "total"])) $ total = $ _SESSION [ "total"]; $ total ++; $ _SESSION [ "total"] = $ total; \t} echo '제출 된 시간 :'. $ total. '; **** 아직 작동하지 않았습니다. 여전히 은 index/html에 표시되지 않습니다. 그래도 고맙습니다. – Paul

관련 문제