2016-01-24 16 views
7

Nel mio sistema web ho 3 file quelli sono database.php, functions.php, dashboard.phpCome assegnare un valore solo per la prima volta

Questo è come il mio file dashboard.php assomiglia

   <?php 

       $i=NULL; 
       if(isset($_POST['next'])) 
       { 
        $i=getQuizes($i); 
       } 

      ?> 
      <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
       <input name="next" value="Next" type="submit"> 
      </form> 

functions.php è come sotto

function getQuizes($quizNo) 
{ 
    if($quizNo==NULL) 
    { 
     $quizNo=0; 
    } 
    include_once('database.php'); 
    $sql = "SELECT * FROM quiz LIMIT ".$quizNo.",1"; 
    $result = $conn->query($sql); 
    while($row=$result->fetch_assoc()) 
    { 
     echo $row['question'],$quizNo; 
    } 
    $quizNo++; 
    return $quizNo; 
} 

quando ho cliccato i dati presentare pulsante vai al file functions.php e torna al dashboard.php poi di nuovo $ i diventa nulla. posso assegnare NULL solo per la prima volta. Se sì, come posso farlo.

+3

'saranno persi $ Quizno ++ valore' s 'a meno che non lo si memorizza nella sessione. –

risposta

3

negozio $i in sessione e caricarlo in ogni richiesta, se non è impostato in $_SESSION set $i al NULL

<?php 
    $i = isset($_SESSION['next']) ? $_SESSION['next'] : NULL; 
    if(isset($_POST['next'])) 
    { 
     $i = getQuizes($i); 
     $_SESSION['next'] = $i; 
    }?> 
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
     <input name="next" value="Next" type="submit"> 
    </form> 
Problemi correlati