会话未正确递增

时间:2011-05-19 14:51:59

标签: php session

我一直致力于一个小项目,让我在情绪上开启和关闭。我在重新设计应用程序之前从一开始就遇到的问题是我尝试增加一个名为“Score”的会话,但由于某种原因它不会增加。在那个时候,我设法让这个工作,但在很短的时间内,我没有设法找到问题的根源。

该应用程序只是一个简单的单词转发器/实践者。我有.txt格式的单词列表,应用程序选择,删除行,并为每个单词提供自己的会话。然后它会选择一个随机单词并将其显示给用户。如果已经使用了单词(数组索引),它将处于“已使用”数组中,并且无法再次选择。

当用户出现一个单词时,他要输入正确的相应英语(拼音)单词。提交脚本后,将检查给定的POST值是否与存储在该单词的会话中的答案相对应。

现在,有一个名为'Score'的会话。除非用户的答案==会话的答案(经过测试才能正常工作),否则此会话不会更改。但是,当这两个答案相同时,会话不会增加。我试过用++;,+ 1;和+ = 1;,似乎没有一个工作。另外,我把表单提交到一个外部文件,试图减少看到逻辑的痛苦,万一你想知道。

我没有看到我可能错过逻辑的地方,并且非常感谢任何帮助,因为这个项目起初很有趣,但现在变得很麻烦:

Wordlists的结构如下:Cyrillic(RU)|语音(RU)|英国(回答)。

HTML(index.php):http://pastebin.com/3ePLtzuj

PHP(engine.php):http://pastebin.com/pyXR2U2s

POST-> PHP(wordcheck.php):http://pastebin.com/ZZxgkHkJ

1 个答案:

答案 0 :(得分:0)

  1. wordcheck.php:检查$ answer == $ result是否真的如此:var_dump($answer == $result);
  2. 你的engine.php不包括在你的wordcheck.php中,如果这很重要
  3. 在使用会话变量之前检查它们是否存在 - 例如:$wordNum = isset($_SESSION['wordNum']) ? $_SESSION['wordNum'] : 0;