2015-12-30 39 views
2

我試圖讓我的測驗工作。我遇到的問題是,當我得到我的代碼工作時,我可以看到我的數據表的內容與我的單選按鈕一起,四個答案按照相同的ID(qid)排序。PHP:測驗答案顯示出來,直到我按下了下一個按鈕一次

我多次按下下一個按鈕之後,我無法看到頁面上的任何內容,甚至嘗試多次刷新瀏覽器。如何在我的網頁上再次看到我的問題?我如何防止這種情況再次發生?我使用的是谷歌瀏覽器,但我已經在Firefox和Internet Explorer上試過了,但沒有任何效果。

PHP/HTML

<?php 

$localhost = "localhost"; 
$username = "root"; 
$password = ""; 
$connect = mysqli_connect($localhost, $username, $password) or die ("Kunde inte koppla"); 
mysqli_select_db($connect, 'wildfire'); 

session_start(); 
$qid = isset($_SESSION['qid']) ? $_SESSION['qid']+1 : 1; 
$_SESSION['qid'] = $qid; 

ob_start(); 

echo "<form>"; 
$sql1 = mysqli_query($connect,"SELECT * FROM question where qid ='$qid'"); 

while($row1=mysqli_fetch_assoc($sql1)) 
    echo "<input type='radio' name='answer1' value='{$row1['Point']}'>{$row1['answer']}<br>"; 

echo "<input type='submit' name='forward' value='next'>"; 
echo "</form>"; 


$output = ob_get_clean(); 
?> 

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
    </head> 
    <body> 
     <?php echo $output; ?> 
    </body> 

</html> 
+0

僅使用php和html,使用戶感覺網站過於老舊。使用jQuery和Ajax,使其更加用戶友好。不僅如此,刷新頁面太多次,會影響您的帶寬。 – Manikiran

+0

但是我如何做這項工作,我寧願不使用AJAX,因爲我不是那麼熟悉它?奇怪的是,這是工作的初衷,我敢肯定我沒有想象的東西。 –

+0

在循環之外使用按鈕 – devpro

回答

1

試試這個:

<? 
$localhost = "localhost"; 
$username = "root"; 
$password = ""; 
$connect = mysqli_connect($localhost, $username, $password) or die ("Kunde inte koppla"); 
mysqli_select_db($connect, 'wildfire'); 

$qid = (!isset($_POST['qid']) && intval($_POST['qid']) == 0) ? 1 : $_POST['qid']+1; 

?> 
<html> 
    <head> 
     <meta charset="utf-8"> 
    </head> 
    <body> 
     <form method="post" action=""> 
      <input type="hidden" name="qid" value="<?=$qid?>"> 
      <?php 
       $sql1 = mysqli_query($connect,"SELECT * FROM question where qid =".intval($qid)); 
       while($row1=mysqli_fetch_assoc($sql1)){ 
       ?> 
       <input type='radio' name='answer1' value="<?php echo $row1['Point'];?>"><?php echo $row1['answer'];?><br> 
       <?php 
       } 
      ?> 
      <input type='submit' name='forward' value='next'> 
     </form> 
    </body> 

</html> 

什麼樣的變化?

我使用$_POST爲QID ID而不是SESSION,因爲當你刷新你需要取消設置會話值的頁面,所以店裏QID爲$_POST,而不是$_SESSION

+0

嗯。我在表單中的行上得到了四個錯誤。 「未定義的變量」和期待更多的參數等。但他們已被定義,這真的很奇怪。 –

+0

@PHPScrub:我已經更新了,使用<?php echo而不是<?= – devpro

+0

好吧,我現在沒有錯誤。但是我仍然得到和我問這個問題之前一樣的結果。我需要讓前八個問題再次可見。 –

相關問題