귀하의 사이트의 섹션을 저렴한 제한적으로 만드는 데 필요한 경우, 사용자의 불확실한 서클은 사용자를 등록하고 권한 부여 하여이 작업을 수행하는 가장 쉬운 방법입니다. 사용자 권한을 부여하는 방법에는 여러 가지가 있습니다. 웹 서버 도구 및 프로그래밍 언어 도구를 모두 사용할 수 있습니다. PHP 세션이 사용될 때 우리는 사례에 대해 이야기 할 것입니다.
당신은 아마 그런 양식을 만드는 가장 현대적인 방법을보고 싶습니다. 저에게 현대적이고 현재의 프리젠 테이션으로 가득 차 있지만 PHP의 객체 지향 기술을 사용하여 피드백 양식을 작성할 수 있음을 알 수 있습니다.
시작하기 위해서, 더 나아가는 모든 단계를 말하고자합시다. 우리는 무엇이 필요한가? 사용자를 등록하고 사용자 권한을 부여하는 스크립트가 필요합니다. 승인 후 어딘가에 사용자를 리디렉션하십시오. 또한 액세스 권한이없는 사용자로부터 보호되는 페이지를 만들어야합니다. 등록하고 권한을 부여하려면 HTML 형식을 만들어야합니다. 우리는 데이터베이스에 등록 된 사용자에 대한 정보를 저장합니다. 즉, DBMS에 연결하는 스크립트가 여전히 필요합니다. 모든 작업은 우리가 쓸 수있는 기능에 의해 수행됩니다. 이러한 기능을 별도의 파일로 저장합니다.
따라서 다음 파일이 필요합니다.
- dBMS와의 연결;
- 사용자 정의 기능;
- 권한 부여;
- 체크인;
- 보안 페이지;
- 사용자 완료 시나리오;
- 스크립트 사용자 권한 상태 확인;
- 우리 페이지의 가장 간단한 디자인을위한 스타일의 테이블.
이 모든 것은 데이터베이스에 해당 테이블이 없으면 의미가 없습니다. DBMS 관리 도구 (PHPMYADMIN 또는 명령 줄을보다 편리하게) 실행하고 다음 요청을 수행하십시오.
테이블 만들기`int (id` int (11) not null auto_increment,`login` char (16) ,`password` char (40) ,`reg_date` timestamp null default current_timestamp, 기본 키 (`id `)) 엔진 \u003d myisam default charset \u003d utf8 auto_increment \u003d 1;
스크립트가있는 파일을 사용하여 파일을 호출 할 수 있습니다 (모두 동일한 디렉토리에있는 경우).
- database.php;
- 함수 .php;
- login.php;
- registry.php;
- index.php;
- logout.php;
- checkauth.php;
- style.css.
그들 각각의 목적은 당신이 이해할 수 있습니다. DBMS에서 스크립트 연결을 시작해 봅시다. 당신은 이미 그것을 보았습니다. 이 스크립트의 코드를 database.php 파일에 저장하십시오. 사용자 정의 기능 우리는 function.php 파일에서 선언됩니다. 어떻게 모든 일을 할 것인가? 권한이없는 사용자는 보안 index.php 문서에 액세스하려고 시도합니다. 시스템은 사용자가 권한이 부여되지 않은 경우 사용자가 권한이 있는지 여부를 확인하고 권한 부여 페이지로 리디렉션됩니다. 권한 부여 페이지에서 사용자는 권한 부여 양식을보아야합니다. 그것을 만들자.
가입하기.
이제 우리의 양식은 종류가 주어져야합니다. 동시에 우리는 다른 요소에 대한 규칙을 정의합니다. 나는 앞으로 달리고 스타일 테이블의 내용을 완전히 줄 것입니다.
/ * file style.css * / .row (마진 - 아래쪽 : 10px; 폭 : 220px;) .Row 레이블 (디스플레이 : 블록; 글꼴 - 무게 : 굵게;) .Row input.text (글꼴 크기 : 1.2em; 패딩 : 2px 5px;) .to_reg (글꼴 크기 : 0.9em;) .Instruction (글꼴 크기 : 0.8em; 색상 : #AAAAAAA; Margin-left : 2px; 커서 : 기본값) .Error (색상 : 빨강; 마진 왼쪽 : 3px;)
모든 것이 올바르게 수행되면 브라우저에 다음이 있어야합니다.
물론 우리는 아직 단일 등록 된 사용자가 아니며 로그인 할 필요가 없습니다. 등록해야합니다. 등록 양식을 작성합시다.
PHP 변수가 html -kod에있는 사실을 알아 차렸을 것입니다. 이들은 텍스트 필드 필드 필드의 속성의 내용이며, 오류 출력을위한 컨테이너의 내용입니다. 그러나 우리는 이러한 변수를 초기화하지 않았습니다. 그걸하자.
// Инициализируем переменные для введенных значений и возможных ошибок $errors = array(); $fields = array(); ?>
조치 속성에서 양식 태그가 지정되지 않습니다. 이 경우 처리 할 데이터 양식을 보낼 때, 이들은 처리 된 동일한 시나리오에있을 것입니다. 그래서 우리는 코드 처리 데이터 양식을 작성해야합니다. 그러나 처음으로 처리를 위해 알고리즘을 정렬합시다.
로그인 및 암호 필드가 비어 있도록 필요합니다. 그런 다음 요구 사항을 준수하기 위해 로그인을 확인해야합니다. 암호는 설명 된 요구 사항을 준수해야하며 재 지정 암호는 그와 일치해야하며 더욱이 동일해야합니다. 이러한 조건 중 일부가 실행되지 않으면 양식 데이터 처리가 중단되어야하며 적절한 경고를 오류 메시지 배열에 기록해야하며 사용자에게 표시되어야합니다. 사용자의 편의를 위해, 우리는 그것에 의해 입력 된 로그인 (표시된 경우)을 저장하고 $ 필드 배열에 값을 작성합니다.
모든 것이 괜찮 으면 브라우저 창에서 registration.php 문서에 문의 하여이 양식에 대해 확인해야합니다.
이제 사용자가 등록 버튼을 눌렀습니다. 양식 필드를 채우지 않았습니다. 알고리즘에 따르면 로그인 및 암호는 비어있을 수 없습니다. 이 조건이 실행되지 않으면 등록이 불가능합니다. 우리는 현재 스크립트에서 양식 데이터의 처리가 발생한다는 것을 기억합니다. 따라서 해당 수표를 추가하여 코드를 변경해야합니다. 즉시 다음 수표를 표시하십시오. 로그인 및 암호가 입력되면 지정된 요구 사항을 준수하는지 확인해야합니다. 로그인 및 암호를 확인하려면 futters.php 파일에서 사용자 기능을 만듭니다.
/ ** * functions.php * 사용자 기능이있는 파일 * // require_once dbu ( "database.php")에 연결하기 위해 파일을 매개 변수로 연결합니다. // 사용자 기능 체크 로그인 ($ str) (// 가능한 오류 메시지가있는 변수를 초기화하십시오 \u003d ""; // 로그인 문자열이 없으면 오류 메시지를 반환하는 경우, (! $ st) ($ ERROR \u003d "사용자 이름을 입력하지 않았습니다."$ 오류;) / ** * 정규 표현식을 사용하여 사용자 이름을 확인하십시오. * 로그인은 16자를 초과하지 않고 4보다 짧아서는 안됩니다 * 라틴어의 기호가 있어야합니다. 알파벳, 숫자, * 그것은 "_", "-", "."* / $ pattern \u003d "/ \u003d _-_. az \\ d__4,16) $ / i"; $ result \u003d preg_match ($ 패턴, $ str); // 검사가 통과하지 않은 경우, 오류 메시지 ($ 결과) ($ ERRORT) ($ ERROR \u003d "너무 짧은 문자에 잘못된 문자가 잘못되었습니다."; $ 오류를 반환합니다.) / / 모든 것이 괜찮 으면 true를 true로 반환합니다.) // 사용자 암호를 확인 함수 검사 ($ str) (// 가능한 오류 메시지로 변수를 초기화합니다 $ error \u003d ""; // 로그인 문자열을 넣고 오류 메시지를 반환합니다 (! $ str) ($ ERROR \u003d "암호를 입력하지 않았습니다"; $ 오류를 반환합니다. ) / ** * 정규 표현식을 사용하여 사용자의 암호를 확인합니다. * 암호는 6 자보다 짧아서는 안됩니다. * 라틴어 알파벳, 숫자, *의 기호가 기호 "_"의 기호가 있어야합니다. "!", "(", ")"* / $ pattern \u003d "/ \u003d [_!) (. az \\ d] (6,16) $ / i"; $ \u003d preg_match ($ 패턴, $ str) // 확인을 통과하지 않은 경우 오류 메시지 ($ RETERLIDE) ($ ERRORE) ($ ERROR \u003d "사용자 암호 또는 너무 짧은 문자가 잘못됨)"; $ 오류를 반환합니다.) // 모든 경우 괜찮아, 우리는 진실한 귀환의 가치를 환불 해드립니다.)
이제 우리는 Registry.php 파일을 변경하여 우리가 선언 한 함수를 사용해야합니다. 스크립트에서 등록 버튼을 눌러 테스트 한 조건을 추가합니다. 이 조건 내부에서 로그인 및 암호 확인을 시작합니다. 일부 수표가 실패 할 경우 양식을 다시 나타내고 오류 메시지를 표시합니다. 오류가 없으면 사용자를 등록하고 등록 양식이 더 이상 표시되지 않으며, 성공적인 등록에 대해 사용자를보고하고 헤더 () 함수를 사용하여 승인 양식으로 전달합니다.
/** * registration.php * Страница регистрации пользователей. Предполагается, что в вашей * базе данных присутствует таблица пользователей users, в которой * есть поля id, login, password, reg_date */ // Подключаем файл с пользовательскими функциями require_once("functions.php"); // Инициализируем переменные для введенных значений и возможных ошибок $errors = array(); $fields = array(); // Заранее инициализируем переменную регистрации, присваивая ей ложное значение $reg = false; // Если была нажата кнопка регистрации if(isset($_POST["submit"])) { // Делаем массив сообщений об ошибках пустым $errors["login"] = $errors["password"] = $errors["password_again"] = ""; // С помощью стандартной функции trim() удалим лишние пробелы // из введенных пользователем данных $fields["login"] = trim($_POST["login"]); $password = trim($_POST["password"]); $password_again = trim($_POST["password_again"]); // Если логин не пройдет проверку, будет сообщение об ошибке $errors["login"] = checkLogin($fields["login"]) === true ? "" : checkLogin($fields["login"]); // Если пароль не пройдет проверку, будет сообщение об ошибке $errors["password"] = checkPassword($password) === true ? "" : checkPassword($password); // Если пароль введен верно, но пароли не идентичны, будет сообщение об ошибке $errors["password_again"] = (checkPassword($password) === true && $password === $password_again) ? "" : "Введенные пароли не совпадают"; // Если ошибок нет, нам нужно добавить информацию о пользователе в БД if($errors["login"] == "" && $errors["password"] == "" && $errors["password_again"] == "") { // Вызываем функцию регистрации, её результат записываем в переменную $reg = registration($fields["login"], $password); // Если регистрация прошла успешно, сообщаем об этом пользователю // И создаем заголовок страницы, который выполнит переадресацию к форме авторизации if($reg === true) { $message = "
시스템에 성공적으로 등록했습니다. 이제 승인 페이지로 리디렉션됩니다. 이것이 일어나지 않았다면 직접 링크로 이동하십시오.
"; 헤더 ("새로 고침 : 5; URL \u003d login.php ");) // 그렇지 않으면 사용자에게 다른 오류 ($ errors ["full_error "] \u003d $ reg;))를 알려줍니다.)스크립트에서 다른 새로운 기능 - 레지스트리 ()를 알아야했습니다. 그리고 우리는 아직 그것을 선언하지 않았습니다. 그걸하자.
// 함수 등록 함수 기능 ($ login, $ password) (// 가능한 오류 메시지가있는 변수를 초기화하십시오 \u003d ""; // 로그인 문자열이 없으면 (! $ 로그인) (! $ 로그인) $ error \u003d "지정된 로그인이 아님"; $ 오류를 반환합니다.) elseif (! $ password) ($ error \u003d "암호가 지정되지 않음"; $ 오류를 반환합니다.) // 사용자가 이미 등록되어 있는지 확인 // dbms (); // 쿼리 문자열 쓰기 $ sql \u003d "select` id '`users``login` \u003d" ". $ login" "" ""$ query \u003d mysql_query에 대한 요청을합니다. ($ SQL) 또는 DIE ( ""); // 우리는 적어도 하나가있는 경우이 로그인이있는 사용자 수를보고 // IF 오류 메시지 (mysql_num_rows ($ 쿼리)\u003e 0)를 반환합니다 ($ error \u003d "지정된 로그인이 이미 등록 된 사용자가 등록 된 사용자";이 사용자가 아니면 // 등록 // 요청 줄 쓰기 $ SQL \u003d "사용자"(`ID`,`login`) `password`) 값 (, ""$ login "." "," ". $ password. "" ")"; // $ query \u003d mysql_query ($ sql) 또는 죽거나 죽을 수 있도록 요청을합니다.
사용자를 추가 할 수 없습니다. ". mysql_error ()". 문자열에 오류가 발생했습니다. "__line__."
"); // dbms mysql_close ()에서 연결을 끊는 것을 잊지 마십시오. // Return True 사용자의 등록에 대한 성공적인 가치보고를 반환합니다.)모든 것이 잘되면 사용자가 등록됩니다. 모양을 테스트 할 수 있습니다. 동일한 로그인으로 사용자를 등록하십시오. 등록이 성공한 후 사용자는 권한의 형태로 던져집니다. 이전에 우리는이 양식을 표시하기 위해 마크 업을 만드는 것입니다. action 속성이 매개 변수를 지정하지 않으므로 양식에 의해 전송 된 데이터가 동일한 시나리오에서 처리됩니다. 따라서 처리를 위해 코드를 작성하고 Login.php 문서에 추가해야합니다.
/** * Страница авторизации пользователей. Предполагается, * что в вашей базе данных присутствует таблица users, * в которой существуют поля id, login и password */ // Подлючаем файл с пользовательскими функциями require_once("functions.php"); // Заранее инициализируем переменную авторизации, присвоив ей ложное значение $auth = false; // Если была нажата кнопка авторизации if(isset($_POST["submit"])) { // Делаем массив сообщений об ошибках пустым $errors["login"] = $errors["password"] = $errors["password_again"] = ""; // С помощью стандартной функции trim() удалим лишние пробелы // из введенных пользователем данных $login = trim($_POST["login"]); $password = trim($_POST["password"]); // Авторизуем пользователя // Вызываем функцию регистрации, её результат записываем в переменную $auth = authorization($login, $password); // Если авторизация прошла успешно, сообщаем об этом пользователю // И создаем заголовок страницы, который выполнит переадресацию на защищенную // от общего доступа страницу if($auth === true) { $message = ""; header("Refresh: 5; URL = /"); } // Иначе сообщаем пользователю об ошибке else { $errors["full_error"] = $auth; } } ?>
시스템에 등록되지 않은 경우 등록하십시오.
} // Закрывающая фигурная скобка условного оператора проверки успешной авторизации // Иначе выводим сообщение об успешной авторизации else { print $message; } /** * Если всё правильно, будет выведено сообщение об успешной авторизации, * пользователь будет переадресован на защищенную страницу */ ?>아마도 권한 부여 스크립트에서 우리는 Authorization ()을 다른 익숙하지 않은 기능을 보였을 것입니다. 이 함수는 이러한 로그인 및 암호가있는 등록 된 사용자가 데이터베이스에 있는지 확인한 후에 사용자 권한을 부여해야합니다. 이러한 사용자가 발견되지 않으면 권한이 중단 될 수 있으므로 화면에 실패 메시지가 표시됩니다. 성공적으로 확인하면 Authorization () 함수가 세션을 시작하고 사용자 이름 및 암호 판독기가 로그인 및 암호 스크립트를 기록하고 스크립트가 사용자를 보안 자원 페이지로 리디렉션합니다.
/ ** * 사용자 권한 부여 기능. * 사용자 권한 부여 * PHP 세션을 사용하여 구현됩니다. * / 함수 권한 ($ 로그인, $ password) (// 가능한 오류 메시지가있는 변수 초기화 \u003d ""; // 로그인 문자열이없는 경우 (! $ login) ($ 오류) \u003d "로그인이 지정되지 않음"; $ 오류를 반환합니다.) elseif (! $ password) ($ error \u003d "암호는 지정되지 않음"; 사용자가 이미 등록되었는지 // 사용자가 이미 등록되었는지 // DBMS 연결 (); // 등록 된 // 중에서 사용자가 요구하는 사용자가`Users`에서`ID```` ""에서 $ SQL \u003d "Select`"라인을 확인해야합니다. $ login "." `password` \u003d "". $ password. "" ""; // $ query \u003d mysql_query ($ SQL) 또는 죽을 요청;
쿼리를 완료 할 수 없습니다. ". mysql_error ()". 문자열에 오류가 발생했습니다. "__line__."
"); // 그러한 데이터가있는 사용자가 없으면, 오류 메시지가있는 경우 (mysql_num_rows ($ query) \u003d\u003d 0) ($ error \u003d"지정된 데이터를 가진 사용자가 등록되지 않음 "; 리턴 $ 오류; ) // 사용자가 존재하는 경우, session_start 세션 (); //를 실행하고 IT 로그인 및 사용자 암호로 쓰기 // 이에 대해 슈퍼 글로브 배열 $ _session $ _session [ "login"] \u003d $ login; $ _session [ "password"] \u003d $ password; / / mysql_close 데이터베이스 ()에 대한 연결을 닫는 것을 잊지 마십시오. // return true의 성공적인 권한 부여를 충족시키기 위해 true를 반환합니다.)사용자가 보안 페이지를 히는 경우 권한 부여에 대한 데이터의 정확성을 확인하십시오. 이를 위해 다른 사용자 기능이 필요합니다. IT 체크 카이트 ()를 호출 해 봅시다. 해당 작업은 데이터베이스에 저장된 사용자 권한 데이터에서 조정됩니다. 데이터가 일치하지 않으면 사용자가 권한 부여 페이지로 리디렉션됩니다.
기능 체크 카이트 ($ login, $ password) (// 로그인 또는 암호가 없으면 false를 반환하십시오. ($ login ||! $ password) false를 반환합니다. // 이러한 사용자가 등록 된지 확인 // dbms (); //`users`에서 "```select`"`select` ". $ login" "" "and` password` \u003d" ". $ password." "" "; // $ query 요청 \u003d mysql_query ($ SQL) 또는 죽을 ("
쿼리를 완료 할 수 없습니다. ". mysql_error ()". 문자열에 오류가 발생했습니다. "__line__."
"); // 그러한 데이터가없는 사용자가 없으면 false를 반환합니다. (мysql_num_rows ($ query) \u003d\u003d 0) (false 리턴) // 데이터베이스에 대한 연결을 닫는 것을 잊지 마십시오 mysql_close (); / / 그렇지 않으면 우리는 진실한 반환을 반환합니다.)이제 사용자가 보안 페이지에 있어야하므로 권한 데이터 확인 기능을 호출해야합니다. Call and Check Script 우리는 별도의 checkauth.php 파일에 배치되며 공유 액세스를 위해 닫히는 페이지에 연결합니다.
// * 사용자 권한 부여의 스크립트 확인 * // username 및 password // session_start ()의 권한이 부여 된 사용자를 검색 할 세션을 시작합니다. // 사용자 require_once 함수가있는 파일을 노래합니다 ( "function.php"); / ** * 사용자가 권한이 있는지 확인하려면 로그인 * 및 암호에 대한 데이터베이스에 레코드가 있는지 확인해야합니다. 이렇게하려면 사용자 기능 * 사용자의 권한이 부여 된 사용자의 정확성을 확인하십시오. *이 함수가 false를 반환하면 권한이 없습니다. * 인증이 없을 경우, * 사용자가 * 사용자를 인증 페이지로 리디렉션하기 만하면됩니다. * / // 세션이 데이터 및 로그인 및 암호가 특징 인 경우 // isset ($ _ 세션 [ "로그인") && $ _session [ "로그인"] && ISSET ($ _ 세션 [ "password"]) && $ _session [ "password"]) (// 실패한 경우 기존 데이터의 테스트가 실패한 경우 (! 체크 카트 ($ _ 세션 [ "로그인", $ _session [ "암호"])))) (// 권한 페이지 헤더 ( "loctor : login.php"); // 종료 스크립트의 실행을 중지합니다. // 데이터 나 사용자 이름이 없거나 사용자 암호가 없으면, // 우리는 권한 부여가 없다고 생각합니다. else 권한 부여 페이지 (헤더 ( "loctor : login.php"); // 종료 스크립트의 실행을 중지합니다.)
그리고 이제는 보안 페이지의 코드를 작성해 봅시다. 그는 꽤 간단 할 것입니다.
/** * Защищенная страница. К ней возможен доступ только авторизованным * пользователям. Если пользователь не авторизован, ему предлагается * авторизоваться, и доступ к сайту ограничивается. */ require_once("checkAuth.php"); ?>
성공적인 승인.
보안 페이지에 액세스 할 수 있습니다. 시스템에서 나올 수 있습니다.
보안 문서에서는 보안 문서에서 하나의 파일 - Checkauth.php 만 연결합니다. 다른 모든 파일은 다른 시나리오에 연결됩니다. 따라서 우리의 코드는 번거롭지 않습니다. 우리는 사용자의 등록 및 권한을 조직했습니다. 이제 사용자가 시스템을 떠날 수 있도록해야합니다. 이렇게하려면 Logout.php 파일에 스크립트를 만듭니다.
/ ** * 시스템에서 사용자 출력 스크립트. 사용자 *가 세션을 통해 권한이 부여되므로 사용자 이름과 암호는 SuperGugue Array $ _Session에서 * 저장됩니다. 시스템에서 * 출력을 구현하려면 * 배열 $ _session [ "login"] 및 $ _session [ "password") 값을 삭제하는 것만으로 인식 페이지를 사용자를 리디렉션 한 후 * / // / session_start 세션 ()을 실행하십시오. unset ($ _ 세션 [ "로그인"]); unset ($ _ 세션 [ "암호"]); 헤더 ( "위치 : login.php");
등록 스크립트, 사용자의 권한 부여 및 검증 준비가되었습니다. 당신은 자신에게 그것을 사용하고, 보충, 필요에 따라 변경할 수 있습니다. 질문이 있으시면 주석에 물어볼 수 있습니다. 하나의 아카이브에 음성 패키지가있는 모든 파일을 다운로드 할 수 있습니다.
추신 나는 객체 지향 코드를 작성하는 것이 더 낫다는 것을 알고 있으며, 데이터베이스에 기록 된 정보가 이전에 점검되어야한다는 오픈 암호로 통과하고 저장할 가치가 없다는 것을 알고 있습니다. 알아. 나는 여기에 그것에 대해 이야기하지 않을 것이다.
온라인으로 트위터. 깨끗하고 간단한 디자인으로 페이지 작업을 관찰 할 수 있습니다. 페이지의 오른쪽 상단 부분을 보면 버튼이 표시됩니다. 권한 부여 시스템에서 볼 수있는 클릭을 클릭하여 양식 데이터를 채우려면. 오늘 우리는 자신의 사이트에서 비슷한 효력을 갖는 방법에 대해 알려 드리겠습니다. 사실, 그것은 매우 간단합니다. 또한 페이지에있는 장소를 저장하고 방문객에게 편안함을 추가하는 데 도움이됩니다. 이 기사에서는 단계별로 단계별 로이 가이드 조차도이 가이드조차도 탐험하려는 사람들에게 유용 할 것입니다. jquery....에 앞으로!
HTML 코드
먼저 HTML 코드에서 시작해야합니다. HTML 코드는 매우 간단합니다 - 양식이 표시되는 비용으로 "필드 세트"태그와 함께가는 "A"태그가 포함되어 있습니다.
그냥 새 페이지 코드로 복사하십시오.
CSS 코드
CSS를 사용하여 권한 부여 버튼 및 로그인 양식을 확인해야합니다. 아래 코드는이 기능을 실행합니다.
이 코드를 CSS 파일에 복사하거나 스타일에 의해 결정되는 HTML 코드에 추가하십시오. 이 코드는 권한 부여 버튼을 정의합니다.
#container (
너비 : 780px;
마진 : 0 자동;
위치 : 상대;
}
#content (
너비 : 520px;
최소 - 높이 : 500px;
}
a : 링크, A : 방문 (
색상 : # 27b;
텍스트 장식 : 없음;
}
a : 호버 (
텍스트 장식 : 밑줄;
}
img (
국경 너비 : 0;
}
#topnav (
패딩 : 10px 0px 12px;
글꼴 크기 : 11px;
선 - 높이 : 23px;
텍스트 정렬 : 오른쪽;
}
#topnav a.signin (
배경 : # 88BBD4;
패딩 : 4px 6px 6px;
텍스트 장식 : 없음;
글꼴 무게 : 굵게;
색상 : #fff;
--webkit-border-radius : 4px;
-moz-border-radius : 4px;
경계 반경 : 4px;
* 배경 : 투명 URL ( "이미지 / signin-nav-bg-ie.png") 아니오 반복 0 0;
* 패딩 : 4px 12px 6px;
}
#topnav a.signin : 호버 (
배경 : # 59b;
* 배경 : 투명 URL ( "이미지 / signin-nav-bg-hover-iepng") 아니오 반복 0 0;
* 패딩 : 4px 12px 6px;
}
#topnav a.signin, #topnav a.signin : 호버 (
* 배경 - 위치 : 0 3PX! 중요;
}
a.signin (
위치 : 상대;
마진 왼쪽 : 3px;
}
a.Signin Span (
배경 이미지 : URL ( "이미지 / Toggle_Down_light.png");
배경 - 반복 : 없음;
배경 위치 : 100 % 50 %;
패딩 : 4px 16px 6px 0;
}
#topnav a.menu-open (
배경 : # ddeef6! 중요;
색상 : # 666! 중요;
개요 : 없음;
}
#small_signup (
디스플레이 : 인라인;
Float : 없음;
선 - 높이 : 23px;
여백 : 25px 0 0;
너비 : 170px;
}
a.signin.menu-open span (
배경 이미지 : URL ( "이미지 / Toggle_up_dark.png");
색상 : # 789;
}
또한 로그인 양식의 정의입니다.
#signin_menu (
-Moz-Border-Radius-Topleft : 5px;
-moz-border-radius-bottomleft : 5px;
-moz-border-radius-bottomright : 5px;
- 웨이브킷 - 테두리 탑 왼쪽 반경 : 5px;
- 웨브 키트 - 테두리 바닥 왼쪽 반경 : 5px;
- 웨이브 키트 - 경계 바닥 - 오른쪽 - 오른쪽 반경 : 5px;
디스플레이 : 없음;
배경색 : # ddeef6;
위치 : 절대;
너비 : 210px;
Z- 색인 : 100;
테두리 : 1px 투명;
텍스트 - 정렬 : 왼쪽;
패딩 : 12px;
상단 : 24.5px;
오른쪽 : 0px;
마진 - 상단 : 5px;
마진 오른쪽 : 0px;
* 마진 - 오른쪽 : -1px;
색상 : # 789;
글꼴 크기 : 11px;
}
#signin_menu 입력, #signin_menu 입력 (
디스플레이 : 블록;
-moz-border-radius : 4px;
--webkit-border-radius : 4px;
테두리 : 1px 단단한 #
글꼴 크기 : 13px;
마진 : 0 0 5px;
패딩 : 5px;
너비 : 203px;
}
#signin_menu p (
마진 : 0;
}
#signin_menu a (
색상 : # 6ac;
}
#signin_menu 레이블 (
글꼴 무게 : 정상;
}
#signin_menu p.remember (
패딩 : 10px 0;
}
#signin_menu p.forgot, #signin_menu p.cheplete (
지우기 : 둘 다;
마진 : 5px 0;
}
#signin_menu p a (
색상 : # 27b! 중요;
}
#signin_submit (
-moz-border-radius : 4px;
--webkit-border-radius : 4px;
배경 : # 39D URL ( "이미지 / bg-btn-blue.png") 반복 x 스크롤 0 0;
테두리 : 1px 고체 # 39D;
색상 : #fff;
텍스트 - 그림자 : 0 -1PX 0 # 39D;
패딩 : 4px 10px 5px;
글꼴 크기 : 11px;
마진 : 0 5px 0 0;
글꼴 무게 : 굵게;
}
#signin_submit :: - moz-focus-inner (
패딩 : 0;
테두리 : 0;
}
#signin_submit : hover, #signin_submit : 초점 (
배경 - 위치 : 0 -5px;
커서 : 포인터;
}
그것은 자바 스크립트로 일할 시간입니다
HTML과 CSS의 코드가 매우 복잡하고 혼란스럽고 JavaScript에서는 매우 간단합니다. 이 JavaScript 코드를 사용하면 클릭이 로그인 양식 외부에서 수행 될 수있는 경우에도 권한 부여 버튼을 클릭 할 때 폼을 표시하고 숨길 수 있습니다.
방문자가 권한 부여 버튼을 클릭하면 위에 제시된 코드에 따르면 새 기능이 시작됩니다. 먼저 로그인 양식이 표시됩니다 (파일 "filedset"파일에 묶여 있음), ".signin"클래스에 묶인 참조는 백그라운드 이미지를 교체하는 비용으로 ".signin"클래스에 포함 된 참조가 다른 클래스 "메뉴 열기"를 추가합니다.
이 코드의 또 다른 이벤트는 방문자가 로그인 양식을 클릭하고 페이지의 어딘가에서 닫을 때 닫힙니다. 즉, "menu-open"클래스는 클래스 ".signin"클래스와 링크에서 제거되고 원래의 배경 이미지로 되돌아갑니다.
팁은 어떨까요?
우리는 당신이 사용하도록 조언합니다 jQuery의 플러그인 - 팁이 있습니다...에 ToolTip-A의 내용은 링크와 관련된 "제목"속성에 쓰여지는 것을 나타냅니다. 동쪽, 서쪽, 남쪽 또는 북쪽에 상대적인 위치 툴팁을 변경할 수 있습니다. 위의 코드에 지정된 "중력"매개 변수로 인해 구현됩니다. 우리는이 플러그인 전용 사이트에 대한 링크를 제공하므로 기능을 더 자세히 연구하고 플러그인을 다운로드 할 수 있습니다. ...에 ...
드디어
이 기사에서 모든 코드를 복사 한 경우 폴더 구조를 변경하지 마십시오. 변경하면 코드가 작동하지 않습니다. 이 코드는 만드는 한 예일뿐입니다 jQuery를 사용하여 인증 드롭 다운 형태...에 실제로 행운을 빈다!
페이지를 재부팅하지 않고도 동적 스위칭 가능성이있는 입력 및 등록 양식의 기능에 적응할 수 있습니다. 창이 나타나면 사용자는 쉽게 하나에서 다른 것으로 전환 할 수 있으며 필요한 경우 암호 변경 옵션을 선택하십시오.
오늘날 우리는 모든 것이 작지만 매우 기능적인 jquery 플러그인과 새로운 CSS3 표준을 사용하여 모든 것이 구현 될 수있는 방법을 살펴 보겠습니다.
이 메서드는 사용자가 사이트의 각 페이지의 사용자에게 입력 및 등록 양식을 사용할 수있게하려면 유용합니다. 웹 사이트 또는 등록을 입력 할 때 사용자는 다른 페이지로 리디렉션되지 않으며 현금 등록기를 벗어나지 않고 모든 필요한 작업을 수행 할 수 있습니다. "모든 것이 한 페이지에 있습니다.
팝업 양식의 모양의 모양은 CSS3을 사용하여 구현되며 플러그인의 총 중량은 전혀 크지 않고, 모달 창의 응답 및로드가 거의 지체없이 발생합니다.
양식이있는 모달 창의 100 % 적응 형 레이아웃, 모달 창의 높이 및 너비는 사용자 정의 장치의 화면의 크기에 따라 자동으로 설정됩니다.
이 예제는 이제 사이트에서 사용 방법을 배우기 위해 모달 창 및 양식의 모든 주요 구성 요소를 분석 할 것입니다.
엔트리 및 \u200b\u200b등록 양식을 사용하여 팝업 창의 작동은 인기있는 JavaScript 라이브러리, 실행 가능한 JQuey 플러그인 및 CSS 모양의 스타일을 기반으로합니다. 이 모든 도구는 사이트에 연결되어 있어야합니다. 최신 JQuey 라이브러리의 최신 버전은 Google에서 직접 연결할 수 있으며 Main.js 플러그인 자체와 완성 된 Style.css 스타일의 완성 된 세트가 아카이브에서 찾을 수 있습니다.
닫는 태그 앞에서 처방 된 자바 스크립트