2013-01-18 4 views
0

나는 아직도 "새로운"학습을하고 있기 때문에 누군가가이 과정을 평신도의 용어로 설명하는 것을 도울 수 있기를 바라고 있습니다.여러 사용자가 백엔드에 액세스하고 데이터를 저장하는 방법?

저는 백엔드가있는 기본적인 콘텐츠 관리 시스템을 구축했으며, 수십 명의 사용자가 서비스에 액세스하여 계정에 데이터를 저장하고 나중에 해당 데이터를 다시 호출 할 수있는 시스템을 만들려고합니다. 그들이 선택했다.

지금까지 로그인, 등록 및 양식 (데이터 저장)을 완료했습니다. 필자는 PHP를 사용하여 MySQL에서이 데이터를 저장하는 방법을 모르는 시점에 있으며 수십 명의 사용자가 모두 데이터를 저장할 수 있습니다.

예 : 수십 명의 사용자가 WordPress에 액세스하여 자신의 계정에 다른 사용자의 소식을 볼 수 없지만 게시물을 만들 수 있습니다.

하나의 계정을 설정하여 데이터를 저장하는 방법을 알고 있습니다. 배수가 아닙니다.

모든 조언을 주시면 감사하겠습니다.

P. 누구든지 가이드/튜토리얼/추천 기사를 읽는다면 믿을 수 없을만큼 감사하게 생각합니다.

+0

시도한 내용은 무엇입니까? – beerwin

+0

@beerwin 아직 어디서부터 시작해야할지 모르기 때문에 아무 것도 시도하지 않았습니다. 누군가 내가해야 할 일의 과정을 설명 할 수 있다면, 그곳에서 더 많거나 적은 곳으로 가야할 곳을 알 것입니다. – Moose

+1

http://www.elated.com/articles/cms-in-an-afternoon-php-mysql/ ... –

답변

0

PHP의 작동 방식에있어 중요한 부분을 놓치고 있다고 생각합니다.

각 개별 사용자는 응용 프로그램의 다른 인스턴스를 사용합니다. 예를 들어, 응용 프로그램에 로그인하여 로그인하고 동일한 작업을 수행하면 변수 $ _SESSION이 설정되지만, $_SESSION['idUser'] = 3을 가지므로 $_SESSION['idUser'] = 5이됩니다. 그들은 서로의 존재를 알지 못할 것입니다.

기본적으로 적절한 제한이있는 단일 사용자에 대한 애플리케이션을 생각해야합니다. 예를 들어, 편집 프로파일 페이지를 작성하려는 경우, SQL 조회에서 $idUser = $_SESSION['idUser']을 사용하여 적절한 정보를 선택/갱신/삽입하십시오.

다음은 샘플 쿼리입니다 :이 도움이

// view users profile page 
$idUser = intval($_SESSION['idUser']); 
$query = "SELECT * FROM `users` WHERE id = {$idUser}"; 

// edit profile checks/database update 
$idUser = intval($_SESSION['idUser']); 
$userData = $_POST['user']; // let's say all your inputs have a name="user[...]" 
// !!! validation for the user data !!! 
$query = "UPDATE `users` SET col1='{$userData[col1]}', col2='{$userData[col2]}' WHERE id = {$idUser}"; 

희망, 당신은 추가 해명이 필요하면 알려주세요.

추 신 : SQL 쿼리에서 사용하기 전에 데이터를 올바르게 이스케이프 처리하고 mysqli 또는 PDO 확장을 사용하십시오 (더 이상 사용되지 않으며 이후 버전의 PHP에서 제거 될 예정이므로 mysql을 사용하지 마십시오.).

+0

블라드, 세션이 시작되었습니다 : Moose

+0

몇 개의 열 (id, username, password, 다른 필드)을 사용하여'users '테이블을 생성합니다. 사용자가 올바른 사용자/패스 조합으로 로그인하면 해당 사용자 이름에 해당하는 ID로 세션 ID를 설정합니다. 그런 다음 해당 사용자 ID로 모든 정보를 확인하면됩니다. 세션에서 사용자 ID 변수를 설정하지 않으므로 다른 사용자의 정보를 보는 것에 대해 걱정할 필요가 없습니다. –

+0

나는 이해하기 시작했습니다. 사용자가 등록 할 때마다 5 개의 필드 (ID, 사용자 이름, 전자 메일, 암호, 이름)가있는 데이터베이스 ("사용자"테이블)에 추가됩니다. 그런 다음 해당 사용자가 로그인하면 등록 된 사용자 ID를 기반으로 세션 ID를 제공합니다. 이 시점에서 제출 페이지로 이동하여 정보를 입력 한 다음 "global_settings"테이블에 저장합니다. 세션 ID를 기반으로 관련 값 (사용자 ID)을 저장하고 데이터베이스 및 저장된 정보를 제출 한 사용자에게 연결합니다. 나는 지금까지 올바른 길을 가고 있는가? – Moose

관련 문제