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