файл1:
<html>
<head>
</head>
<body>
<form action="файл2.php" method="post">
<table border=0>
<tr>
<td colspan="2" align="center">fsdfsdg</td>
</tr>
<tr>
<td bgcolor=#336699><font color=white>Login</td><td bgcolor=#336699><font
color=white>Password</td>
</tr>
<tr>
<td><input type="text" name="login"></td><td><input type="password" name="pass"></td>
</tr>
<tr>
<td colspan=2 align="center"><input type="submit" name="go1" value="идентификация"></td>
<tr>
</form>
</table>
</body>
</html>
Файл2:
<?
include "config1.php";
$login = $_POST['login'];
if(!isset($_POST['go1']))
{
echo "Ошибка";
}
else{
$login=addslashes($login);
$result=mysql_query("SELECT zakaz.idtovar, tovar.opis, tovar.data, tovar.price
FROM zakaz INNER JOIN tovar ON zakaz.idtovar = tovar.idtovar WHERE zakaz.idtovar='".$login."' ORDER BY
tovar.opis");
if(mysql_num_rows($result)==0)
{
echo "Вас нету в БД</p>";
}
else{
echo "Здраствуйте";
echo "$HTTP_COOKIE_VARS[login]";
?>
<html>
<head>
<title>Поиск книги</title>
</head>
<body>
<h1>Поиск заказов по дате</h1>
<form action="results.php" method="post">
Укажите день с:
<select name="den1">
<option value="01" />1
<option value="02" />2
<option value="03" />3
<option value="04" />4
<option value="05" />5
<option value="06" />6
<option value="07" />7
<option value="08" />8
<option value="09" />9
<option value="10" />10
<option value="11" />11
<option value="12" />12
<option value="13" />13
<option value="14" />14
<option value="15" />15
<option value="16" />16
<option value="17" />17
<option value="18" />18
<option value="19" />19
<option value="20" />20
<option value="21" />21
<option value="22" />22
<option value="23" />23
<option value="24" />24
<option value="25" />25
<option value="26" />26
<option value="27" />27
<option value="28" />28
<option value="29" />29
<option value="30" />30
<option value="31" />31
</select>
<br>
Укажите месяц с:
<select name="mes1">
<option value="01" />январь
<option value="02" />февраль
<option value="03" />март
<option value="04" />апрель
<option value="05" />май
<option value="06" />июнь
<option value="07" />июль
<option value="08" />август
<option value="09" />сентябрь
<option value="10" />октябрь
<option value="11" />ноябрь
<option value="12" />декабрь
</select>
<br>
Укажите день с:
<select name="god1">
<option value="2000" />2000
<option value="2001" />2001
<option value="2002" />2002
<option value="2003" />2003
<option value="2004" />2004
<option value="2005" />2005
<option value="2006" />2006
<option value="2007" />2007
<option value="2008" />2008
<option value="2009" />2009
<option value="2010" />2010
<option value="2011" />2011
</select>
<br>
<br>
<br>
Укажите день по:
<select name="den2">
<option value="01" />1
<option value="02" />2
<option value="03" />3
<option value="04" />4
<option value="05" />5
<option value="06" />6
<option value="07" />7
<option value="08" />8
<option value="09" />9
<option value="10" />10
<option value="11" />11
<option value="12" />12
<option value="13" />13
<option value="14" />14
<option value="15" />15
<option value="16" />16
<option value="17" />17
<option value="18" />18
<option value="19" />19
<option value="20" />20
<option value="21" />21
<option value="22" />22
<option value="23" />23
<option value="24" />24
<option value="25" />25
<option value="26" />26
<option value="27" />27
<option value="28" />28
<option value="29" />29
<option value="30" />30
<option value="31" />31
</select>
<br>
Укажите месяц по:
<select name="mes2">
<option value="01" />январь
<option value="02" />февраль
<option value="03" />март
<option value="04" />апрель
<option value="05" />май
<option value="06" />июнь
<option value="07" />июль
<option value="08" />август
<option value="09" />сентябрь
<option value="10" />октябрь
<option value="11" />ноябрь
<option value="12" />декабрь
</select>
<br>
Укажите день по:
<select name="god2">
<option value="2000" />2000
<option value="2001" />2001
<option value="2002" />2002
<option value="2003" />2003
<option value="2004" />2004
<option value="2005" />2005
<option value="2006" />2006
<option value="2007" />2007
<option value="2008" />2008
<option value="2009" />2009
<option value="2010" />2010
<option value="2011" />2011
</select>
<br>
<br>
<br>
<br>
<br>
<input type=submit value="Поиск" name="go">
</form>
</body>
</html>
<?
}
}
?>
файл3:
</html>
<html>
<head>
<title>Результаты поиска книги</title>
<?
$den1 = $_POST['den1'];
$mes1 = $_POST['mes1'];
$god1 = $_POST['god1'];
$den2 = $_POST['den2'];
$mes2 = $_POST['mes2'];
$god2 = $_POST['god2'];
$login = $_POST['login'];
?>
</head>
<body>
<?
include "config1.php";
if (!$den1 || !$mes1 || !$god1 || !$den2 || !$mes2 || !$god2 || !$login)
{
echo "Вы не ввели критерии поиска.Вернитесь назад и попробуйте еще раз";
exit();
}
$den1=addslashes($den1);
$mes1=addslashes($mes1);
$god1=addslashes($god1);
$den2=addslashes($den2);
$mes2=addslashes($mes2);
$god2=addslashes($god2);
$login=addslashes($login);
echo "<table WIDTH=80% border=2 cellspacing=0 cellpadding=3 bordercolor=#336699
align=center>";
echo "<tr><td bgcolor=#336699><font color=white>Номер</td>
<td bgcolor=#336699><font color=white>Наименование</td><td bgcolor=#336699><font
color=white>Цена</td><td bgcolor=#336699><font color=white>Дата</td>
</tr>";
$result=mysql_query("SELECT zakaz.idtovar, tovar.opis, tovar.data, tovar.price
FROM zakaz INNER JOIN tovar ON zakaz.idtovar = tovar.idtovar WHERE
zakaz.idtovar='".$login."' AND tovar.data Between '".$god1.$mes1.$den1."' And
'".$god2.$mes2.$den2."' ORDER BY tovar.opis");
$num_results=mysql_num_rows($result);
echo "<p>Количество совершенных заказов:".$num_results."</p>";
for ($i=0; $i <$num_results; $i++){
echo "<tr>";
$row=mysql_fetch_array($result);
echo "<td>$row[idtovar]</td><td>$row[opis]</td><td>$row[price]</td><td>$row[data]</td>
</tr>";
}
echo "</table>";
?>
</body></html>
Спустя 7 минут, 41 секунда (4.02.2010 - 15:36) Soldier Ghost написал(а):
А зачем тебе это нужно? попробуй в сессию его положить
Спустя 2 минуты, 10 секунд (4.02.2010 - 15:38) RuslanMRP написал(а):
привет, Пробую но неполучаеться не могу разобраться с сессией.
Спустя 1 минута, 54 секунды (4.02.2010 - 15:40) RuslanMRP написал(а):
подскажи если знаешь как забить переменную login в сессию в моем случаи
Спустя 6 минут, 10 секунд (4.02.2010 - 15:46) Soldier Ghost написал(а):
в самом верху страницы самой первой строчкой пиши
session_start(); // и на всех страницах где работаешь с сессиями
$_SESSION['login'] = $login; // и далее работаешь уже с $_SESSION['login'];
Спустя 14 минут, 16 секунд (4.02.2010 - 16:01) RuslanMRP написал(а):
Огромное спасибо. Все получилось, все работает.
Подскажи почему в файле2 выводит ошибку:
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
Может не надо старт сессии прописывать, потомучто нет переменной login?
Подскажи почему в файле2 выводит ошибку:
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
Может не надо старт сессии прописывать, потомучто нет переменной login?
Спустя 3 минуты, 28 секунд (4.02.2010 - 16:04) RuslanMRP написал(а):
а если удалить строку session_start(); в файле2.то не работает.
В чем проблема?
В чем проблема?
Спустя 3 минуты, 18 секунд (4.02.2010 - 16:07) phz написал(а):
Оффтоп.
RuslanMRP, чтоб не делать в коде такие портянки, можно вместо:
можно сделать:
RuslanMRP, чтоб не делать в коде такие портянки, можно вместо:
<select name="mes2">
<option value="01" />январь
<option value="02" />февраль
<option value="03" />март
<option value="04" />апрель
<option value="05" />май
<option value="06" />июнь
<option value="07" />июль
<option value="08" />август
<option value="09" />сентябрь
<option value="10" />октябрь
<option value="11" />ноябрь
<option value="12" />декабрь
</select>
можно сделать:
<select name="mes2">
<?php
for($a = 1; $a <= 12; $a++)
{
echo '<option value="'.$a.'">'.$a.'</option>';
}
?>
</select>
Спустя 2 минуты, 59 секунд (4.02.2010 - 16:10) RuslanMRP написал(а):
А как название месяца указать? Спасибо за подсказку
Спустя 10 минут, 19 секунд (4.02.2010 - 16:21) phz написал(а):
Цитата (RuslanMRP @ 4.02.2010 - 13:10) |
А как название месяца указать? Спасибо за подсказку |
Да можно и не указывать, смотря конечно в каких моментах. Вот к примеру и так понятно:
нужно быть яйцелопом чтоб не понять
Извеняюсь что не по теме!
Спустя 3 минуты, 57 секунд (4.02.2010 - 16:25) RuslanMRP написал(а):
только вливаюсь в это 1 неделю, поэтому понимаю, что такое отвечать на данные мной вопросы. Спасибо!
Спустя 28 минут, 57 секунд (4.02.2010 - 16:54) Ice написал(а):
так гораздо красивей
<select>
<?php
$months = array(1 => 'января',
'февраля',
'марта',
'апреля',
'мая',
'июня',
'июля',
'августа',
'сентября',
'октября',
'ноября',
'декабря');
for($month = 1; $month <= count($months); $month ++){
echo "<option>" . $months[$month] . "</option>";
}
?>
</select>
Спустя 3 минуты, 34 секунды (4.02.2010 - 16:57) RuslanMRP написал(а):
Спасибо!
Спустя 56 секунд (4.02.2010 - 16:58) Ice написал(а):
Пожалуйста!
Спустя 3 минуты, 3 секунды (4.02.2010 - 17:01) RuslanMRP написал(а):
Ice
Подскажи, как можно шифровать пароль?
Подскажи, как можно шифровать пароль?
Спустя 2 минуты, 5 секунд (4.02.2010 - 17:03) Ice написал(а):
$salt = "Круто сгенеренная соль";
md5($pass . $salt);
Спустя 6 минут, 50 секунд (4.02.2010 - 17:10) RuslanMRP написал(а):
Ice
Вместо Круто сгенеренная соль я могу сам ввести какие угодно мне символы?
Вместо Круто сгенеренная соль я могу сам ввести какие угодно мне символы?
Спустя 8 минут, 38 секунд (4.02.2010 - 17:19) Ice написал(а):
Да. И чем больше тем лучше.
Спустя 6 минут (4.02.2010 - 17:25) RuslanMRP написал(а):
Одного только не понимаю. Как мне нужно в БД содержать пороли. Просто у меня задача - пороли будут вбиты в БД и разданы соответствующим людям.
Представляю: они заходят вводят пароль, он генерируеться и сравниваеться с паролем БД. Он же не совпадет.
Как в мое случаи сделать?
Представляю: они заходят вводят пароль, он генерируеться и сравниваеться с паролем БД. Он же не совпадет.
Как в мое случаи сделать?
Спустя 42 секунды (4.02.2010 - 17:25) RuslanMRP написал(а):
Ice
Одного только не понимаю. Как мне нужно в БД содержать пороли. Просто у меня задача - пороли будут вбиты в БД и разданы соответствующим людям.
Представляю: они заходят вводят пароль, он генерируеться и сравниваеться с паролем БД. Он же не совпадет.
Как в мое случаи сделать?
Одного только не понимаю. Как мне нужно в БД содержать пороли. Просто у меня задача - пороли будут вбиты в БД и разданы соответствующим людям.
Представляю: они заходят вводят пароль, он генерируеться и сравниваеться с паролем БД. Он же не совпадет.
Как в мое случаи сделать?
Спустя 4 минуты, 40 секунд (4.02.2010 - 17:30) Gabriel написал(а):
RuslanMRP
http://pyha.ru/articles/php/auth/ почитай
http://pyha.ru/articles/php/auth/ почитай
Спустя 3 минуты, 16 секунд (4.02.2010 - 17:33) Ice написал(а):
чё у тя за сиистема, что ты сам пароли раздаешь людям?
Спустя 3 минуты, 12 секунд (4.02.2010 - 17:36) RuslanMRP написал(а):
Повлияет ли на работу если в коде нет сессии на IP пользователя. Будет ли работать сайт коректно?
Спустя 12 минут, 13 секунд (4.02.2010 - 17:49) Ice написал(а):
Они реганулись, ввели пароль, он полетел из формы в скрипт. Там к нему добавилась соль, всё это дело зашифровалось и только потом происходит сравнение
Разработка системы авторизации - это целая, так сказать, наука=)
Разработка системы авторизации - это целая, так сказать, наука=)
Спустя 8 минут, 11 секунд (4.02.2010 - 17:57) Dimaz написал(а):
Функцией md5() или sha1()
Спустя 3 минуты, 11 секунд (4.02.2010 - 18:00) Dimaz написал(а):
Цитата (RuslanMRP @ 4.02.2010 - 14:25) |
Ice Одного только не понимаю. Как мне нужно в БД содержать пороли. Просто у меня задача - пороли будут вбиты в БД и разданы соответствующим людям. Представляю: они заходят вводят пароль, он генерируеться и сравниваеться с паролем БД. Он же не совпадет. Как в мое случаи сделать? |
С чего ты взял, что пароли не совпадут? Для каждого пароля генерируется свой хеш и он всегда таим и остается
Спустя 4 минуты, 5 секунд (4.02.2010 - 18:04) RuslanMRP написал(а):
Ice
Мне нужно внести сразу пароли в БД. А потом раздать их нужным пользователям. Но то бы пароли лежали в БД не в открытом виде?
Можно как-нибудь это сделать?
Мне нужно внести сразу пароли в БД. А потом раздать их нужным пользователям. Но то бы пароли лежали в БД не в открытом виде?
Можно как-нибудь это сделать?
Спустя 1 минута, 46 секунд (4.02.2010 - 18:06) RuslanMRP написал(а):
Dimaz
Мне нужно внести сразу пароли в БД. А потом раздать их только нужным пользователям. Но что-бы пароли лежали в БД не в открытом виде?
Можно как-нибудь это сделать?
Мне нужно внести сразу пароли в БД. А потом раздать их только нужным пользователям. Но что-бы пароли лежали в БД не в открытом виде?
Можно как-нибудь это сделать?
Спустя 1 минута, 39 секунд (4.02.2010 - 18:08) Dimaz написал(а):
RuslanMRP так тебе же уже сказали как шифровать пароль выше. Функция md5 () и соль применить salt().
Спустя 2 минуты, 28 секунд (4.02.2010 - 18:10) Dimaz написал(а):
Цитата (RuslanMRP @ 4.02.2010 - 15:06) |
Dimaz Мне нужно внести сразу пароли в БД. А потом раздать их только нужным пользователям. Но что-бы пароли лежали в БД не в открытом виде? Можно как-нибудь это сделать? |
Зачем тебе людям пароли раздавать они, что сами не смогут их придумать? И то, что ты второй раз одно и тоже сообщение написал, так это лишнее, у меня есть такая способность читать сообщения в которых обращаются не ко мне
Спустя 2 минуты, 3 секунды (4.02.2010 - 18:12) Dimaz написал(а):
RuslanMRP можешь объяснить с какой целью ты собираешься сам раздавать пароли пользователям и с какой целью?
Спустя 2 минуты (4.02.2010 - 18:14) RuslanMRP написал(а):
Dimaz
Реально извините, наверно вынашу мозг вам......
теперь понял.
Реально извините, наверно вынашу мозг вам......
теперь понял.
Спустя 2 минуты, 20 секунд (4.02.2010 - 18:16) RuslanMRP написал(а):
Просто ту информацию что я должен передать должны просмотреть только свои люди. И я думал что надо раздать логин и пароль им, а они просто пройдут идентификацию и все!
Спустя 3 минуты, 2 секунды (4.02.2010 - 18:19) Dimaz написал(а):
RuslanMRP, почитай у Twin на сайте там все написано про это подробно
Спустя 3 минуты, 29 секунд (4.02.2010 - 18:23) RuslanMRP написал(а):
Еще раз спасибо
Спустя 2 часа, 44 минуты, 43 секунды (4.02.2010 - 21:08) RuslanMRP написал(а):
Ice
Пдскажите, почему не получаеться?
<?
include "config1.php";
if(!isset($_POST['go1']))
{ echo "Ошибка";
}
else{
$salt="ruslan";
$_POST['pass']=md5($pass.$salt);
$result2 = mysql_query ("INSERT INTO zakaz iduser VALUES '$_POST[pass]'");
// Проверяем, есть ли ошибки
if ($result2=='TRUE')
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a
href='index.php'>Главная страница</a>";
}
else {
echo "Ошибка! Вы не смогли зарегистрироваться.";
}
}
?>
Пдскажите, почему не получаеться?
<?
include "config1.php";
if(!isset($_POST['go1']))
{ echo "Ошибка";
}
else{
$salt="ruslan";
$_POST['pass']=md5($pass.$salt);
$result2 = mysql_query ("INSERT INTO zakaz iduser VALUES '$_POST[pass]'");
// Проверяем, есть ли ошибки
if ($result2=='TRUE')
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a
href='index.php'>Главная страница</a>";
}
else {
echo "Ошибка! Вы не смогли зарегистрироваться.";
}
}
?>
Спустя 44 секунды (4.02.2010 - 21:08) RuslanMRP написал(а):
не получаеться шифровать пароль. Почему?
Спустя 3 минуты, 47 секунд (4.02.2010 - 21:12) RuslanMRP написал(а):
Исправил ошибку. В БД заносит, но почему код шифровки одинаковый при разных паролях?
<?
include "config1.php";
if(!isset($_POST['go1']))
{ echo "Ошибка";
}
else{
$salt="ruslan";
$_POST['pass']=md5($pass.$salt);
$result2 = mysql_query ("INSERT INTO zakaz (iduser) VALUES ('$_POST[pass]')");
// Проверяем, есть ли ошибки
if ($result2=='TRUE')
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a
href='index.php'>Главная страница</a>";
}
else {
echo "Ошибка! Вы не смогли зарегистрироваться.";
}
}
?>
<?
include "config1.php";
if(!isset($_POST['go1']))
{ echo "Ошибка";
}
else{
$salt="ruslan";
$_POST['pass']=md5($pass.$salt);
$result2 = mysql_query ("INSERT INTO zakaz (iduser) VALUES ('$_POST[pass]')");
// Проверяем, есть ли ошибки
if ($result2=='TRUE')
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a
href='index.php'>Главная страница</a>";
}
else {
echo "Ошибка! Вы не смогли зарегистрироваться.";
}
}
?>
Спустя 42 секунды (4.02.2010 - 21:13) Ice написал(а):
else{
$salt="ruslan";
$_POST['pass']=md5($pass.$salt);
откуда pass?
Ты воще всё наизнанку вывернул! не трогай ПОСТ!)
Спустя 1 минута, 31 секунда (4.02.2010 - 21:14) RuslanMRP написал(а):
Ice
<html>
<head>
</head>
<body>
<form action="poiskc.php" method="post">
<table border=0>
<tr>
<td colspan="2" align="center">fsdfsdg</td>
</tr>
<tr>
<td bgcolor=#336699><font color=white>Password</td>
</tr>
<tr>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td colspan=2 align="center"><input type="submit" name="go1" value="идентификация"></td>
<tr>
</form>
</table>
</body>
</html>
<html>
<head>
</head>
<body>
<form action="poiskc.php" method="post">
<table border=0>
<tr>
<td colspan="2" align="center">fsdfsdg</td>
</tr>
<tr>
<td bgcolor=#336699><font color=white>Password</td>
</tr>
<tr>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td colspan=2 align="center"><input type="submit" name="go1" value="идентификация"></td>
<tr>
</form>
</table>
</body>
</html>
Спустя 2 минуты (4.02.2010 - 21:16) Ice написал(а):
выключи register_globals!
Спустя 3 минуты, 6 секунд (4.02.2010 - 21:19) RuslanMRP написал(а):
Ice
В php.ini стоит register_globals = Off, если ты это имел ввиду
В php.ini стоит register_globals = Off, если ты это имел ввиду
Спустя 5 минут, 10 секунд (4.02.2010 - 21:25) RuslanMRP написал(а):
Ice
Так тож работает, шифрует, но шифровка одинаковая и не видно чтобы salt добовляло в конец, как я понял.
Что не так, подскажи пожалуйсто!
<?
include "config1.php";
if(!isset($_POST['go1']))
{ echo "Ошибка";
}
else{
$salt="ruslan";
$pass=md5($pass.$salt);
$result2 = mysql_query ("INSERT INTO zakaz (iduser) VALUES ('$pass')");
// Проверяем, есть ли ошибки
if ($result2=='TRUE')
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a
href='index.php'>Главная страница</a>";
}
else {
echo "Ошибка! Вы не смогли зарегистрироваться.";
}
}
?>
Так тож работает, шифрует, но шифровка одинаковая и не видно чтобы salt добовляло в конец, как я понял.
Что не так, подскажи пожалуйсто!
<?
include "config1.php";
if(!isset($_POST['go1']))
{ echo "Ошибка";
}
else{
$salt="ruslan";
$pass=md5($pass.$salt);
$result2 = mysql_query ("INSERT INTO zakaz (iduser) VALUES ('$pass')");
// Проверяем, есть ли ошибки
if ($result2=='TRUE')
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a
href='index.php'>Главная страница</a>";
}
else {
echo "Ошибка! Вы не смогли зарегистрироваться.";
}
}
?>
Спустя 21 минута, 4 секунды (4.02.2010 - 21:46) Ice написал(а):
<?php
include "config1.php";
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$salt = "ruslan";
$pass = md5($_POST['pass'] . $salt);
$pass = mysql_real_escape_string($pass);
$sql = "INSERT INTO zakaz (iduser) VALUES ('$pass')";
$result = mysql_query ($sql)
// Проверяем, есть ли ошибки
or die("Вы не смогли зарегистрироваться");
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
}
?>
вот как примерно должно всё это выглядеть
То, что соль добавлена в конец, - не увидишь. Но расшифровать пароль будет сложнее, пооскольку он становится, во-первых, длиннее на strlen соли, а во вторых приобретает большую криптостойкость еще из-за того, что в соли могут быть небуквенноцифровые символы, к примеру, - !"№;%:?*()_ и т.д. Это одно из, так скажем, условий верно сгенерированной соли.
А насчёт register_globals ты проверь всё же не создаётся ли переменная в скрипте автоматически. Уж очень это небезопасно.
Спустя 14 минут, 29 секунд (4.02.2010 - 22:00) RuslanMRP написал(а):
Ice
Большое спасибо. Работает!
Большое спасибо. Работает!
Спустя 43 секунды (4.02.2010 - 22:01) Ice написал(а):
еще б не работало)