我正在尝试创建一个简单的PHP注册和登录表单。 在将样式和HTML添加到register.php文件之前,所有内容都按预期工作。 现在,当点击Register时,没有任何事情可以发生任何事情。
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="wrapper">
<div class="form">
<?php
echo "<h1>Register</h1>";
$submit = $_POST['submit'];
// form data
$fullname = STRIP_TAGS($_POST['fullname']);
$username = STRIP_TAGS($_POST['username']);
$password = STRIP_TAGS($_POST['password']);
$repeatpassword = STRIP_TAGS($_POST['repeatpassword']);
$date = date("Y-m-d");
if ($submit)
{
if($fullname&&$username&&password&&$repeatpassword)
{
if ($password==$repeatpassword)
{
//check char length of username and fullname
if(strlen($username)>25||strlen($fullname)>25)
{
echo "Length of username or fullname is too long!";
}
else
{ //check password length
if (strlen($password)>25||strlen($password)<6)
{
echo "Password must be between 6 and 25 characters";
}
else
{ //register the user!
// encrypt password
$password = md5($password);
$repeatpassword = md5($repeatpassword);
//open database
$connect = mysql_connect("localhost", "Matt", "password123");
mysql_select_db("phpsignin");
$queryreg = mysql_query("
INSERT INTO users VALUES ('','$fullname','$username','$password','$date')`
");
die ("Thankyou for registering! <a href='index.php'> Return to login page</a>");
}
}
}
else
echo "Your passwords do not match!";
}
else
echo "Please fill in <b>all</b> fields!";
}
?>
<form id="login" action='register.php' method='POST'>
<fieldset>
<ol>
<li>
<label>Your Full Name:
<input type="text" name='fullname' value='<?php echo $fullname; ?>'>
</label>
</li>
<li>
<label>Choose a username:
<input type="text" name='username' value='<?php echo $username;?>'>
</label>
</li>
<li>
<label>Choose a password:
<input type="password" name='password'>
</label>
</li>
<li>
<label>Confirm Your Password:
<input type="password" name='repeatpassword'>
</label>
</li>
</fieldset>
<div id="buttonHolder">
<button type="submit" name="submit">Register</button>
</div>
</form>
</div>
</div>
</body>
</html>
答案 0 :(得分:2)
您的提交按钮没有value
,因此if ($submit)
永远不会是真正的值,并且您的逻辑分支永远不会运行。
答案 1 :(得分:1)
变化:
$submit = $_POST['submit'];
要:
$submit = $_POST;