Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Проверка существования пользователя в базе данных

Сообщения:  [1-10]    [11-20]  [21-22] 

 
 автор: Вадя   (31.10.2007 в 13:19)   письмо автору
 
   для: KPETuH   (31.10.2007 в 13:06)
 

KPETuH!!!!!! ОГРОМНОЕ СПАСИБО!!!!! БЕЗ ВАС Я БЫ НЕ РАЗРУЛИЛ!!!!!!!!!!!!!!!!!!!!!!!!!! ЕЩЁ И ЕЩЁ РАЗ СПАСИБО ЗА ПОМОЩЬ, ПОНЯЛ СВОЮ ОШИБКУ!!!!! С ВАШИМ КОДОМ ЗАРАБОТАЛО!!!!!!

   
 
 автор: KPETuH   (31.10.2007 в 13:06)   письмо автору
 
   для: Вадя   (31.10.2007 в 13:03)
 

например


$result = mysql_query("select number from temppolzov where number='$number' and parol='$parol'"); 
$s=mysql_fetch_row($result);
if (empty($s[0])) 
{
    echo "Password or number is not correct";  
}
else  
{
    echo "Password is changed";  
}

   
 
 автор: Вадя   (31.10.2007 в 13:03)   письмо автору
 
   для: KPETuH   (31.10.2007 в 12:57)
 

Да, точно вы определили! Подскажите, как правильно изменить? Вроде ничего сложного, а не могу дойти, как зделать корректно с коментариями!!!

   
 
 автор: KPETuH   (31.10.2007 в 12:57)   письмо автору
 
   для: Вадя   (31.10.2007 в 12:34)
 

ваша проблема в том что UPDATE видимо всегда возвращает положительный результат и проверять таким образом существование номера и и соответсвие его паролю некоректно... организуйте сначала проверку пароля а патом уже делайте UPDATE

   
 
 автор: Вадя   (31.10.2007 в 12:34)   письмо автору
 
   для: Вадя   (31.10.2007 в 12:31)
 

мне для пользователей необходимо вывести
сообщения:
1) Если неправильно вводится пароль и номер - вывод сообщения
2) И если успешное выполнение программы - вывод сообщения
Это не получается!

   
 
 автор: Вадя   (31.10.2007 в 12:31)   письмо автору
 
   для: KPETuH   (31.10.2007 в 12:13)
 

Спасибо за изменения, работает прога, но проблема в этом:

if (!$result) echo "Password or number is not correct";

else
echo "Password is changed";


в любом случае выводится сообщение:Password is changed

   
 
 автор: KPETuH   (31.10.2007 в 12:13)   письмо автору
 
   для: Вадя   (31.10.2007 в 12:02)
 


#!/usr/local/bin/php
<?php
include "./common_db.inc";
Error_Reporting(E_ALL & ~E_NOTICE);
$link_id db_connect('Nortwind');

#######Изменения#############
$number=$_POST['number'];
$parol=$_POST['parol'];
$newparol=$_POST['newparol'];
$podtvpar=$_POST['podtvpar'];
##############################

$result mssql_query("SELECT * from temppolzov where number='$number' and parol='$parol'");

if (
$newparol!=$podtvpar)
echo 
"Passwords entered were not the same. Not changed.";

else if (
strlen($newparol)>10 || strlen($newparol)<5)
echo 
"New password must be between 5 and 10 characters.Try again.";

else
{
$result mssql_query("update temppolzov set parol='$newparol' where number='$number' and parol='$parol'");
}

if (!
$result) echo "Password or number is not correct"

else 
echo 
"Password is changed"

?>

   
 
 автор: Вадя   (31.10.2007 в 12:02)   письмо автору
 
   для: KPETuH   (31.10.2007 в 11:56)
 

пользователь вводит в поля формы:
1) номер
2) пароль
3) новый пароль
4) подтверждение пароля

Идёт запрос к базе данных проверяются позиции 1) и 2) через запрос к базе данных:
$result = mssql_query("SELECT * from temppolzov where number='$number' and parol='$parol'");

выполняется ряд условий: равенство 3) и 4) , определённая длина 3)

и если всё соответствует тогда накатывается update:
$result = mssql_query("update temppolzov set parol='$newparol' where number='$number' and parol='$parol'");


Не получалось вывести коментарии!
КАК СЧИТАЕТЕ НУЖНЫМ, ИЗМЕНИТЕ

   
 
 автор: KPETuH   (31.10.2007 в 11:56)   письмо автору
 
   для: Вадя   (31.10.2007 в 11:53)
 

объясните как она у вас работала

если в запросах к базе

$result = mssql_query("SELECT * from temppolzov where number='$number' and parol='$parol'");



$result = mssql_query("update temppolzov set parol='$newparol' where number='$number' and parol='$parol'");


вместо $newparol, $number и $parol подставляются пустые значения, так как они у вас НИГДЕ не определены!!!!

вы должны явно определитть переменные как я написал выше

например
$parol=$_POST['parol'];


так как из вормы ваши значения попадают в массив $_POST

   
 
 автор: Вадя   (31.10.2007 в 11:53)   письмо автору
 
   для: KPETuH   (31.10.2007 в 11:47)
 

Поправьте код, как вы считаете нужным. Проблема заключалась только в коментариях: если пароль или код не правильно введён - вывод сообщения. И если изменён - вывод сообщения. Та к прога работала. А с коментами после выполнения кода - грабли. Как я понял инициализация через запрос к базе данных :
$result = mssql_query("SELECT * from temppolzov where number='$number' and parol='$parol'");
Я только разбираюсь в пхп......

   

Сообщения:  [1-10]    [11-20]  [21-22] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования