我正在尝试制作我的学校项目,并想制作一个登录系统和注册系统。。。我的登录查询很好,但我的注册正在慢慢进行。。。我已经在这里呆了3-4个小时了,我现在哭了。。。。我什么都做了。。。。所以在我迫切需要的时候,我问这个社区。。。请立即提供我迫切需要的答案……问题是……我似乎无法将我输入表格的数据输入……我不知道背后的原因是什么
if($_POST['registerbtn'])
{
$getuser = $_POST['user'];
$getemail = $_POST['email'];
$getpass = $_POST['pass'];
$getconfirmation = $_POST['confirmation'];
if($getemail){
if($getuser){
if($getpass){
if($getconfirmation){
if( $getpass === $getconfirmation ){
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){
$date = date("F d, Y");
$code = rand();
mysql_query("INSERT INTO users VALUES('', '$getuser', '$getemail', '$getpass', '$date' )");
mysql_query("SELECT * FROM users WHERE username='$getuser'");
$numrows = mysql_num_rows($query);
if($numrows == 1){
}else
$errormsg = "An Error Has Occurred. Account Not Processed";
}else
$errormsg ="There is already a user with that email.";
}else
$errormsg ="There is already a user with that username.";
mysql_close();
}else
$errormsg = "You must enter a valid email address";
}else
$errormsg = "Your passwords did not match";
}else
$errormsg = "Confirm your password";
}else
$errormsg = "You must enter your password";
}else
$errormsg = "You must enter your username";
}else
$errormsg = "You must enter your email address";
}
$form = "<form action='./register.php' method='post'>
<table>
<tr>
<td></td>
<td><font color='red'>$errormsg</font></td>
</tr>
</table>
<fieldset>
<legend>Account</legend>
<input type='text' name='user' size='15' value='$getuser'/>:Username<br/>
<input type='text' name='email' size='15'value='$getemail'>:Email<br/>
<input type='password' name='pass' size='15' value=''/>:Passcode<br/>
<input type='password' name='confirmation' size='15' value=''/>:Confirmation<br/>
<br/>
<input type='submit' name='registerbtn' value='EAT ME'/>
</fieldset>
</form>";
echo "$form";
?>
若您在同一页面提交表单。
$form = "<form action='' method='post'>
试试这个。。
if(isset($_POST['registerbtn']))
而不是
if($_POST['registerbtn'])
以及如果Connect.php和注册在同一个文件夹中,则使用require("Connect.php");
(如果在文件夹外),然后给出正确的路径
首先,如果不将变量设置为",则需要检查变量是否已设置(registerbtn除外)。
像这样:
<?php
if(isset($_POST['registerbtn']))
{
...
} else {
$getuser = $getemail = $errormsg = "";
}
$form = "<form action='./register.php' method='post'>
<table>
<tr>
<td></td>
<td><font color='red'>$errormsg</font></td>
</tr>
</table>
<fieldset>
<legend>Account</legend>
<input type='text' name='user' size='15' value='$getuser'/>:Username<br/>
<input type='text' name='email' size='15'value='$getemail'>:Email<br/>
<input type='password' name='pass' size='15' value=''/>:Passcode<br/>
<input type='password' name='confirmation' size='15' value=''/>:Confirmation<br/>
<br/>
<input type='submit' name='registerbtn' value='EAT ME'/>
</fieldset>
</form>";
echo "$form";
如果数据库部分没有任何问题,它应该可以工作。
在if条件之一中,即:
if($numrows == 1){
}else
$errormsg = "An Error Has Occurred. Account Not Processed";
这是不需要的,因为if($numrows == 0 )
的其他部分会处理它。
将<form action='./register.php' method='post'>
更改为<form action='' method='post'> or <form action='#' method='post'>