Как сделать пароль на вход

1. SIR2100 (22.02.2011 / 21:41)
Как сделать пароль куда-то?
Ну например при вводе пароля мы должны вывести сообщение.
Вот сценарий
1)вводим пароль в форму
2)проверка пароля
3)вывод сообщения
второй и третий ход тут
<?
if($pass==0022){
echo 'все ок'
};
?>
Что делать с первым? smile
Учусь с нуля. Решил завязать с переделыванием, хочу своего, пусть пока не качественного, но своего.

2. SIR2100 (22.02.2011 / 21:52)
Или напишите пример с нуля. Простенький, чтобы понять принцып действия.
smile

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)
Спасибо) smile

Добавлено через 02:19 сек.
<form action=\"?\" method=\"POST\"> объясни, что именно делает эта строка. Мне не совсем понятно. smile

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)
Да ппц чего-то я перепил... Вот как, в общем D

<?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, да теперь все работает. Спасибо) Щас разберусь в строении и будет точно ништяк) smile

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, не понял тебя.
Понимаю что эта строка скрывает ошибки.
Я пока с денвером вожусь. Что такое апач только слышал)) поэтому особо представления не имею что это smile

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)
вторая и третья строка мне понятны. Мне был непонятен только этот одинокий вопрос. Теперь понятно что это значит) спс smile
P.s. это уже вроде как к php относится) Да и особо времени нет на учение этого языка програмирования

Добавлено через 01:07 сек.
Уже сделан шаблон сайта. Сейчас я внедряю в него разные функции

24. SIR2100 (23.02.2011 / 23:23)
Вопрос: на сколько надежен такой вид входа? smile

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"ом если обработать? smile

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>'; 
} 
?>
так должно быть с простейшим шифрованием? smile

31. Станислав (25.02.2011 / 09:26)
30. SIR2100, да так смысла нет делать. Что тут толку от этого шифрования? =)))

32. SIR2100 (25.02.2011 / 09:49)
31, а как делать нужно? я не пойму что-то. Можешь пример привести? smile

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-ем шагах), шифруем наш, введенный из другой, новой формы, сравниваем их в зашифрованном виде.
Так? smile

35. Роман (25.02.2011 / 18:57)
34. SIR2100, вместо base64 лучше md5 юзай) безопасней smile

36. SIR2100 (25.02.2011 / 19:07)
ок. Пошел гляну что это такое) smile

37. Роман (25.02.2011 / 19:30)
36. SIR2100, MD5 - это хэш

38. SIR2100 (25.02.2011 / 20:29)
Ну вот простейшая на мой взгляд схема
<?php 
$b == ('SIR2100');
$a == md5($b);
echo '$a'; 
?>
И не работает E что я не так сделал? smile

Добавлено через 02:57 сек.
<?php
$str = 'apple';

if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
    echo "Would you like a green or red apple?";
    exit;
}
?>
Делал все исходя из вышеописанного кода с php.su smile

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, ты насчет какого случая? smile

Добавлено через 01:21 сек.
41, как выражение закодировать и раскодировать? я это не понял smile

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