2016-01-24 24 views
7

W moim systemie internetowej mam 3 pliki te są database.php, functions.php, dashboard.phpJak przypisać wartość tylko po raz pierwszy

To jest jak mój plik dashboard.php wygląda

   <?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 jest jak poniżej

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

kiedy kliknął przycisk Go przekazywać dane do pliku functions.php i wraca do dashboard.php następnie ponownie $ i staje NULL. Czy mogę ustawić NULL tylko na pierwszy raz. Jeśli tak, jak to zrobić.

+3

'zostaną utracone $ Quizno ++' wartość powinna chyba najlepiej przechowywać ją w sesji. –

Odpowiedz

3

sklep $i w sesji i załadować go na każde żądanie, jeśli nie jest ustawiona w $_SESSION ustawić $i do 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> 
Powiązane problemy