[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Курсы PHP. Урок №1 от IRBIS-team
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
kaktus2010
Цитата (twin @ 27.03.2010 - 02:35)
ohxxx
Ну воббще то разбирать его принцип действия не особо нужно, пока им просто нужно научиться пользоваться. Потому что там довольно хитрые механизмы, которые на начальном этапе только заморочат голову. Потом понимание придет само. Но если сильно хочется, могу конечно и расписать.

kaktus2010
Да, действительно было напутано с именами. Сейчас поправил.

Цитата
Что такое
static $files;
$files = count($files)?$files:array('1');

static - так переменная объявляется статической. То есть оа будет жить в функции, пока работает скрипт. Обычная переменная обнуляется, как только заканчивает работу функция.
Дальше тернарный оператор и count(). Вообще все, что не понятно, нужно смотреть в мануале. Вот тут очень неплохой перевод.

Спасибо.
Все понял.
ohxxx
Цитата (twin @ 27.03.2010 - 02:35)
ohxxx
Ну воббще то разбирать его принцип действия не особо нужно, пока им просто нужно научиться пользоваться. Потому что там довольно хитрые механизмы, которые на начальном этапе только заморочат голову. Потом понимание придет само. Но если сильно хочется, могу конечно и расписать.

Пожалуйста распиши что и как там работает. cool.gif (в смысле за комментируй)

Да не пойму сразу согласен зато понимать быстрее начну

Да и потому думаю что если приложить простой и расписанный (за комментированный) вариант каждый выберет что посчитает нужным.

Благодарю за понимание.

_____________
Подпись отключена за НЕуплату
kaktus2010
Подскажите пожалуста для чего в защите

/////////////////////////////////////////////////////////////////
// SEQURYTI
// ЗАЩИТА
/////////////////////////////////////////////////////////////////

if(empty($_SERVER['PHP_AUTH_USER']))
{
header ('WWW-Authenticate: Basic realm="Admin Page"');
header ('HTTP/1.0 401 Unauthorized');
exit();
}

$key = false;

foreach($admins as $admin => $password)
if($_SERVER['PHP_AUTH_USER'] === $admin && $_SERVER['PHP_AUTH_PW'] === $password)
$key = true;

if(!$key)
exit('Нету раздавать.');

использовать массив с именем администратора и паролем?
Почему просто не взять две переменные и записать в них имя и пароль, а потом сравнивать с введеными в форму.
Adil
Цитата (kaktus2010 @ 1.04.2010 - 04:06)
Почему просто не взять две переменные и записать в них имя и пароль, а потом сравнивать с введеными в форму.

Это http (basic) аутентификация средствами апача. Какую аутентификацию использовать на сайте, решать тебе. С введенными данными в твою форму, как ты сказал выше или же готовыми средствами.

if(empty($_SERVER['PHP_AUTH_USER'])) 
{
header ('WWW-Authenticate: Basic realm="Admin Page"');
header ('HTTP/1.0 401 Unauthorized');
exit();
}

Если пока не вводили ничего, то выдаем окошко для авторизации.


$key = false;

устанавливаем некую переменную, как "переключатель". Изначально откл.



foreach($admins as $admin => $password) 
if($_SERVER['PHP_AUTH_USER'] === $admin && $_SERVER['PHP_AUTH_PW'] === $password)
$key = true;

в массиве $admins скорее всего находятся логины и пароли администраторов. Поэтому сверяем их с теми, что вписал пользователь. Если все верно устанавливаем "переключатель" $key на вкл.

if(!$key) 
exit('Нету раздавать.');


проверяем вкл или откл "переключатель", и делаем то что надо..
twin
Цитата
Почему просто не взять две переменные и записать в них имя и пароль, а потом сравнивать с введеными в форму.

Потому что администраторов может быть несколько. И пароль должен быть у каждого свой.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
kaktus2010
Цитата (twin @ 1.04.2010 - 03:16)
Цитата
Почему просто не взять две переменные и записать в них имя и пароль, а потом сравнивать с введеными в форму.

Потому что администраторов может быть несколько. И пароль должен быть у каждого свой.

Понятно!
У меня возник еще вопрос.
Это по поводу функции ссылок
В функции мы проверяем какие получены аргументы и сравниваем их с масивом заданном в variables.php.

foreach($arg as $var) // Перебираем полученные аргументы
{
$param = explode('=', $var); // Разделяем имя переменной и значение (page=gallery, например)

// Если в массиве $GET ($tmp) есть ключ, полученный выше (в данном случае 'page')
if(array_key_exists($param[0], $tmp))
$tmp[$param[0]] = $param[1]; // То этому ключу присваеваем полученное значение
else
die('The variable <b>'. $param[0] .'</b> is not defined'); // Иначе...
}

Для чго это?
twin
Для того, что бы можно было переключить вид ссылок с ЧПУ на обычный. И что бы писать их было удобнее. Там все описано.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
gripp
Хоп ohmy.gif прошел курсы всем известного вебучителя, а utf-8 и tab nkr узнал ..
ohxxx
Добрый день IRBISteam и Г-Н Twin.
Хм не знал где написать напишу тут про небольшие ошибки и мои пожелания по курсу
Организация структуры сайта
1. Файл index.php тот который лежит в main/salutations почему его не назвать по другому ? когда первый раз проходил от этого мозги плавились что два индекса. Ведь можно сразу назвать как в уроке Nr-8 : welcome_controller.php ну или просто без приставки welcome.php

2. Почему масивы вы пишете так
$arr_who = array(
1 => 'Мир',
'Солнце',
'Небо',
'Вася',
'Петя'
);

а не так ( намой взгялд так нагляднее было бы для новичков. Да и например если создвать многомерный массив то он выглядит гораздо лучше)
$arr_who [1] = 'Мир';
$arr_who [] = 'Солнце';...

или

$arr_who [1] = 'Мир';
$arr_who [2] = 'Солнце';...




3. У вас написанно в файл menu.tpl пишем
<li><a href="?mod=main">Главная страница</a></li>....


и несколькими строчками ниже вы пишете

$page = !empty($_GET['page'])?$_GET['page']:NULL;


Эм тут чегото надо поправить или первое или второе тк $_GET['page'] просто не будет существовать и страницы не будут переключаться


4. Скажите а почему путь до файла пишется ./skins/tpl/main/show.tpl
а не просто skins/tpl/main/show.tpl я как то не понимаю за чем точка и слэш надо


5. Почему когда мы уже используем (наверно все таки лучше уже пользоваться тем что написали )

$arr_who = array(
1 => WHO_FIRST,
WHO_SECON,
WHO_THIRD,
WHO_FOURTH,
WHO_FIFTH
);





вдруг в в уроке Nr 8 всплывает


$arr_who = array(
1 => 'Мир',
'Солнце',
'Небо',
'Вася',
'Петя'
);


$who = $arr_who[rand(1, 5)];


З.Ы.Просто ещё раз решил протий вместе с ядром чтобы начать лучше понимать.



Эм я просто хотел указать на меленькие ошибки и мои пожелания ....
Если ещё что найду напишу.

_____________
Подпись отключена за НЕуплату
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.