Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с данными при обновления в бд. обновление данных 
:(
    Опции темы
MadDen
Дата 24.1.2008, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 31.12.2007

Репутация: нет
Всего: нет



вроде по смыслу всё продумал а не хотят данные передоваться в бд вот листинг:
Код

<?php
session_start(); // стартуем сессию

include "conf.php"; // коннект к бд

// страница обработки инфы пользователя
///////
include "header.php";
///////
$pass=$_POST['pass'];
$login=$_POST['login'];
///
$login=NULL;
$pass=NULL;
////
// ограничение ввода данных
////
If (!empty($_POST['login']))
If (!preg_match("%^[a-z0-9]{3,15}$%",$_POST['login']))
 {
 echo '<div class="quote_conteiner">';
 echo 'Неправильный логин!';
 echo '</div>';
 }
 else $login=$_POST['login'];

If (!empty($_POST['pass']))
If (!preg_match("%^[a-z0-9]{3,10}$%",$_POST['pass']))
 {
 echo '<div class="quote_conteiner">';
 echo 'Неправильный пароль!';
 echo '</div>';
 }
 else $pass=$_POST['pass'];


   $login = $_SESSION['login'];
   $result = mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."'");
   $r = mysql_fetch_array($result);

if (empty($login) || empty($pass))
{
echo '<form name="ank" action="ank.php" method="post">';
echo '<div class="quote_conteiner">';
echo "<b>Ваше имя(Ник):</b><br/> <input name='login' value='".$r['login']."' type='text'>";
echo '</div>';
echo '<div class="quote_conteiner">';
echo "<b>Пароль для входа:</b><br/> <input name='pass' value='".$r['pass']."' type='text'>";
echo '</div>';
echo '<div class="quote_conteiner">';
echo '<input type="submit" name="ok" value="Update">';
echo '</div>';
echo '</form>';
echo '<div class="quote_conteiner">';
echo '<a href="index.php">Главная</a><br/>';
echo '</div>';
exit();
}         
   else
   {

     mysql_query("UPDATE `users` SET login='".$login."', pass='".$pass."' WHERE login='".$login."' AND pass='".$pass."';");
     echo '<div class="quote_conteiner">';
     echo 'Привет <b>'.$login.'</b>, запомни свой пароль: <b>'.$pass.'</b>.';
     echo '<br/>';
     echo '<a href="index.php">Далее</a><br/>';
     echo '</div>';
     
   }   
  


///////
include "footer.php";
///////

?>


данные из форм не передаются в бд точнее не записываются не обновляются старые, подсмкажите где ошибка вроде всё переглядел и технически и логически
PM MAIL   Вверх
MoLeX
Дата 24.1.2008, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140




M
MoLeX
Ошибка связана с БД, тогда едем в соответствующий раздел



--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
GeneralElectric
Дата 24.1.2008, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 2
Всего: 16



Какой забавный казус с оформлением кода =)
MadDen, скажи, пожалуйста, вот в этом учаетске кода 
Код

If (!empty($_POST['login']))
If (!preg_match("%^[a-z0-9]{3,15}$%",$_POST['login']))
 {
 echo '<div class="quote_conteiner">';
 echo 'Неправильный логин!';
 echo '</div>';
 }
 else $login=$_POST['login'];

else относится к первому if, или ко второму?

Добавлено через 1 минуту и 7 секунд
и получение логина из сессии я не понял
PM MAIL   Вверх
MoLeX
Дата 24.1.2008, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



сравни это
Код

mysql_query("UPDATE `users` SET login='".$login."', pass='".$pass."' WHERE login='".$login."' AND pass='".$pass."';");

с этим
Код

mysql_query("UPDATE `users` SET login='".$login."', pass='".$pass."' WHERE login='".$login."' AND pass='".$pass."'");



M
MoLeX
GeneralElectric давай вернёмся к теме обсуждения!



Это сообщение отредактировал(а) MoLeX - 24.1.2008, 14:00


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
MoLeX
Дата 24.1.2008, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



MadDen сделай так
Код

 mysql_query("UPDATE `users` SET login='".$login."', pass='".$pass."' WHERE login='".$login."' AND pass='".$pass."';") or die(mysql_error());


Добавлено через 16 секунд
и посмотри что возращает


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
GeneralElectric
Дата 24.1.2008, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 2
Всего: 16



Извините, что опять не по теме, но кто-нибудь объяснит мне смысл этого запроса?
PM MAIL   Вверх
MoLeX
Дата 24.1.2008, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



Цитата(GeneralElectric @  24.1.2008,  15:07 Найти цитируемый пост)
Извините, что опять не по теме, но кто-нибудь объяснит мне смысл этого запроса?

извиняем  smile 
Смысл какого запроса? Получается иди туда - не зная куда, принеси то - не зная что.


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
sTa1kEr
Дата 24.1.2008, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 9
Всего: 146



Цитата(GeneralElectric @  24.1.2008,  16:07 Найти цитируемый пост)
Извините, что опять не по теме, но кто-нибудь объяснит мне смысл этого запроса? 

Почему же не по теме? Это практически ответ на вопрос MadDen. Видимо автор хотел сделать форму для смены пароля, но совершенно забыл добавить поле для нового пароля.
Так же, как вы правильно залетели, автору необходимо просмотреть все свои манипуляции с переменными $login и $pass.

Цитата(MoLeX @  24.1.2008,  15:27 Найти цитируемый пост)
MadDen сделай так

Боюсь, что die(mysql_error()) тут вряд-ли поможет smile Скорее всего update полей на самих себя же будет всегда удачным (конечно, с точки зрения MySQL)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0824 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.