我是PHP的新手,所以我很難找到我的錯誤,而這個我根本找不到。 我的代碼根本沒有註冊用戶提交,我不知道爲什麼它不執行最後一段代碼。 - 在「插入」功能時停止。註冊表單不執行所有代碼
有什麼建議嗎?
<?php
session_start();
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Member system version 1.0</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<header>
<h1>Simpelt login system</h1>
</header>
<nav>
<ul>
<li><a href="./">Forside</a></li>
<li><a href="login.php">Log ind</a></li>
<li><a href="register.php">Registrer dig</a></li>
<li><a href="memberpage.php">Medlemsside</a></li>
<li><a href="contact.php">Kontakt</a></li>
</ul>
</nav>
<section>
<aside>
<ul>
<li><h3>Lille test overskrift</h3></li>
<li></li>
</ul>
</aside>
<article>
<?php
if($_POST['registerbtn']) {
$getuser = $_POST['user'];
$getemail = $_POST['email'];
$getpass = $_POST['pass'];
$getconfirmpass = $_POST['confirmpass'];
if ($getuser){
if ($getemail) {
if ($getpass) {
if ($getconfirmpass) {
if ($getpass === $getconfirmpass) {
if ((strlen($getemail) >= 7) && (strstr($getemail, "@")) && (strstr($getemail, "."))) {
require("connect.php");
$query = mysql_query("SELECT * FROM users WHERE username='$getuser'");
$numrows = mysql_num_rows($query);
if ($numrows == 0) {
$query = mysql_query("SELECT * FROM users WHERE email='$getemail'");
$numrows = mysql_num_rows($query);
if ($numrows == 0) {
$getpass = md5(md5("Jasdl".$getpass."SDa823k"));
$date = date("F, d Y");
$code = md5(rand());
mysql_query("INSERT INTO users VALUES(
'', '$getuser', '$getpass', '$getemail', '0', '$code', '$date'
)");
$query = mysql_query("SELECT * FROM users WHERE username='$getuser'");
$numrows = mysql_num_rows($query);
if ($numrows == 1) {
$site = "http://localhost:8888/php-projekter/login-projekt";
$webmaster = "Kasper Legarth <[email protected]>";
$headers = "From: $webmaster";
$subject = "Aktivering af din konto";
$message = "Tak fordi du oprettede en konto, for at aktivere din konto skal du klikke på nedstående link.\n";
$message .= "$site/activate.php?user=$getuser&code=$code\n";
$message .= "Du skal aktivere din konto for at kunne logge ind.";
if (mail($getemail, $subject, $message, $headers)) {
$confirmpass_error = "DET VIRKER!!!!";
$getuser = "";
$getemail = "";
}
else
$confirmpass_error = "Der skete en fejl, din mail blev ikke sendt";
}
else
$confirmpass_error = "Der skete en fejl, din bruger blev ikke oprettet";
}
else
$email_error = "Den email er allerede i brug";
}
else
$user_error = "Det brugernavn er desværre allerede taget";
mysql_close();
}
else
$email_error = "Du skal bruge en gyldig email";
}
else
$confirmpass_error = "Dine adgangskoder er ikke ens";
}
else
$confirmpass_error = "Du skal skrive din kode igen";
}
else
$pass_error = "Du skal vælge en adgangskode";
}
else
$email_error = "Du skal indstate din email";
}
else
$user_error = "Du skal indtaste et brugernavn";
}
$form = "<form action='register.php' method='post'>
<h2>Opret din egen konto</h2>
<p>Ønsket brugernavn:
<br><input type='text' name='user' value='$getuser' placeholder='Brugernavn' />
<br><small>$user_error</small></p>
<p>Din email adresse:
<br><input type='text' name='email' value='$getemail' placeholder='Email adresse' />
<br><small>$email_error</small></p>
<p>Vælg en adgangskode:
<br><input type='password' name='pass' value='' placeholder='Adgangskode' />
<br><small>$pass_error</small></p>
<p>Gentag adgangskode:
<br><input type='password' name='confirmpass' value='' placeholder='Gentag' />
<br><small>$confirmpass_error</small></p>
<p><input type='submit' name='registerbtn' value='Registrer dig' /></p>
</form>";
echo $form;
?>
</article>
</section>
<footer>
Copyright © 2013 - Design: <a href="http://kaspersunivers.dk">Kasper Legarth</a>
</footer>
</body>
</html>
你面臨什麼問題?不要只顯示代碼,詳細說明您的問題,以便我們可以幫助您。此外,還有幾種方法可以使您的代碼更具可讀性。不告訴我們,mysql函數輸出了什麼? –
INSERT INTO users >>>(?,?,?,?,?)<<< VALUES'? '$ ????? =「什麼?」;'[**'INSERT' **](http://beginner-sql-tutorial.com/sql-insert-statement.htm) - 你沒有告訴要插入的東西。 –
這段代碼有太多的錯誤,不可能從任何一件事情開始。如果你肯定是你的mysql語句,你可以執行mysql_query(「QUERY HERE」)或死(mysql_error());與錯誤的原因死去... – skrilled