if (mysql_query("UPDATE * FROM `users` WHERE `login`='".$login."' AND `pass`='".$pass."'"))
{
echo 'Данные успешно обновлены';
}
}
};
}
else
{
echo 'Иди отсюдаго';
}
///
include "footer.php";
///
?>
нужно чтобы вновь введённые данные обновлялись в бд заменяя старые.
По смыслу вроде всё продумал но данные даже не хотят передоваться дальше скорее всего где-то ошибка в сессиях вернее с сесиями и методом пост, подскажите как решить данную проблему на наглядном примере.
----- Лучший способ убедиться, что меры предосторожности не понадобятся, это своевременно принять их.
Dastar
Отправлено: 23 Января, 2008 - 16:25:55
Частый гость
Покинул форум
Сообщений всего: 199
Дата рег-ции: Янв. 2008 Откуда: Израиль
Помог: -6 раз(а)
Ты кодируешь пароли в базе данных?
(функция md5() и иму подобные?)
----- Не знаешь - молчи.
MadDen
Отправлено: 23 Января, 2008 - 16:28:43
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Авг. 2007 Откуда: Аглы
Помог: -3 раз(а)
убрал цикл я подумал зачем тут он нужен для вывода одних данных...
теперь код такой:
mysql_query("UPDATE * FROM `users` WHERE `login`='".$login."' AND `pass`='".$pass."'");
{
echo 'Данные успешно обновлены';
}
}
else
{
echo 'Иди отсюдаго';
}
///
include "footer.php";
///
?>
данные не передаются из форм скорее всего я думаю из-за сессий,
подскажите пожалуйста как решить данную проблему?... (Добавление)
Dastar пишет:
Ты кодируешь пароли в базе данных?
(функция md5() и иму подобные?)
нет я его вообще ещё ни чем не кодирую ... он просто лежит в базе и всё... (кодировать позже буду нужно сначало систему построить)
----- Лучший способ убедиться, что меры предосторожности не понадобятся, это своевременно принять их.
Dastar
Отправлено: 23 Января, 2008 - 16:31:53
Частый гость
Покинул форум
Сообщений всего: 199
Дата рег-ции: Янв. 2008 Откуда: Израиль
Помог: -6 раз(а)
Блин, я тупица.
А что именно вы хотите обновлять?
Вы даете задание базе данных:
ОБНОВИТЬ ГДЕ логин=логин И пароль=пароль.
Программа не должна и не может сама решать что обновлять и где.
----- Не знаешь - молчи.
MadDen
Отправлено: 23 Января, 2008 - 16:35:12
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Авг. 2007 Откуда: Аглы
Помог: -3 раз(а)
Dastar пишет:
Блин, я тупица.
А что именно вы хотите обновлять?
Вы даете задание базе данных:
ОБНОВИТЬ ГДЕ логин=логин И пароль=пароль.
Программа не должна и не может сама решать что обновлять и где.
Ну это то я понимаю что она не может обновлять данные не откуда их не взяв!
НО ОНИ ЖЕ БЕРУТСЯ ИЗ ФОРМЫ:
mysql_query("UPDATE `users` SET login='".mysql_escape_string($login)."', pass='".mysql_escape_string ($password)."' WHERE login='".$login."' AND pass='".$pass."';");
{
echo 'Данные успешно обновлены';
}
}
else
{
echo 'Иди отсюдаго';
}
///
include "footer.php";
///
?>
Надо экранировать спец символы, а то удалят всю инфу
mysql_query("UPDATE `users` SET login='".mysql_escape_string($login)."', pass='".mysql_escape_string ($password)."' WHERE login='".$login."' AND pass='".$pass."';");
{
echo 'Данные успешно обновлены';
}
}
else
{
echo 'Иди отсюдаго';
}
///
include "footer.php";
///
?>
а именно не передаются данные из формы далее чтобы записаться в базу
----- Лучший способ убедиться, что меры предосторожности не понадобятся, это своевременно принять их.
Dastar
Отправлено: 24 Января, 2008 - 07:11:54
Частый гость
Покинул форум
Сообщений всего: 199
Дата рег-ции: Янв. 2008 Откуда: Израиль
Помог: -6 раз(а)
В Вашем случае (если у вас выключен регистр глобал [что очень рекомендуется]) данные из формы доступны через массив $_POST.
Тоесть, информация из поля "логин" доступна в переменной $_POST['login'] а из поля "пароль" $_POST['pass'].
А узнать если кнопка нажата можно следующим образом:
Покинул форум
Сообщений всего: 57
Дата рег-ции: Авг. 2007 Откуда: Аглы
Помог: -3 раз(а)
причём тут вообще $_POST['ok']
ошибка где-то в другом совершенно месте
----- Лучший способ убедиться, что меры предосторожности не понадобятся, это своевременно принять их.
EuGen
Отправлено: 24 Января, 2008 - 15:13:16
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Во-первых, проверьте состояние register_globals в Ваше php.ini.
Во-вторых, результат выполнения скрипта - в студию, то есть что именно Вы видите. И в-третьих: http://phpfaq[dot]ru/debug
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
evgenijj
Отправлено: 24 Января, 2008 - 16:06:12
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
MadDen пишет:
а именно не передаются данные из формы далее чтобы записаться в базу
Да они записываются. Вопрос только в том, что ты туда записываешь:
Видишь, в $login сперва сохраняется значение переменной из сессии (зачем, если register_globals=On) а потом, ты ее используешь как переменную, содержащую данные из формы.
Цитата:
variables_order = "EGPCS"
Буквы здесь означают следующее:
* E - переменными среды
* G - переменными передаваемыми по методу GET (G)
* P - переменными передаваемыми по методу POST (P)
* C - Cookies
* S - сессии
не работает так у меня скрипт, из-за $_POST['ok'] незнаю даж как это исправить, если вместо $_POST['ok'] писать empty($login) || empty($pass) а перед этим подставить $login=$_POST['login']; $pass=$_POST['pass']; то толку нету данные в бд не обновляются а так как ты написал не рабтает =( и я использую денвер как я смотрел там register_globals=OFF включен.
----- Лучший способ убедиться, что меры предосторожности не понадобятся, это своевременно принять их.
evgenijj
Отправлено: 25 Января, 2008 - 13:44:40
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
У меня там в скрипте несколько ошибок - просто невнимательность
if ( isset( $_SESSION['login'] ) ) {
................................ ......
if ( !isset( $_POST['ok'] ) ) {
................................ ......
$query = "UPDATE `users` SET login='".$_POST['login']."', pass='".$_POST['pass']."'
WHERE login='".$_SESSION['login']."'"; mysql_query( $query );
$_SESSION['login'] = $_POST['login'];
Но вообще, в php.ini выставляем
dispay_errors=On
error_reporting=E_ALL
А без этого вообще не представляю, как можно скрипт отлаживать...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.