首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PhP登录/注册系统

PhP登录/注册系统
EN

Stack Overflow用户
提问于 2012-03-23 21:52:06
回答 3查看 7.8K关注 0票数 0

我发现这个关于使用PhP和MySQL创建登录/注册系统的很好的教程。这个论坛已经有5年的历史了(去年编辑的),但它仍然是有用的。

Beginner Simple Register-Login system

登录和注册页面似乎都有问题。

代码语言:javascript
复制
<?php 

function register_form(){ 

$date = date('D, M, Y'); 
echo "<form action='?act=register' method='post'>" 
."Username: <input type='text' name='username' size='30'><br>" 
."Password: <input type='password' name='password' size='30'><br>" 
."Confirm your password: <input type='password' name='password_conf' size='30'><br>" 
."Email: <input type='text' name='email' size='30'><br>" 
."<input type='hidden' name='date' value='$date'>" 
."<input type='submit' value='Register'>" 
."</form>"; 

} 

function register(){ 

$connect = mysql_connect("host", "username", "password"); 
if(!$connect){ 
die(mysql_error());
} 

$select_db = mysql_select_db("database", $connect); 
if(!$select_db){ 
die(mysql_error()); 
} 

$username = $_REQUEST['username']; 
$password = $_REQUEST['password']; 
$pass_conf = $_REQUEST['password_conf']; 
$email = $_REQUEST['email']; 
$date = $_REQUEST['date']; 


if(empty($username)){ 
die("Please enter your username!<br>"); 
} 

if(empty($password)){ 
die("Please enter your password!<br>"); 
} 

if(empty($pass_conf)){ 
die("Please confirm your password!<br>"); 
} 

if(empty($email)){ 
die("Please enter your email!"); 
} 


$user_check = mysql_query("SELECT username FROM users WHERE username='$username'"); 
$do_user_check = mysql_num_rows($user_check); 


$email_check = mysql_query("SELECT email FROM users WHERE email='$email'"); 
$do_email_check = mysql_num_rows($email_check); 


if($do_user_check > 0){ 
die("Username is already in use!<br>"); 
} 

if($do_email_check > 0){ 
die("Email is already in use!"); 
} 


if($password != $pass_conf){ 
die("Passwords don't match!"); 
} 


$insert = mysql_query("INSERT INTO users (username, password, email) VALUES      ('$username', '$password', '$email')"); 
if(!$insert){ 
die("There's little problem: ".mysql_error()); 
} 

echo $username.", you are now registered. Thank you!<br><a href=login.php>Login</a> |     <a href=index.php>Index</a>"; 

} 

switch($act){ 

default; 
register_form(); 
break; 

case "register"; 
register(); 
break; 

} 

?>

一旦按下register按钮,页面什么也不做,字段被擦除,并且不会在数据库内添加任何数据或给出错误。我认为问题可能出在switch($act){部件上,所以我删除了它,并使用require更改了页面

代码语言:javascript
复制
require('connect.php');

connect.php在哪里

代码语言:javascript
复制
<?php
mysql_connect("localhost","host","password");
mysql_select_db("database");
?>

删除了function register_form(){echo部件,将其转换为HTML代码:

代码语言:javascript
复制
<form action='register' method='post'> 
Username: <input type='text' name='username' size='30'><br>
Password: <input type='password' name='password' size='30'><br>
Confirm your password: <input type='password' name='password_conf' size='30'><br> 
Email: <input type='text' name='email' size='30'><br> 
<input type='hidden' name='date' value='$date'>
<input type='submit' name="register" value='Register'> 
</form>

我没有使用function register(){,而是使用了if($register){

因此,当注册按钮被按下时,它会运行php代码,但这个编辑似乎也不起作用。那么问题会是什么呢?如果需要,我可以在我的域上重新添加此代码

登录页面也有同样的问题,当按下清空字段旁边的按钮时没有任何反应。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-24 06:09:56

不要紧,伙计们,我找到了一个不同的视频演示教程。就像一种护身符。My Page添加了登录/注册系统。

如果有人需要,请使用Tutorial。谢谢你的回复,我很感谢,我会加1的。

票数 0
EN

Stack Overflow用户

发布于 2012-03-23 22:05:06

您是否回显了$_REQUEST数据并检查了它们是否被正确获取?

票数 1
EN

Stack Overflow用户

发布于 2012-03-23 22:06:06

代码语言:javascript
复制
<?php
    if (!isset($_POST))
        register_form();
    else
        register();

使用上面的代码更改开关部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9840391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档