Пятница, 22 Ноября 2024, 21:23

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Вывод и запись данных
InsonexДата: Вторник, 06 Ноября 2012, 15:53 | Сообщение # 1
частый гость
Сейчас нет на сайте
В общем. Такое дело... Как мне можно вывести нужное значение из бд? К примеру... Ах, ладно, вот алгоритм:

1) Получаем данные из формы (email, pass)
2) Когда внесли данные, выясняем ID строчки в бд (по мылу, или паролю)
3) Когда выяснили ID - регистрируем сессию
4) В новом файле стартуем сессию
5) Получаем данные из новой формы (nickname, class)
6) Далее обновляем информацию пользователя с ID'ом, который был зарегистрирован в сессии в прошлом файле, установив новые значения колонок nickname и class
7) Если нет ошибок, то "перекидываем" пользователя на другую страничку

В принципе у меня все работает, ну почти. Ошибок никаких нет. Email, pass, id, ip - все эти данные вносятся после регистрации, НО...
Но данные из второй формы не вносятся в бд, т.е. после того, как получили данные из формы, информация пользователя с ID'ом, который был зарег. в сессии, не обновляется. Т.е. значения nickname и class остаются пустыми, хотя стоит условие, если ошибок нет, то перекидываем на след. страницу. Т.е. ошибок нету, раз перекидывает.

Вот фрагмент кода первого файла, в котором вносятся значения в бд, и, если они были внесены, то получаем ID:
Code

if(mysql_query ("INSERT INTO users (password, ip, email) values('".md5($_POST ["pass"])."','".$ip."','".addslashes($_POST ["email"])."')") or die("Invalid query: " . mysql_error())){
$id = mysql_num_rows(mysql_query("SELECT id FROM `users` where email=('".$_POST ["email"]."')"));
}

session_register("id");
session_register("email");
session_register("ip");
$_SESSION['id'] = $id;
$_SESSION['user'] = $_POST['email'];    
$_SESSION['ip'] = $_POST['ip'];


А вот фрагмент второго кода, где обновляются данные бд из новой формы, но вносятся по id'у пользователя:
Code

mysql_query ("UPDATE `users` SET `nickname`=('".$_POST['nick']."') WHERE `id`=('".$_SESSION['id']."')");
mysql_query ("UPDATE `users` SET `class`=('".$_POST['class']."') WHERE `id`=('".$_SESSION['id']."')");


Может стоит не по ID'у обновлять, а по мылу, или по паролю? Или дело не в логике/последовательности шагов, а в самом коде? Может где-то не так что-то сделал?
Можете мне помочь?

Добавлено (06.11.2012, 15:53)
---------------------------------------------
Ап!

Сообщение отредактировал Insonex - Понедельник, 05 Ноября 2012, 20:13
TalcoДата: Суббота, 10 Ноября 2012, 13:14 | Сообщение # 2
почетный гость
Сейчас нет на сайте
А вы не задумывались, что возвращает функция mysql_num_rows???

`nickname`=('".$_POST['nick']."') зачем круглые скобки?


xNova: Революция

Сообщение отредактировал Talco - Суббота, 10 Ноября 2012, 13:18
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг