2012-10-23 152 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存儲在cookie或會話變量中,以便在任何頁面中進行訪問。也可以使用.php來工作 –

回答

1

那麼首先,php不會在html文件中執行。您需要將該文件製作成一個php文件,以便服務器對待它。

這就是爲什麼它在文本文件中工作。其次

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

,在$總變量不是全局的,所以它不會在不同的php文件是已知的,您:

如果它是HTML,您可以使用此將要麼使用get或post來傳遞它,要麼將php包含在第一個html文件中。

我會選擇後者。

+0

好吧,這並不奇怪,他們不會讓你玩htaccess文件太多。嘗試將php移入html文件並將其從html更改爲php。 – will

+0

如果(!空($ _ post ['submit']){} 也使用get not post。 – will

+0

我很困惑,所以新手在.php中.... – Paul

0

要在不寫入文件的情況下統計點擊次數,您需要在會話中存儲點擊次數,因爲它不是全局性的,也不會持續超出單個請求。這一切都需要在.php文件中完成。

<?php 
$total = 0; 

if(isset($_POST['submit'])){ 
  1. 遞增之前,請閱讀從會話值回$總。

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

2增量$總

$total++; 
  1. 商店$總回會議

    $_SESSION["total"] = $total; 
    } 
    
  2. 然後你就可以打印出總。

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

$ total = 0; if(isset ($ _POST ['submit'])){ if(isset($ _ SESSION [「total」])) $ total = $ _SESSION [「total」]; $ total ++; $ _SESSION [「total」] = $ total; \t} echo'Times submited:'。$ total。'。'; ****它不起作用仍然<?php echo $ total;?>不會出現在索引/ html中。儘管非常感謝你的時間。 – Paul

相關問題