停止脚本重新运行页面刷新

时间:2018-02-05 07:26:25

标签: php mysql

我正在开发一个能力测试应用程序。但是在测试期间,当我点击刷新按钮时,我的脚本会重新运行并显示新问题。当用户点击刷新按钮时,我不想重新调整我的问题。当用户点击刷新按钮或返回并再次开始测试时,我想停止运行PHP脚本。除非用户回答所有问题并按下继续按钮,否则问题集不应更改。

<form name='form1' method='post' action='mmpi-test.php'>
                                                        <?php

@mysql_connect("localhost" ,"root","");

@mysql_select_db("epsychotherapist");

$querya = mysql_query("SELECT lq FROM `u_profile` WHERE Uid = '$Uid'");
//mysql_query($querya) ;
//$lq = '';
$rowa = mysql_fetch_array($querya);
$lq = $rowa['lq'];
//$lq = 10; 

$query = mysql_query("SELECT * FROM `mmpi` WHERE Id >'$lq' LIMIT 5");




 while($rows = mysql_fetch_array($query)):
    $q = $rows['Id'];
    $qus = $rows['Question'];
    echo" <p>&nbsp;</p>";
    echo "<div class='tab-pane active' id='profile'>
            <table class='table'>
                <tbody>
                    <tr>&nbsp;$qus 
                        <td class='td-actions text-right'>

                                <div class='radio'>
                                    <label>
                                       <font color='#777'>True</font> <input type='radio' name = 'answer[$q]' value = '1'>
                                    </label>
                                    <label>
                                       <font color='#777'>False</font> <input type='radio' name = 'answer[$q]' value = '0'>
                                    </label>
                                </div>



                        </td>
                    </tr>
                </tbody>
            </table>
        </div>";
    endwhile;
?>
<?php
$sql = "UPDATE u_profile SET lq='$q' WHERE Uid = '$Uid'" ;
                        mysql_query($sql);
                        $lq = $q;
                        $_SESSION['lq'] = $lq;
echo"
<button type='submit' name='next' class='btn btn-primary pull-right'>Continue >> $q $lq</button>
";

?> </form>

我正在维护一个会话

<?php
/* Displays user information and some useful messages */
session_start();

// Check if user is logged in using the session variable
if ( $_SESSION['logged_in'] != 1 ) {
  $_SESSION['message'] = "You must log in before viewing your profile page!";
  //header("location: ../error.php");    
}
else {
    // Makes it easier to read
    $first_name = $_SESSION['first_name'];
    $last_name = $_SESSION['last_name'];
    $email = $_SESSION['email'];
    $Uid = $_SESSION['Uid'];
   // $active = $_SESSION['active'];
}
?>

1 个答案:

答案 0 :(得分:0)

&#34;除非用户回答所有问题并按下继续按钮,否则问题集不应更改。&#34;

我猜你自己已经回答了这个问题。

1)一旦生成问题集,请记住它。

考虑在数据库中创建一个新表,用于存储包含他/她自己的问题集的某人的会话,并且应该至少有一个指示器注意到该问题集是否已经创建。

CREATE TABLE `TBL_question_set` (
  `userid` varchar(20) NOT NULL,
  `question1` varchar(20) NOT NULL,
  `question2` varchar(20) NOT NULL,
  `question3` varchar(20) NOT NULL,
  `question4` varchar(20) NOT NULL,
  `question5` varchar(20) NOT NULL,
  `createdyet` tinyint(1) NOT NULL
)
  

按用户ID检查脚本顶部的表格   分配给他/她(可能是会话用户ID)。如果它存在,只是   从表中读取它们而不是你自己的问题db。

2)现在您应该知道何时清除问题集的记录。

我认为您可以自己决定何时清除问题集的记录。

  

也许当会话ID不同或用户点击了   &#39;继续&#39;按钮。

3)特此,我想提一下你们中的一些人可能感兴趣的事情

但有点偏离主题。当我开始编写一些PHP脚本来创建我自己的成员登录系统时,就像大多数人一样,从在线演示代码中复制并粘贴。有一天,我发现一些东西很有趣,但也可能非常可怕

  

这些示例代码通常确定用户是否处于状态   &#39;登录&#39;通过检查他/她的$ _SESSION [&#39; logged_in&#39;]!= 1。

是的,也许并不重要。由于会话ID将在一段时间后过期,但是,如果用户在您的数据库中被删除,他/她将无权再访问您的网站。在此期间,他/她仍然可以访问您的网站,这不是您的期望。

因此,我建议再添加一条规则:

  

当用户登录时,检查您的用户ID是否仍然存在   数据库!!

祝你好运。