2012-10-23 120 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

相关问题