我的网站正在努力实现登录,您必须要求其他人接受您访问主页。脚本的相关部分看起来像这样
require_once("konfiguration.php");
$abfrage = "SELECT nick FROM login";
$db_erg = mysqli_query($db_link, $abfrage);
$counter = 0;
$cache = array();
while($zeile = mysqli_fetch_array($db_erg, MYSQL_ASSOC)) {
$cache[$counter]['nick'] = $zeile['nick'];
$counter++;
}
$fail = true;
$nope = "Der Nick-Name existiert nicht";
for($i = 0 ; $i <= $counter ; $i++) {
if($cache[$i]['nick'] == $asknick) {
$fail = false;
break;
}
}
if(!$fail) {
require_once("konfiguration.php");
$eintrag = "INSERT INTO `homepage`.`request` (from, to, accepted, id) VALUES ('".$benutzername."', '".$asknick."', '0', '')";
$eintragen = mysqli_query($db_link, $eintrag);
if(!$eintragen) {
die("Es gab einen unerwarteten Fehler beim registrieren..");
}
$eintrag2 = "INSERT INTO `homepage`.`login` (id, nutzername, passwort, loginhash, nick, email) VALUES ('', '".$benutzername."', '".md5($password)."', '".$hashwert."', '".$nickname."', '".$email."')";
$eintragen2 = mysqli_query($db_link, $eintrag2);
if(!$eintragen2) {
die("Es gab einen unwerarteten Fehler beim registrieren..");
}
session_start();
setcookie("username", $benutzername);
?>
在您插入一个人的昵称后,我将接受您,我从数据库中选择所有人已经注册和接受的所有昵称。如果昵称存在,我试图写入另一个数据库(你可以在$ eintrag中看到)谁想要被接受,谁接受他,他已经被接受了。问题是,每次尝试它都会失败($ eintragen = false)。我无法看到错误。 我有什么遗失的吗?
答案 0 :(得分:0)
我找到了解决方案。 显然你不允许我们“从”和“到”,甚至不在表结构中。我在MySQL-Table中将“from”和“to”更改为“person1”和“person2”,调整了代码并完美运行。
答案 1 :(得分:0)
还有更多保留字,这就是为什么我总是喜欢在表和列上使用前缀。比如table&#34; login&#34;将其命名为&#34; t_login&#34;,而不是字符串列&#34;来自&#34;使用&#34; s_from&#34;。通过这种方式,您的代码更易于阅读,并且可以避免与保留字冲突。