[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Использование сессии
Noal
Помогите пожалуйста разобраться с сессией,
Я определенно делаю что то не так, но не могу понять что!
После заполнения формы внутри снова выбрасывает на поле для ввода пароля...
Регистр глобал не включен...Проверять наявность пароля пробовал и session_is_registered
тогда вобще не работает...
<?php
session_start();
Echo '<html><body bgcolor="#FFEFD5" text="#CD5C5C"></body></html>';
if (!isset($_session['psw']) || $_session['psw'] !== qweqwe)
{
$_session['psw'] = $_REQUEST['pas'];
};
if ($_session['psw'] === qweqwe) {
echo ' <h4>Добавить товар </H4>
Дорабатывается <br />
<form action="" method="post">
<table><tr><td>
Группа товара:</td> <td><select size="1" name="ugr">
<option selected="" value=""/>
<option value="accessory">Аксесуары</option>
<option value="ring">Кольца</option>
<option value="bracelet">Браслеты</option>
<option value="coulomb">Кулоны</option>
<option value="earring">Серьги</option>
<option value="chain">Цепочка</option>
<option value="watch">Часы</option>

</select></td></tr><br />
<tr><td>Артикул:</td><td><input type="text" name="art" /></td></tr><br />
<tr><td>Цена:</td><td><input type="" name="pr" /></td></tr><br />
<tr><td>Количество:</td><td><input type="" name="a" /></td></tr><br />
<tr><td>Что то о товаре:</td><td><input type="text" name="inf" /></td></tr><br />
<tr><td>Картинка:</td><td><input type="file" name="File" class="kavt-ff-finp" size="" id=""/></td></tr></table><br />
<input type="submit" value="добавить" /><br /></form>
<form action="" method="Post">
<INPUT TYPE=HIDDEN NAME=pas VALUE="0">
<input type="submit" value="Выйти" /><br />
</form>
'
;
$_session['ugr'] = $_Get['ugr'];
$_session['art'] = $_GET['art'];
$_session['pr'] = $_GET['pr'];
$_session['inf'] = $_GET['inf'];
$_session['File'] = $_GET['File'];

If ($_session['ugr']!='' && $_session['art']!='' && $_session['pr']!='' && $_session['inf']!='' && $_session['File']!='') {

echo "
Оригинальное название группы-"
.$_session['ugr'].".<br />
артикул-"
.$_session['art'].".<br />
цена="
.$_session['pr'].".<br />
информация о товаре-"
.$_session['inf'].".<br />


<img src='../img/All/"
.$_session['ugr']."/".$_session['File']."' width='450' height='450' border='0' >";
unset ($_session["ugr"]);
unset ($_session["inf"]);
unset ($_session["ugr"]);
unset ($_session["art"]);
unset ($_session["pr"]); }
else echo 'указаны не все необходимые данные';}


else
{//mysql_close($conn) or die ('wink.gif');
echo '
<form action="" method="post">
Password <input type="password" name="pas" value="" /><br />
</form>'
;
};




Спустя 4 минуты, 56 секунд (12.10.2010 - 17:38) eXaM написал(а):
Я что-то не врубился в код, но, по-моему, для начала стоит заменить
if (!isset($_session['psw']) || $_session['psw'] !== qweqwe)

на
if (!isset($_session['psw']) || $_session['psw'] !== 'qweqwe')

а вместо
if ($_session['psw'] === qweqwe)  {

вставить
if ($_session['psw'] === 'qweqwe')  {

Это ведь, насколько я понял, не глобальная переменная, а строковое значение? А еще я бы пользовался MD5 для хранения паролей.

Спустя 7 минут, 37 секунд (12.10.2010 - 17:46) Noal написал(а):
Не, не помогло:(

Спустя 10 минут, 13 секунд (12.10.2010 - 17:56) Noal написал(а):
А что именно не понятно? В коде?

Спустя 2 минуты, 42 секунды (12.10.2010 - 17:59) eXaM написал(а):
Цитата (Noal @ 12.10.2010 - 14:46)
Не, не помогло:(

А я и не говорил, что поможет. biggrin.gif
Просто это было первым, что следовало бы сделать.

Спустя 4 минуты, 33 секунды (12.10.2010 - 18:03) Noal написал(а):
Да у меня все рано не было бы такой переменной...

Спустя 2 минуты, 42 секунды (12.10.2010 - 18:06) SarPHP написал(а):
Noal, в данном примере ты полностью скинул php-скрипт?

Спустя 6 минут, 8 секунд (12.10.2010 - 18:12) Noal написал(а):
Почти, поудалял ненужные обращения к базе данных... А в остальном да все...

Спустя 17 минут, 11 секунд (12.10.2010 - 18:29) SarPHP написал(а):
<form action="" method="post">
...
<input type="submit" value="добавить" /><br />
</form>


а что делает твоя форма? где исполнительный файл внутри form? например, <form action="go.php" method="post">
по сути ты жмешь кнопку "добавить" и у тебя ничего не происходит, форма ничего не делает

неверное написание:
<INPUT TYPE=HIDDEN NAME=pas VALUE="0"> исправь на <input type="hidden" name="pas" value="0">

Спустя 3 минуты, 19 секунд (12.10.2010 - 18:33) eXaM написал(а):
Если оставить action пустым, то это равносильно action="<?php echo $_SERVER['SELF'] ?>", то есть подставляется файл, в котором эта форма описана.

Спустя 28 минут, 10 секунд (12.10.2010 - 19:01) Noal написал(а):
Все в одном файле... Угу, то есть обращается сам к себе... А если бы мой скрипт работал как я планировал то кнопка выйти бы не работала такая как тут представлено все равно,
потому что поле где перезаписывается пароль было бы недоступно при правильном пароле...

Спустя 5 минут, 58 секунд (12.10.2010 - 19:07) Noal написал(а):
Я скорее всего неправильно понимаю концепцию самого пхп, или что то с хронологией...
Почему то не работает условие
if (!isset($_session['psw']) || $_session['psw'] !== qweqwe)
{$_session['psw'] = $_REQUEST['pas'];};

Оно выполняется как только нажимаешь отправить... и пароль перезаписывается... как я понял из пустого поля... Но почему? Ведь в случае правильного пароля, все условие должно возвращать фелс.

Спустя 2 часа, 8 минут, 32 секунды (12.10.2010 - 21:15) Noal написал(а):
Никто не поможет?

Спустя 26 минут, 24 секунды (12.10.2010 - 21:42) eXaM написал(а):
Ну, я не вижу ничего кроме недостающих кавычек, о которых написал выше, и лишнего символа точки с запятой в самом конце...

Спустя 1 час, 3 минуты, 7 секунд (12.10.2010 - 22:45) Noal написал(а):
А все рано даже в таком состоянии этот скрипт постоянно выполняется,
Странно, функция которая проверяет зарегистрирована ли переменная совсем не работает...
if (Session_is_registered('psw')){}
else {
if (!isset($_session['psw']) || $_session['psw'] !== 'qweqwe')
{echo 'лялялялялялляллял';
$_session['psw'] = $_REQUEST['pas'];
};};

Может есть какая то другая... у меня просто учебник старый относительно, по php4 хотя и пользуюсь я тоже 4...

Спустя 14 минут, 25 секунд (12.10.2010 - 22:59) Noal написал(а):
if (!$_session['psw']){echo 'gevevvevekgdkg';}

И такая проверка не проходит $_session['psw'] постоянно возвращает лож, но ума не приложу как тогда сразу после этого идет сравнение с паролем и оно возвращает правду...

Спустя 1 день, 21 час, 8 минут, 12 секунд (14.10.2010 - 20:07) Noal написал(а):
Ну помогите кто шарит люди пожалуйста! я досихпор не понял что сделал не так! Понял что переменная не регистрируется, или разрегистрируется после выполнения скрипта! Но не понимаю почему!

Спустя 29 минут, 48 секунд (14.10.2010 - 20:37) aH6y написал(а):
во первых всегда пиши глобальные массивы большими буквами:

$_GET['id']
$_SESSION['name']
$_POST['login']

Спустя 12 часов, 54 минуты, 49 секунд (15.10.2010 - 09:32) Noal написал(а):
Кажется я понял, оно его как переменную изза того что все было в нижнем регистре...
Спасибо!

Спустя 9 часов, 38 минут, 44 секунды (15.10.2010 - 19:11) aH6y написал(а):
Noal
да. глобальный массив. всегда пиши большими и всё будет хорошо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.