2012-09-29 4 views
0

그래서 마침내 설계 및 내 웹 사이트 구축, 그것은 하나의 페이지 (Front.php)는 사용자가 등록 할 수있는 등록을 포함한 모든 메뉴 옵션을 표시하고 다음 정보를 가져옵니다 데이터베이스에 저장됩니다. 지금 이해하고 구현해야 할 것은 사용자 계정입니다. 로그인 및 계정 관리에 대해 어떻게 생각해야하는지 이해하지 못합니다. 나는 그들이 로그인 할 수 있다는 것을 알고 있으며, 데이터베이스를 검색하여 사용자 이름을 찾을 수 있습니다. 일치하는 것이 있으면 로그인 할 수 있습니다. 그러나 그것이 처리되어야하는 곳, Front.php? 또는 Login.php라는 다른 파일이 있어야하나요? 그렇다면 로그인이 성공했을 경우 Front.php로 다시 리디렉션합니까?사용자 로그인 및 관리 단일 페이지 사이트에 통합

저는 기본적인 파일 구조에서 정말 상실감이 있습니다. 누군가 내가 이것에 대해 어떻게해야하는지 설명 할 수 있습니까?

내 페이지는 95 % jquery/html이며 PHP는 데이터베이스 기능에 삽입하는 것만으로합니다.

+0

[로그인 및 등록 시스템 (PHP 및 MySQL 포함)] 가능한 복제본 (http://stackoverflow.com/questions/4011097/login-registration-system-with-php-and-mysql) –

+0

암호 및 사용자 이름이 데이터베이스에있는 것과 일치하고 컴퓨터에 쿠키를 저장하면 모든 페이지에서 해당 쿠키를 읽습니다. 쿠키가 있고 그 안에있는 데이터가 괜찮 으면 로그인 한 페이지를 표시하고 그렇지 않은 경우 로그인하지 않은 페이지를 표시하십시오. –

+0

@therefromhere 음, 비밀번호와 세션에 대한 그런 종류의 도움. 염두에 두겠다.하지만 그것에 대해 질문이있다. 정보를 데이터베이스에 삽입 할 때 암호를 암호화 한 다음 저장합니까? 그렇다면 암호화가 필요한 경우 암호를 읽을 수있는 방법은 무엇입니까? –

답변

1

당신은 PHP를 사용해야합니다. 보통, 나는 모든 기능을 저장하기 위해 functions.php 파일을 생성하고 각 페이지의 헤드에 그것을 포함시킵니다. 내 함수 파일에는 항상 로그인이 있는지 확인하는 함수가 있습니다. 여기은 그대로입니다 :

function checkLogin($data) { 
    global $con; 
    extract($data); 
    $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'"; 
    $result = mysql_query($sql, $con) or exit('Eror selecting users database: '.mysql_error()); 
    $num_rows = mysql_num_rows($result); 
    if ($num_rows==0) { 
     return false; 
    } 
    else { 
     return true; 
    } 
} 

$con는 MySQL의 연결을 생성 내가 저장 전역 변수입니다. 모양은 다음과 같습니다.

$con = mysql_connect($host, $user, $pass); 

이 방법은 한 번만 정의하면됩니다. 그런 다음 자체 (front.php)에 양식을 제출하고 같은 것을 할 front.php에 : 모든 페이지의 머리를

if (isset($_POST['submit']) && isset($_POST['loginForm'])) { 
    if (!checkLogin($_POST)) { 
     $valid = false; 
    } 
    else { 
     Header('Location: dashboard.php'); 
    } 
} 

내가라는 파일 session.php이 코드를 삽입을하고 있습니다. 그래서이 경우에 front.php 파일의 상단과 같습니다.

<?php 
    include('session.php');include('functions.php'); 

의 I 그들을 분리 유지하는 이유는 기능에있는 모든 페이지에 로그인을 확인 할 필요가 없기 때문에입니다에 이 예에서는 로그인 양식 작업을 loginForm으로 설정하고 성공하면 dashboard.php로 리디렉션합니다. 아마도 세션을 쿠키로 저장하는 else 문에 뭔가를 넣어야합니다. 그러면 탭을 닫거나 브라우저를 종료 할 때마다 다시 로그인하지 않아도됩니다.