2010-03-23 66 views
0

嘿我真的很陌生,PHP和PostgreSQP或任何数据库在这个问题。所以我不知道该怎么做。注册表格检查PostgreSQL是用户名已被采纳

我需要一个if语句说。

If(the username user just typed in is already in database) { 
    my code here 
} 

变量的用户名,只是在键入用户为$ userNameSignup

我会怎么做,与PHP PostgreSQL的?

另外,如果他们正确完成表格,我又该如何将人员重定向到新页面? 。

感谢 谢尔比

+1

我不想成为一个累赘,但你真正建设一个登录/用户注册规划(阅读:安全)系统*不知道你使用的任何工具*也许从简单的事情开始就是个好主意。只是在说'。 – Tomalak 2010-03-23 00:26:47

+0

实际上我的表格完成了95%,除了我所要求的内容外没有任何错误。我想学习PHP的真实生活应用程序,所以我将跳转到实际使用它的目的。登录...我不在乎我的大脑是否会爆炸,我需要10年时间才能发现。我需要知道并且需要学习。但越快越好,到目前为止,这是我个人学习最快的方式 – MrEnder 2010-03-23 00:34:19

+0

以及我并不陌生编程我只是服务器端编程的新手。 – MrEnder 2010-03-23 00:36:37

回答

1
ini_set('error_reporting', E_ALL); 
    ini_set('display_errors', 1); 

    $result = pg_query('SELECT 1 FROM logins WHERE LOWER(userName)=\''.strtolower(pg_escape_string($userNameSignup)).'\'') or exit(pg_last_error()); 

    if (pg_num_rows($result)) { 

     $userNameSignupError = 'Username already taken please choose a new one.'; 
    } 

终于想通了^^

+2

使用$ result = pg_query_params('SELECT 1 FROM logins WHERE lower(username)= $ 1',array($ userNameSignup))你会更好,它会更快,更容易受到导致安全问题的小错误的影响。 – 2010-03-23 07:27:02

+0

我试过了,它似乎不工作,可能我用它错了... – MrEnder 2010-03-24 03:23:50

+0

此外,我强烈建议你看看PDO:http://php.net/pdo – 2010-08-04 00:20:50

相关问题