Как сделать пароль на вход
1.
SIR2100 (22.02.2011 / 21:41)
Как сделать пароль куда-то?
Ну например при вводе пароля мы должны вывести сообщение.
Вот сценарий
1)вводим пароль в форму
2)проверка пароля
3)вывод сообщения
второй и третий ход тут
<?
if($pass==0022){
echo 'все ок'
};
?>
Что делать с первым?
Учусь с нуля. Решил завязать с переделыванием, хочу своего, пусть пока не качественного, но своего.
2.
SIR2100 (22.02.2011 / 21:52)
Или напишите пример с нуля. Простенький, чтобы понять принцып действия.
3.
SIR2100 (22.02.2011 / 22:25)
<?
echo "
<form><input type=text name=pass><br>
<input type=submit value=ok>
</form>";
$pass=$_POST['pass'];
if($pass==0022){
echo 'все ок';
}
?>
Вот сделал. Только не знаю в чем ошибка. Хелп!!
4.
Александр (22.02.2011 / 22:37)
<form action="?" method="POST">
5.
SIR2100 (22.02.2011 / 22:41)
а как это с кодом совместить? Дальше будет case(?); ?
6.
Александр (22.02.2011 / 23:14)
так
<?
echo "<form action=\"?\" method=\"POST\">
<input type=text name=pass><br>
<input type=submit value=ok>
</form>";
$pass=$_POST['pass'];
if($pass==0022){
echo 'все ок';
}
?>
7.
SIR2100 (22.02.2011 / 23:29)
Спасибо)
Добавлено через 02:19 сек.
<form action=\"?\" method=\"POST\"> объясни, что именно делает эта строка. Мне не совсем понятно.
8.
Станислав (22.02.2011 / 23:32)
<?php
$pass=$_POST['pass'];
if(isset($pass))
{
echo'<form action="?" method="POST">
<input type="pass" name="pass">
<input type="submit" value="Готово">
</form>';
}
elseif($pass == 0022)
{
echo 'Всё ништяк, пароль правильный';
}
else
{
echo 'Поправь свои руки и заного вводи пароль, индюк!<br>';
echo'<form action="?" method="POST">
<input type="pass" name="pass">
<input type="submit" value="Готово">
</form>';
}
?>
Добавлено через 01:16 сек.
7.
SIR2100, это форма, которая посылает данные методом POST (то бишь методом ввода)
9.
SIR2100 (22.02.2011 / 23:46)
8, почему-то не работает. Тупо окно ввода и "готово".
10.
Станислав (22.02.2011 / 23:48)
9.
SIR2100, ну, а ты 0022 введи туда =)
11.
SIR2100 (22.02.2011 / 23:50)
$pass=$_POST['pass']; эта строка. Убрал ее и все заработало. При первом вводе показывало что индюк что-то там, последующие вводы были тщетны
Добавлено через 01:42 сек.
10.
SNELS, ничего не происходит. Попробуй сам)
12.
Станислав (23.02.2011 / 00:53)
11.
SIR2100, у тебя чо, register_globals on?
Добавлено через 08:40 сек.
Тьфу блин, просто вот так надо было =))
<?php
$pass=$_POST['pass'];
if(isset($pass))
{
echo'<form action="?" method="POST">
<input type="pass" name="pass">
<input type="submit" value="Готово">
</form>';
}
elseif($pass == 0022)
{
echo 'Всё ништяк, пароль правильный';
}
else
{
echo 'Поправь свои руки и заного вводи пароль, индюк!<br>';
echo'<form action="?" method="POST">
<input type="pass" name="pass">
<input type="submit" value="Готово">
</form>';
}
?>
13.
Станислав (23.02.2011 / 01:08)
Да ппц чего-то я перепил... Вот как, в общем
<?php
$pass=$_POST['pass'];
if(!isset($pass))
{
echo'<form action="?" method="POST">
<input type="pass" name="pass">
<input type="submit" value="Готово">
</form>';
}
elseif($pass == 0022)
{
echo 'Всё ништяк, пароль правильный';
}
else
{
echo 'Поправь свои руки и заного вводи пароль, индюк!<br>';
echo'<form action="?" method="POST">
<input type="pass" name="pass">
<input type="submit" value="Готово">
</form>';
}
?>
14.
SIR2100 (23.02.2011 / 12:59)
echo "<form action=\"?\" method=\"POST\">
<input type=password name=pass>
<input type=submit value=ok>
</form>";
$pass=$_POST['pass'];
if($pass==MaradeR){
echo 'Менюшка админа!';
} else if($error_str!==''){echo 'Вы ошиблись! Попробуйте еще раз!';}
else {echo'Пожалуйста введите секретный код!';}
Подскажите, где ошибка. При входе на страничку не выводится строка (Пожалуйста введите секретный код)
Добавлено через 02:35 сек.
13, да теперь все работает. Спасибо) Щас разберусь в строении и будет точно ништяк)
15.
Марсель (23.02.2011 / 13:02)
error_reporting(E_ALL); во все свои скрипты
сам плакать будешь со своим апачем))
16.
SIR2100 (23.02.2011 / 13:07)
echo'<form action="?" method="POST">
SNELS, объясни что делает эта часть кода
<form action="?" method="POST">
Точнее какую роль играет
action="?"
и
method="POST"
Добавлено через 02:02 сек.
15, не понял тебя.
Понимаю что эта строка скрывает ошибки.
Я пока с денвером вожусь. Что такое апач только слышал)) поэтому особо представления не имею что это
17.
Марсель (23.02.2011 / 13:10)
action="?"
это куда будет послан после формы
method="POST"
// metod пост)
Добавлено через 00:34 сек.
> Понимаю что эта строка скрывает ошибки.
эта строка наоборот показывает ошибки)
18.
SIR2100 (23.02.2011 / 13:14)
17, думаю одно а пишу другое хД
Так если вопрос стоит в том месте куда посылать, как он определяет куда отправлять?
19.
Женек (23.02.2011 / 13:19)
18.
SIR2100,
action = "?" - пойдет на ту же страницу с которой ушел
action = "index.php?" - уйдет на index.php
action = "naxren.php?cat=3" - уйдет нахрен
Добавлено через 01:48 сек.
18.
SIR2100, а вообще, мой тебе совет учить сначала html хотя бы чуть чуть, а потом уже php..
20.
Марсель (23.02.2011 / 13:26)
я раньше формы сам не мог написать)
Как php начал осваивать так и html пошло)
А раньше знал как ссылку и картинки прописывать ну и т.п не много)
Добавлено через 01:08 сек.
^ Имею ввиду, не надо оттягивать автора от цели
21.
KOZZ (23.02.2011 / 13:29)
начинать надо с разметки, самый минимум - ссылки, картинки, текст, формы, правильно basters говорит.
22.
Марсель (23.02.2011 / 13:30)
Ну это верно)
23.
SIR2100 (23.02.2011 / 13:41)
вторая и третья строка мне понятны. Мне был непонятен только этот одинокий вопрос. Теперь понятно что это значит) спс
P.s. это уже вроде как к php относится) Да и особо времени нет на учение этого языка програмирования
Добавлено через 01:07 сек.
Уже сделан шаблон сайта. Сейчас я внедряю в него разные функции
24.
SIR2100 (23.02.2011 / 23:23)
Вопрос: на сколько надежен такой вид входа?
25.
Станислав (23.02.2011 / 23:32)
24.
SIR2100, вот если точь-в-точь прям так, то не особо =)) Ну, хотя, тут дыр-то и нет, но один фиг как-то не айс. Пароль нужно хранить отдельно где-то в md5 (или может ещё чего), а введённый пароль тоже переводить в md5 и сравнивать с тем, что хранится на сервере. Вот так будет надёжней.
Добавлено через 05:28 сек.
А потом ещё и сессии вообще подключать надо. Ибо не практично получится.
26.
Сааааа-нёёёёё-к (24.02.2011 / 01:49)
ойёей, ребятв... html для начала подучите, а то увас ужс получаеться какойто
27.
SIR2100 (24.02.2011 / 09:08)
25, у меня опыта сейчас не хватит(((
28.
Станислав (24.02.2011 / 11:44)
27.
SIR2100, так вперёд колупать php.su, а то так всегда хватать не будет =)
29.
SIR2100 (24.02.2011 / 15:37)
crypt"ом если обработать?
30.
SIR2100 (24.02.2011 / 23:05)
<?php
$pass=$_POST['pass'];
$pass = crypt($pass);
$password = crypt('0022');
if(!isset($pass))
{
echo '<font class=gtext >Введите секретный код:</br></font>';
echo'<form action="?" method="POST">
<input type="password" name="pass">
<input type="submit" value="Готово">
</form>';
}
elseif($pass == $password)
{
echo '<font class=gtext >Админка</font>';
}
else
{
echo '<font class=gtext >Введите секретный код:</br></font>';
echo'<form action="?" method="POST">
<input type="password" name="pass">
<input type="submit" value="Готово">
</form>';
echo '<font class=gtext >Ошибка! Попробуйте ввести Введите секретный код заново!<br></font>';
}
?>
так должно быть с простейшим шифрованием?
31.
Станислав (25.02.2011 / 09:26)
30.
SIR2100, да так смысла нет делать. Что тут толку от этого шифрования? =)))
32.
SIR2100 (25.02.2011 / 09:49)
31, а как делать нужно? я не пойму что-то. Можешь пример привести?
33.
Станислав (25.02.2011 / 15:46)
32.
SIR2100, да пожалуйста
http://www.google.com/search?client=ubuntu&channel=fs&q=Авторизация+на+php&ie=utf-8&oe=utf-8
34.
SIR2100 (25.02.2011 / 18:50)
SNELS, смотри, небольшая схемка.
1)создаем форму ввода текста.
2)шифруем через base64_encode
3)отправляем в pass.dat
При входе пользователя мы берем из файла pass.dat зашифрованный пароль (на 2 и 3-ем шагах), шифруем наш, введенный из другой, новой формы, сравниваем их в зашифрованном виде.
Так?
35.
Роман (25.02.2011 / 18:57)
34.
SIR2100, вместо base64 лучше md5 юзай) безопасней
36.
SIR2100 (25.02.2011 / 19:07)
ок. Пошел гляну что это такое)
37.
Роман (25.02.2011 / 19:30)
36.
SIR2100, MD5 - это хэш
38.
SIR2100 (25.02.2011 / 20:29)
Ну вот простейшая на мой взгляд схема
<?php
$b == ('SIR2100');
$a == md5($b);
echo '$a';
?>
И не работает
что я не так сделал?
Добавлено через 02:57 сек.
<?php
$str = 'apple';
if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
echo "Would you like a green or red apple?";
exit;
}
?>
Делал все исходя из вышеописанного кода с php.su
39.
SIR2100 (25.02.2011 / 21:05)
объясните плиз что не так в этой строке?
$pass=$_POST['$pass'];
Почему h2m злобно ругается, когда ее видит? точнее показывает номер этой строки и кричит о том что здесь ошибка
Добавлено через 01:14 сек.
ему не нравится переменная $pass да и если доллар убрать, будет ругаться по поводу pass
Добавлено через 04:48 сек.
Notice: Undefined variable: act in /usr/home/prarusyaz/htdocs/pages/guest.php on line 121 Notice: Undefined variable: act in /usr/home/prarusyaz/htdocs/pages/guest.php on line 147 Notice: Undefined offset: 0 in /usr/home/prarusyaz/htdocs/pages/guest.php on line 107
107) for($i=0; $str=$file[$i]; $i++)
121) case 'add':
147) case 'added':
Помогите решить проблемку))
40.
Дмитрий (25.02.2011 / 21:11)
Проверь ее существование. Если есть - фильтруй. Если нет - объяви ее пустой.
41.
Станислав (25.02.2011 / 21:17)
Так, пусть пароль (для примера: 1234) лежит в файле pass.dat. 1234 = 81dc9bdb52d04dc20036dbd8313ed055.
Так вот, значит:
<?php
$password = fopen("pass.dat" , "r");
$pass=md5($_POST['pass']);
if(!isset($pass))
{
echo'<form action="?" method="POST">
<input type="pass" name="pass">
<input type="submit" value="Готово">
</form>';
}
elseif($pass == $password)
{
echo 'Всё ништяк, пароль правильный';
}
else
{
echo 'Поправь свои руки и заного вводи пароль, индюк!<br>';
echo'<form action="?" method="POST">
<input type="pass" name="pass">
<input type="submit" value="Готово">
</form>';
}
?>
42.
SIR2100 (25.02.2011 / 21:24)
40, ты насчет какого случая?
Добавлено через 01:21 сек.
41, как выражение закодировать и раскодировать? я это не понял
43.
Станислав (25.02.2011 / 21:45)
42.
SIR2100, раскодировать ничего не надо. Надо закодированное уже сверять.
Вот смотри, к примеру:
$var = 1234; //Это просто 1234 =)
А вот:
$var_md5 = md5($var); // это уэе закодированное $var.
44.
SIR2100 (25.02.2011 / 21:50)
SNELS (25 Февраля 2011 / 21:45)
42. SIR2100, раскодировать ничего не надо. Надо закодированное уже сверять.
Вот смотри, к примеру:
$var = 1234; //Это просто 1234 =)
А вот:
$var_md5 = md5($var); // это уэе закодированное $var.
ну грубо говоря, должна вывестись закодированная строка в этом случае
<?php
$b == ('SIR2100');
$a_md5 == md5($b);
echo '$a';
?>
45.
SIR2100 (25.02.2011 / 22:02)
Все я понял свою ошибку
<?php
$b = ('SIR2100');
$a_md5 = md5($b);
echo ($a_md5);
?>
Добавлено через 01:32 сек.
Блин интересно это все) только не интересно это все самому вычитывать и все самому учить, делать ошибки, не зная как и исправить. Пасиб ребят, всем кто помогает)
46.
SIR2100 (25.02.2011 / 22:27)
<?php
$pass=md5($_POST['pass']);
if(!isset($pass))
{
echo'<form action="?" method="POST">
<input type="pass" name="pass">
<input type="submit" value="Готово">
</form>';
}
elseif($pass == 'хэш')
вот так работает нормально
<?php
$password = fopen("../local/adminpass.dat" , "r");
$pass=md5($_POST['pass']);
if(!isset($pass))
{
echo'<form action="?" method="POST">
<input type="pass" name="pass">
<input type="submit" value="Готово">
</form>';
}
elseif($pass == $password)
Так уже пароль не подходит
URL:
https://visavi.net/topics/19024