Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Думала думала и надумала...
Каролина  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



KRE3I
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1057
Пользователь №: 30921
На форуме: 4 года, 11 месяцев, 7 дней
Карма: -3




вот 1 код index.php
<?php
error_reporting(E_ALL);
// эту функция для отладки, чтобы смотреть на экране содержимое переменных и выглядело красиво
function echo2($expression){
echo '<pre>'.print_r($expression, 1).'</pre>';
}


function current_user_get(){
if(isset($_SESSION['user']['login'])){
return $_SESSION['user'];
} else {
return array();
}
}




function current_user_set(array $user){
$_SESSION['user'] = $user;
}



$users = array(
array('name'=>'Вася', 'login'=>'vasya', 'pass'=>'PassiZ', 'role'=>'admin'),
array('name'=>'Петя', 'login'=>'petya', 'pass'=>'PassidzX2', 'role'=>'user'),
array('name'=>'Саша', 'login'=>'sasha', 'pass'=>'PassisF02', 'role'=>'user')
);



$title = 'Вход на сайт';
$gstate_msg = array();
$submit_msg = array();


session_start();



if(count($_POST)){
extract($_POST, EXTR_SKIP);
// $login, $pass, $go
$logout_disabled = 'disabled';
}else {
$login = '';
$logout_disabled = 'disabled';
}

if(count($_POST)){
if(isset($logout)){
session_destroy();
header('Location: '.$_SERVER['REQUEST_URI']);
exit();
}




foreach($users as $record){
if($login == $record['login'] && $pass == $record['pass']){
$user = $record;
break;
}
}

if(!isset($user)){
$submit_msg[] = 'Пользователь с таким логином и паролем не найден.';
$submit_msg[] = 'Подсказка: вот эти все пользователи, их пароли и роль на сайте:<pre>'.print_r($users, true).'</pre>';

} else {

unset($user['pass']);
current_user_set($user);
if(!isset($_GET['return_uri'])){
header('Location: '.$_SERVER['REQUEST_URI']);
} else {
header('Location: '.$_GET['return_uri']);
}


}
}
else {

$current_user_get = current_user_get();
if(count($current_user_get)){
$gstate_msg[] = "Вы уже авторизованы как "'.$current_user_get['name'].'". Ваша роль на сайте: "'.$current..;
?>


вот 2 код adminpage.php

<?php


function
current_user_get(){
if(isset($_SESSION['user']['login'])){
return $_SESSION['user'];
} else {
return array();
}
}


session_start();
$current_user = current_user_get();

if(!count($current_user)){

header('Location: /login.php?return_uri='.$_SERVER['REQUEST_URI']);
exit();
} elseif($current_user['role'] !== 'admin') {

header('Location: /login.php?return_uri='.$_SERVER['REQUEST_URI']);
exit();
}


echo 'login:'.$current_user['login'].'. In admin page.';
// include 'adminpage.htm.php';


вот 3 login.htm.php
<!DOCTYPE html>
<
html lang="ru">
<
head>
<
meta charset="utf-8">
<
title><?php echo $title; ?></title>
</
head>
<
body>
<
form method="post">
<
fieldset><label for="login">Логин</label>:<br>
<
input type="text" id="login" name="login" value="<?=$login?>"><br>
<
label for="pass">Пароль</label>:<br>
<
input type="password" id="pass" name="pass"><br>
<
input type="submit" id="go" name="go" value="Login"><input type="submit" id="logout" name="logout" value="Logout" <?=$logout_disabled?> ><br>
</
fieldset>
<
b><?=implode('<br>', $submit_msg);?></b>
<
i><?=implode('<br>', $gstate_msg);?></i>
</
form>
</
body>
</
html>

и последний четвертый login.php
<?php
error_reporting(E_ALL);
function echo2($expression){
echo '<pre>'.print_r($expression, 1).'</pre>';
}

function current_user_get(){
if(isset($_SESSION['user']['login'])){
return $_SESSION['user'];
} else {
return array();
}
}



function current_user_set(array $user){
$_SESSION['user'] = $user;
}


$users = array(
array('name'=>'Вася', 'login'=>'vasya', 'pass'=>'PassiZ', 'role'=>'admin'),
array('name'=>'Петя', 'login'=>'petya', 'pass'=>'PassidzX2', 'role'=>'user'),
array('name'=>'Саша', 'login'=>'sasha', 'pass'=>'PassisF02', 'role'=>'user')
);


$title = 'Вход на сайт'; // будет отрисовано в шаблоне.
$gstate_msg = array(); // сообщения о текущем состоянии формы. лучше расположить это в шаблоне на последнем месте. и шрифт курсив.
$submit_msg = array(); // сообщения которые нужно вывести после субмита. лучше всего расположить их в шаблоне рядом с кнопкой. жирным шрифтом.

session_start();



if(count($_POST)){
extract($_POST, EXTR_SKIP); // извлекаем все переменные, из поста (не заменяя существующие).
// $login, $pass, $go

$logout_disabled = 'disabled';
}else {
// переменные, которые должны быть объявлены для подстановки в форму если нет поста (если есть пост, эти переменные будут извлечены из поста extract).
$login = '';
$logout_disabled = 'disabled';
}

if(count($_POST)){
if(isset($logout)){
// когда было нажато на кнопку выход
session_destroy();
header('Location: '.$_SERVER['REQUEST_URI']); // переходим на гет текущей.
exit();
}
// значит нажато на кнопку $go


foreach($users as $record){
if($login == $record['login'] && $pass == $record['pass']){
$user = $record; // логин пароль совпал
break; // поиски можно не продолжать, так как запись найдена. (база данных должна гарантировать что только поле логин уникальное)
}
}

if(!isset($user)){
$submit_msg[] = 'Пользователь с таким логином и паролем не найден.';
$submit_msg[] = 'Подсказка: вот эти все пользователи, их пароли и роль на сайте:<pre>'.print_r($users, true).'</pre>';

} else {
unset($user['pass']); // чтобы не сохранять пароль в файле сессии. остальное остается. самое важное и ключевое это login, остальное для удобства.
current_user_set($user);


if(!isset($_GET['return_uri'])){
header('Location: '.$_SERVER['REQUEST_URI']); // переходим на гет текущей.
} else {
header('Location: '.$_GET['return_uri']); // переходим на гет той страницы которая запросила авторизацию..
}


}
}
else {
$current_user_get = current_user_get(); //
if(count($current_user_get)){
$gstate_msg[] = 'Вы уже авторизованы как "'.$current_user_get['name'].'". Ваша роль на сайте: "'.$current_user_get['role'].'".';
$gstate_msg[] = 'Введите логин и пароль в форму для смены пользователя.';
$logout_disabled = '';
} else {
$gstate_msg[] = 'Введите логин и пароль в форму для входа.';
$logout_disabled = 'disabled';
}
}


include 'login.htm.php';


что написано кракозябрами неважно главное что б работало


--------------------
wmu (U398141202367)
wmr (R321962242752)[SIZE=7][COLOR=purple]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
m4a1fox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5211
Пользователь №: 24565
На форуме: 6 лет, 1 месяц, 8 дней
Карма: 60

Не пью :
4 года, 1 месяц, 29 дней


Каролина
Ты правда думаешь что это кто то прочитает?
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Каролина  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



KRE3I
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1057
Пользователь №: 30921
На форуме: 4 года, 11 месяцев, 7 дней
Карма: -3




нет но надеюсь


--------------------
wmu (U398141202367)
wmr (R321962242752)[SIZE=7][COLOR=purple]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TranceIT  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



...Один я одинаковый...
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1731
Пользователь №: 19760
На форуме: 7 лет, 17 дней
Карма: 58




Приду домой, распечатаю на принтере, забью косячок и скурю...


--------------------
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Каролина  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



KRE3I
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1057
Пользователь №: 30921
На форуме: 4 года, 11 месяцев, 7 дней
Карма: -3




а блин как редактировать 1 смс нету там редактирования


--------------------
wmu (U398141202367)
wmr (R321962242752)[SIZE=7][COLOR=purple]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Каролина  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



KRE3I
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1057
Пользователь №: 30921
На форуме: 4 года, 11 месяцев, 7 дней
Карма: -3




Цитата (TranceIT @ 17.09.2012 - 13:42)
Приду домой, распечатаю на принтере, забью косячок и скурю...

ну вот ктото уже собираетсяпрочитать


--------------------
wmu (U398141202367)
wmr (R321962242752)[SIZE=7][COLOR=purple]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TranceIT  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



...Один я одинаковый...
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1731
Пользователь №: 19760
На форуме: 7 лет, 17 дней
Карма: 58




Цитата (Каролина @ 17.09.2012 - 15:43)
ну вот ктото уже собираетсяпрочитать

Дааааааа
user posted image
почитаааааать


--------------------
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Bezdna  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Мимо проходил
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1376
Пользователь №: 16492
На форуме: 7 лет, 11 месяцев, 4 дня
Карма: 17




Каролина, видимо вам в школе не объясняли что списывать нехорошо. Особенно у двоечников.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
dron4ik  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1690
Пользователь №: 31058
На форуме: 4 года, 10 месяцев, 23 дня
Карма: 24




сообщения о текущем состоянии формы. лучше расположить это в шаблоне на по

А?


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SlavaFr  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Журнал
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1535
Пользователь №: 22453
На форуме: 6 лет, 6 месяцев, 2 дня
Карма: 104




Цитата (Каролина @ 17.09.2012 - 13:39)
что написано кракозябрами неважно главное что б работало

1)если без кракозябров работает, то зачем напрягатся и их писать?
2) это пример как делать логин? если да, то его не обязательно в разделе знатоков помещать, так как знатоки как правило принцип логина знают.

