Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Передача параметрів між HTML- та PHP- сторінками↑ ⇐ ПредыдущаяСтр 3 из 3 Содержание книги
Поиск на нашем сайте
В РНР- технології виділяють 4 способи передачі даних між сторінками: через файли та бази даних, з допомогою глобальних масивів $_GET[..] та $_POST[..], з допомогою глобального масиву сесій $_SESSION['..']та з допомогою глобального масиву обліку повідомлень $_COOKIE[..]. PHP скрипт отримує параметри запиту з HTML форми Web-браузера для опрацювання і підготовки відповіді з допомогою глобальних асоціативних масивів $_GET та $_POST, наприклад, $cc = $_GET["creditcard"]; # у запиті метод GET $username = $_POST["username"]; # у запиті метод POST Асоціативні масиви $_GET $_POST називаються картами і вони є частиною всіх глобальних масивів сервера: $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST, $_SESSION. Кожен з масивів має призначення для зберігання спільних параметрів клієнта та сервера (частина розглядається пізніше). Для перевірки наявності відповідних параметрів використовується функція перевірки наявності ключа в масиві:
if (array_key_exists("creditcard", $_GET)) { $cc = $_GET["creditcard"]; ... } else { print("Error, you did not submit a credit card number."); ... return; } Нижче наведені приклади функцій використання глобальних масивів для зберігання, що характреизують процеси з’єднання, підтримки сесії, даних запиту чи сервера тощо.
function global_session($var){ if(!array_key_exists($var,$_SESSION)) $_SESSION[$var]=''; $GLOBALS[$var]=&$_SESSION[$var]; }
function global_cookie($var){ if(!array_key_exists($var,$_COOKIE)) $_COOKIE[$var]=''; $GLOBALS[$var]=&$_COOKIE[$var]; }
function global_server($var){ if(!array_key_exists($var,$_SERVER)) $_SERVER[$var]=''; $GLOBALS[$var]=&$_SERVER[$var]; }
function global_files($var){ if(!array_key_exists($var,$_FILES)) $_FILES[$var]=''; $GLOBALS[$var]=&$_FILES[$var]; }
function global_env($var){ if(!array_key_exists($var,$_ENV)) $_ENV[$var]=''; $GLOBALS[$var]=&$_ENV[$var]; }
function global_request($var){ if(!array_key_exists($var,$_REQUEST)) $_REQUEST[$var]=''; $GLOBALS[$var]=&$_REQUEST[$var]; } ?>
Програмні засоби аутентифікації Розглянемо приклад PHP програми для авторизації користувача ресурсу. Традиційне вікно для заповнення імені та паролю користувача має вигляд (рис.2.1.) Рис.2.1 Форма для заповнення даних користувача
Основною частиною HTML коду даної сторнки є тег форми з відповідними етикетками та елементами керування (введення даних і кнопка надсилання): <form action="" method="post"> <label>UserName:</label> <input type="text" name="username"/><br /> <label>Password:</label> <input type="password" name="password"/><br/> <input type="submit" value=" Submit "/><br />. </form> Програма авторизації на сервері складається з двох частин по два файли (рис.2.2):
Рис.2.2 Форма для заповнення даних користувача
Скрипт Login.php читання введених текстових даних, пошуку аналогічних даних в базі даних (таблиці) та видачі повідомлення про відсутність реєстрації або про допуск до ресурсу. Скрипт Config.phpпризначений для авторизації користувача бази даних та під єднання до неї. Друга частина – це скрипт видачі повідомлення та верифікації користувача.
Database MySQL admin table columns id, username, passcode. CREATE TABLE admin(id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(30) UNIQUE,passcode VARCHAR(30)); Config.php Database configuration file. <?php $mysql_hostname = "hostname"; $mysql_user = "username"; $mysql_password = "password"; $mysql_database = "database"; $bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Opps some thing went wrong"); mysql_select_db($mysql_database, $bd) or die("Opps some thing went wrong"); ?> Login.php Contains PHP and HTML code. >?php include("config.php"); session_start(); if($_SERVER["REQUEST_METHOD"] == "POST") { // ім'я користувача та пароль, присланий з форми
$myusername=addslashes($_POST['username']); $mypassword=addslashes($_POST['password']); $sql="SELECT id FROM admin WHERE username='$myusername' and passcode='$mypassword'"; $result=mysql_query($sql); $row=mysql_fetch_array($result); $active=$row['active']; $count=mysql_num_rows($result); // Якщо результат відповідає $myusername and $mypassword, рядок таблиці має бути 1 рядок
if($count==1) { session_register("myusername"); $_SESSION['login_user']=$myusername; header("location: welcome.php"); } else { $error="Your Login Name or Password is invalid";} } ?> Lock.php <?php include('config.php'); session_start(); $user_check=$_SESSION['login_user']; $ses_sql=mysql_query("select username from admin where username='$user_check' "); $row=mysql_fetch_array($ses_sql); $login_session=$row['username']; if(!isset($login_session)) { header("Location: login.php"); } ?> Welcome.php <?php include('lock.php'); ?> <body> <h1>Welcome <?php echo $login_session;?></h1> </body> Logout.php SignOut Destroy the session value. <?php session_start(); if(session_destroy()) {header("Location: login.php"); } ?>
|
|||||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 291; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.72.55 (0.005 с.) |