2010-03-23 6 views
0

안녕하세요. 저는 PHP와 PostgreSQP 또는 그 데이터베이스의 모든 데이터베이스가 새로 도입되었습니다. 그래서 나는 이것을 어떻게 할 수 없게되었습니다.등록 양식 확인 PostgreSQL은 이미 사용자 이름이 사용되었습니다.

나는 if 문이 필요합니다.

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

변수는에 입력 한 사용자가 $ userNameSignup

가 어떻게 PostgreSQL을 위해 PHP로 그렇게 할 것이라는 이름?

또한 제대로 양식을 완성하면 어떻게 사람들을 새 페이지로 리디렉션 할 수 있습니까? .

감사 셸비

+1

내가 드래그를 싶지 않아^그것을 생각하지만, 당신이 정말로 로그온/사용자 등록을 구축 계획 (읽기 : 보안) 시스템 * 당신이 사용하는 도구에 대한 지식이 * 없습니까? 어쩌면 더 간단한 것으로 시작하는 것이 좋은 생각 일 것입니다. 그냥 선생님. – Tomalak

+0

사실 내 양식은 95 %가 내가 요청한 것 외에는 오류없이 완료되었습니다. PHP를위한 실제 응용 프로그램을 배우고 싶습니다. 그래서 실제로 사용하려고하는 것으로 넘어 갈 것입니다. 로그인 ... 나는 내 뇌가 폭발하는지 10 년이 걸릴지 걱정하지 않는다. 나는 알고 있어야하고 배울 필요가있다. 그러나 더 빠르면 좋고 지금까지는 개인적으로 – MrEnder

+0

을 배울 수있는 가장 빠른 방법입니다. 프로그래밍에 익숙하지 않은 것은 아니며 서버 측 프로그래밍에 익숙하지 않습니다. – MrEnder

답변

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 login WHERE lower (username) = $ 1', array ($ userNameSignup))를 사용하는 것이 훨씬 낫습니다. 보안 문제를 일으키는 작은 실수에 더 빨리 그리고 덜 수긍 할 것입니다. –

+0

나는 그걸 시도했는데 가능하지 않은 것 같아서 잘못 사용한 것 ... – MrEnder

+0

또한 PDO를 살펴 보길 강력히 권합니다 : http://php.net/pdo –

관련 문제