о.т.
Цитата (TranceIT @ 17.09.2012 - 13:42)
Приду домой, распечатаю на принтере, забью косячок и скурю...

biggrin.gif biggrin.gif biggrin.gif День спасен.


--------------------
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Каролина  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



KRE3I
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1057
Пользователь №: 30921
На форуме: 4 года, 11 месяцев, 7 дней
Карма: -3




Bezdna
я сама сделала


--------------------
wmu (U398141202367)
wmr (R321962242752)[SIZE=7][COLOR=purple]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Bezdna  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Мимо проходил
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1376
Пользователь №: 16492
На форуме: 7 лет, 11 месяцев, 4 дня
Карма: 17




Цитата (Каролина @ 18.09.2012 - 14:09)
я сама сделала


Сама списала и сама сделала это не одно и то же. А вообще - я не понял, что ты хотела от этой темы, похвалы за кучу нечитаемого кода?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22689
Пользователь №: 20039
На форуме: 6 лет, 11 месяцев, 27 дней
Карма: 599




Почему 2 кода имеют разный стиль форматирования? Визуально могу сказать, что один из них твой, второй - чужой. Как это понимать?


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чтобы все !
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1965
Пользователь №: 26852
На форуме: 5 лет, 8 месяцев, 18 дней
Карма: 111




inpost
Цитата
Как это понимать?
Это иллюзия laugh.gif biggrin.gif
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Каролина  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



KRE3I
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1057
Пользователь №: 30921
На форуме: 4 года, 11 месяцев, 7 дней
Карма: -3




на последний не глядите


--------------------
wmu (U398141202367)
wmr (R321962242752)[SIZE=7][COLOR=purple]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса