Консультация № 143165
05.09.2008, 20:17
0.00 руб.
0 2 1
Добрый день..
Я делаю кмс и тут у меня возникла потребность в куках...но проблема в том что я не очень понимаю их принцип...чуть ниже я привел часть своего скрипт где без кук ИМХо не обойтись =( просто после отправки лоигна и пароля нас перекидывает на страницу где мы обновляем данные.. а после нажатия кнопочки сабмит скрипт не выполняет нечего т.к не запомнил логин и пароль =(

Приложение:
if (!$_GET['news_edit'])
{
$result = mysql_query("SELECT title,id FROM $news_table WHERE access='c'");
$myrow = mysql_fetch_array($result);
do {
printf ("<p><a href='?news_edit=%s&usermode=newsedit'>%s</a></p>",$myrow["id"],$myrow["title"]);
} while ($myrow = mysql_fetch_array($result));
}
else
{
$db = mysql_query("SELECT author,password FROM $news_table WHERE id='$_GET[news_edit]'");
if (!$_POST['author'] && !$_POST['password']) {
print <<<HERE
<form name="gg" method="post">
<label><p>Логин: <input type="text" name="author" id="author"></p></label>
<label><p>Пароль: <input type="text" name="password" id="password"></p></label>
<label><input type="submit" name="login_form"></label>
</form>
HERE;
} else {
if (isset($_POST['author'])) {$author = $_POST['author'];}
if (isset($_POST['password'])) {$password = $_POST['password'];}
$db_uredit = mysql_fetch_array ($db);
if ($db_uredit == true AND $db_uredit['author'] == $author AND $db_uredit['password'] == $password) {

$result = mysql_query("SELECT * FROM $news_table WHERE id='$_GET[news_edit]' AND access='c'");
$myrow = mysql_fetch_array($result);
if (!$_POST['submit']) {

print <<<HERE
<form name="form1" method="post" action="?news_edit=$_GET[news_edit]&usermode=newsedit">
ТУТ ОБЫЧНЫЕ ТЕКСТОВЫЕ ПОЛЯ
</form>
HERE;
}
}
}

Обсуждение

Неизвестный
07.09.2008, 19:39
общий
Если необходимо хранить информацию о логине (пароль запоминать НЕ НАДО, это небезопасно), стоит посмотреть в сторону механизма сессий:
ссылка №1
ссылка №2
Неизвестный
08.09.2008, 10:29
общий
это ответ
Здравствуйте, Герасимов Виталий Владиславови!

я просмотрел ваш код, но работы с кукисами не увидел.
давайте я в двух словах объясню механизм (он довольно прост), а вы уже выберите, использовать вам его или нет :)

1 - при регистрации пользователю выводится регистрационная страница с полями для ввода имени-пароля, после заполнения они передаются на обрабатывающий скрипт скрипт
2 - после проверки логина-пароля, если они корректны, вы должны установить кукис с логином-паролем пользователю и открыть нужную ему страницу
3 - при открытии страниц пользователем вы должны считать его кукис(в котором логин-пароль) и проверить их на корректность. если верны - открыть нужную страницу

НО при работе с кукисами нужно помнить несколько правил:
1 - при установку кукиса из РНР он должен выводиться на страницу первым - до любого вывода на экран, иначе он не будет установлен, но и ошибок на странице не вызовет, будет как будто вы его и не устанавливали
2 - при установке кукиса обратите внимание на срок жизни кукиса - если вы его не установите кукис будет существовать до закрытия окна браузера
3 - при установке кукиса также обратите внимание на поле доступности кукиса - из какого домена он будет виден - это первое правило безопастности

успехов
Форма ответа