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 |
|
| |