X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Пишу авторизацию
werwolt
werwolt
Topic Starter сообщение 12.4.2011, 21:53; Ответить: werwolt
Сообщение #1


[PHP]
<?
if(isset($_POST[log]))
{
echo "$_POST[log]";
if($POST[log]==1)
echo"ыыыыыыыыы";
}
?>
[/PHP]
ввожу в форму 1, строка [PHP]echo "$_POST[log]"[/PHP] выдает 1 а дальше [PHP]if($POST[log]==1)
echo"ыыыыыыыыы";[/PHP] не срабатывает
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Yuri_hb
Yuri_hb
сообщение 12.4.2011, 22:02; Ответить: Yuri_hb
Сообщение #2


если по правильному то предпочтительно писать:
[PHP]
$log = !empty($POST['log']) ? $_POST['log'] : null;
//потом вполне достаточно

if ($log){
echo $log;
if ($log === 1){
echo 'passed';
}
}[/PHP]

и предпочтительно первой строкой любого скрипта писать:
[PHP]error_reporting(E_ALL);[/PHP]

так же для систем регистрации пользователей желательно знать что такое md5, соль(salt), только не та что едят ;)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
werwolt
werwolt
Topic Starter сообщение 12.4.2011, 22:21; Ответить: werwolt
Сообщение #3


===(три равно) не опечатка? если бы писал регистрацию так бы и делал, но я пишу вход в админку поэтому у меня все просто. Не работает строка
if($POST[log]==1) - даже если $POST[log] = 1 не хочет это признавать, вот в чем пробелма, хотя echo выдает что $POST[log] 1 ,
это все пример, мне например надо будет if($POST[log]==ololo)
п.с алгоритм расшифровки мд-5 доступен в сети, а если проще то в гугле вбить на 1 попавшийся сайт зайти, ввести хэш и быренько переведет)))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Yuri_hb
Yuri_hb
сообщение 12.4.2011, 22:32; Ответить: Yuri_hb
Сообщение #4


проверь что тебе приходит в посте:
[PHP]echo '<pre>';
print_r ($_POST);
echo '</pre>';[/PHP]

попробуй:
[PHP]$POST['log']==1[/PHP] (лог в апострофах)

=== точно равно, не опечатка

мд5 не расшифрует быстренько ;) даже имея хеш это прцедура весьма не скоросная..
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Yuri_hb
Yuri_hb
сообщение 12.4.2011, 22:35; Ответить: Yuri_hb
Сообщение #5


вот и нашлось..
[PHP]if($POST[log]==1)[/PHP]

а как правильно называется суперглобальный массив пост?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
werwolt
werwolt
Topic Starter сообщение 12.4.2011, 23:23; Ответить: werwolt
Сообщение #6


млин я час сидел, ловил такую кретинскую ошибку)))))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 13.4.2011, 11:26; Ответить: Mulder_hb
Сообщение #7


Так писать empty($_POST['log']) во все не предпочтительно, т.к. $_POST['log'] может содержать данные, которые функцией empty() воспринимаются, как пустые, тем самым вы убьете собственные данные. Пишите через isset(), а потом, при необходимости, обрабатывайте данные.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Yuri_hb
Yuri_hb
сообщение 13.4.2011, 11:53; Ответить: Yuri_hb
Сообщение #8


!empty($_POST['log']) затрет $_POST['log'] только в случае, когда по пост не придет ничего или 0. В ценности "0" в этом случае я немного сомневаюсь, а вообще нужно смотреть по конкретной ситуации.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
werwolt
werwolt
Topic Starter сообщение 13.4.2011, 12:43; Ответить: werwolt
Сообщение #9


Написал админку, у меня на всех страницах стартуется сессия , если не существует $_SESSION[user] перебрасывает на страницу авторизации, там если правильно ввести пароль (из формы постом в эту же страницу, то что описано выше) то стартуется сессия и переменной $_SESSION[user] присваивается 1 (могло быть любое значение , неважно) , поэтому мне не важно на всех страницах я мог бы написать 1)if(isset($_SESSION[user])) 2) 1)if(!empty($_SESSION[user])) 3) 1)if(($_SESSION[user]==1) и ничего бы не поменялось.))) кстати нормальная система админки или я кран?)))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Slavoz
Slavoz
сообщение 13.4.2011, 14:46; Ответить: Slavoz
Сообщение #10


(werwolt @ 13.4.2011, 01:21) *
===(три равно) не опечатка?

=== обозначает что равны не только сравниваемые переменные, но и их тип
потому что если бы мы написали
[PHP]
$str = "10";
$int = 10;
if ($str == $int) {
echo ("$str = $int");
}
else {
echo ("$str != $int");
}
[/PHP]
действительно, они равны, но:
[PHP]
$str = "10";
$int = 10;
if ($str === $int) {
echo ("$str = $int");
}
else {
echo ("$str != $int");
}
[/PHP]
уже не будут равны
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Пишу тексты на пикантную тематику, от которых становится жарко. Десятилетний опыт к вашим услугам.
15 AvtorXXX 7632 12.12.2023, 0:45
автор: AndrePro
Открытая тема (нет новых ответов) Пишу статьи на русском – Опыт 10+ лет, от 100₽ за 1000 знаков
9 duoseo 1711 28.6.2023, 10:08
автор: duoseo
Открытая тема (нет новых ответов) Пишу тексты которые любят Яндекс и Google. Копирайт от 90 руб за 1000 зн
4 dmitrixxx1 2493 19.4.2023, 7:22
автор: dmirtixxx
Открытая тема (нет новых ответов) Пишу рекламные тексты
Контент для соцсети, графика
9 webluxe 1740 27.9.2022, 5:01
автор: LetsChange
Открытая тема (нет новых ответов) Пишу софт, регеры, парсеры, рассыльщики, граберы и пр на заказ
3 Easy_Developer 3210 22.6.2022, 16:27
автор: Easy_Developer


 



RSS Текстовая версия Сейчас: 29.3.2024, 1:08
Дизайн