2016-01-24 3 views
7

В моей веб-системы У меня есть 3 файлов те database.php, functions.php, dashboard.phpКак присвоить значение только в первый раз

Это как мой файл dashboard.php выглядит

   <?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 как ниже

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; 
} 

когда я нажал представить данные кнопки перейти в файл functions.php и возвращаются к dashboard.php затем снова $ я становлюсь NULL. Я могу назначить NULL только для первого раза. Если да, как я могу это сделать.

+3

'$ Quizno ++' 'ы значение будет потеряно, если вы не храните его в сессии. –

ответ

3

магазин $i в сессии и загрузить его в каждом запросе, если он не установлен в $_SESSION установить $i в 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> 
Смежные вопросы