首先让我说我对 php 真的很陌生。我只是在学习用它编码。因此,如果有人对设置此代码的更有效方法有任何建议,我将很乐意接受。
好,进入正题:
对于这个站点,我们有一个脚本来检查会话、cookie 和数据库中的名称。如果在这些位置中的任何一个找到该名称,则将其分配给一个变量。如果不是,则名称取自 URL 或用户提交,然后添加到数据库和 cookie。这一切都是通过 if-then-elseif 语句完成的,并且在除注册页面之外的所有页面上似乎一切正常。注册页面是唯一实际使用从该脚本中提取的信息的页面。所有其他页面只需检查 cookie 和 db 记录,如果找不到则创建它们。
注册页面应该从前面的脚本中获取名称变量,检查数据库中名称等于名称变量的记录。此脚本首先检查名称提交(来自此页面上的单独表单)。如果找到一个,它将设置名称变量等于名称提交。接下来,它检查会话,然后从会话变量中提取名称变量。第三,它检查前一个脚本中的名称变量。它要么来自 cookie、数据库,要么来自创建这两个条目时设置的变量。
这就是问题所在:从会话中提取的变量或从 cookie 中提取的变量总是提取正确的信息。但是,对于提交名称、数据库中的名称或创建 cookie/db 时设置的变量,这些信息根本不会被提取出来。我设置了一个回显语句来在数据库查询中运行之前显示名称变量,并且名称总是正确显示。但是,似乎没有从数据库中提取任何内容。这是数据库查询:
echo $name_variable."<br>";
$query=mysql_query("SELECT * FROM db WHERE name='$name_variable' OR email='$name_variable'");
有什么想法可以解决这个问题吗?我希望这只是我忽略的一些简单的事情。如果需要,我可以发布代码,但它相当长。