Я определенно делаю что то не так, но не могу понять что!
После заполнения формы внутри снова выбрасывает на поле для ввода пароля...
Регистр глобал не включен...Проверять наявность пароля пробовал и 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 ('');
echo '
<form action="" method="post">
Password <input type="password" name="pas" value="" /><br />
</form>';
};
Спустя 4 минуты, 56 секунд (12.10.2010 - 17:38) eXaM написал(а):
Я что-то не врубился в код, но, по-моему, для начала стоит заменить
на
а вместо
вставить
Это ведь, насколько я понял, не глобальная переменная, а строковое значение? А еще я бы пользовался MD5 для хранения паролей.
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) |
Не, не помогло:( |
А я и не говорил, что поможет.
Просто это было первым, что следовало бы сделать.
Спустя 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">
...
<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 написал(а):
А все рано даже в таком состоянии этот скрипт постоянно выполняется,
Странно, функция которая проверяет зарегистрирована ли переменная совсем не работает...
Может есть какая то другая... у меня просто учебник старый относительно, по php4 хотя и пользуюсь я тоже 4...
Странно, функция которая проверяет зарегистрирована ли переменная совсем не работает...
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']
$_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
да. глобальный массив. всегда пиши большими и всё будет хорошо.
да. глобальный массив. всегда пиши большими и всё будет хорошо.