php
2011-07-15 129 views 2 likes 
2

有没有办法运行一个PHP函数“fun();”只有登录用户多次访问页面时才使用一次?运行PHP函数一次

这里是函数。

<?php 

$connect = //connect to database 

function fun() 
{ 

    //loop declare begin 
    $quer = "SELECT * FROM sffedorvsdan WHERE username = '$_SESSION[username]'"; 

    if($quer_run = mysql_query($quer)) 
    { 
     while($row = mysql_fetch_assoc($quer_run)) 
     { 
      $pick1 = $row['pick1']; 
      $pick2 = $row['pick2']; 
      $pick3 = $row['pick3']; 
      $pick4 = $row['pick4']; 
      $pick5 = $row['pick5']; 
      $pick6 = $row['pick6']; 

      //loop end EXCEPT CLOSE 

      $user = $_SESSION['username']; 

      if($pick1 == '11') 
      { 

       $score = mysql_query(" 
        UPDATE stats SET score = (score + 10), mmascore = (mmascore + 10), 
        wins = (wins + 1), games = (games + 1) 
        WHERE username = '$user' 
       "); 

       return $score; 
      } 
      else if($pick1 == '21') 
      { 
       $score2 = mysql_query(" 
        UPDATE stats SET score = (score - 5), mmascore = (mmascore - 5), 
        games = (games + 1) 
        WHERE username = '$user'"); 

       return $score2; 
      } 
     } 
    }else{ 
     echo mysql_error(); 
    } 
} 

?> 
+0

如果您可以使用PHP5,则可以使用singleton/class/__构造。我不确定如何使用PHP4来做到这一点。 – Steven

回答

0

使用认证/会话并存储用户访问该页面的次数,例如数据库或平面文件。无论如何,您都需要坚持他们的访问计数。

+0

这是我最接近的答案。我存储在mysql数据库中,不管函数是否被用户调用过。在函数运行后,我刚刚在数据库中存储了一个数值,并添加了一条说明如果存储了该值的语句,请不要运行该函数。 – user830593

9
if(!isset($_SESSION['visitedOnce'])){ 
    fun(); 
    $_SESSION['visitedOnce'] = true; 
} 
1

你不能运行该函数,然后存储一个$_SESSION变量?例如:

if (!isset($_SESSION['function_ran']) || $_SESSION['function_ran'] != '1') { 
    fun(); // run function 
    $_SESSION['function_ran'] = '1'; 
} 
相关问题