|
|
|
|
|
для: franko
(03.02.2011 в 16:36)
| | вообще-то, если переменная $result булевого типа, то true нужно писать без кавычек, или вообще просто if ($result) ... | |
|
|
|
|
|
|
|
для: franko
(03.02.2011 в 17:00)
| | Да стоит, кроме того следует проверить HTML-форму, магические кавычки столько слешей давать не могут - наверняка где-то ошибка при формировании атрибута value. | |
|
|
|
|
|
|
|
для: franko
(03.02.2011 в 16:36)
| | может отключить magic_quotes
стоит это делать? | |
|
|
|
|
|
|
|
для: cheops
(03.02.2011 в 16:28)
| |
if ($result == 'true') {echo "<p>Ваши данные обновлены!</p>";
echo "Это b_day - $b_day";
echo "Это b_month - $b_month";
echo "Это b_year - $b_year";
|
вот что выводит.
Это b_day - \\\'31\\\'Это b_month - 12Это b_year - \\\'1999\\\' | |
|
|
|
|
|
|
|
для: franko
(03.02.2011 в 16:21)
| | Так как это тип INT, то его следует указывать вообще без кавычек b_day=$b_day (хотя кавычки тоже допускаются), кроме того стоит проверить (просто вывести в браузер), что внутри переменной $b_day - там должно быть число, тоже без кавычек и любых других лишних символов. | |
|
|
|
|
|
|
|
для: cheops
(03.02.2011 в 15:51)
| | `b_day`='".$b_day."',
или вот так лучше b_day='$b_day',
как правильно все-таки? | |
|
|
|
|
|
|
|
для: franko
(03.02.2011 в 15:23)
| | Дополнение - ответ на причину вам выдает echo, у вас все строки.
В условиях проверки у вас только одно - наличие всех полей чем-то заполненных. Если такая проверка удовлетворяет, то:
<?
//без создания промежуточных переменных,
//обрезаем пробелы, и удаляем из массва пустые поля
$_POST = array_diff(array_map('trim',$_POST), array(""));
//если нет пустых полей, запись
if(count($_POST)==17) {
"UPDATE `users` SET
`b_day`=".$_POST['b_day'].",
.....");
}
|
| |
|
|
|
|
|
|
|
для: franko
(03.02.2011 в 15:23)
| | А откуда столько лишних кавычек в значениях переменных? Может дело в этом? Значения воспринимаются как строка и при попытке привести их к числу они прводятся к 0? | |
|
|
|
|
|
|
|
if (isset($_POST['login']) && ! empty($_POST['login'])) $login = $_POST['login'];
if (isset($_POST['password']) && ! empty($_POST['password'])) $password = $_POST['password'];
if (isset($_POST['b_day']) && ! empty($_POST['b_day'])) $b_day = $_POST['b_day'];
if (isset($_POST['b_month']) && ! empty($_POST['b_month'])) $b_month = $_POST['b_month'];
if (isset($_POST['b_year']) && ! empty($_POST['b_year'])) $b_year = $_POST['b_year'];
if (isset($_POST['gender']) && ! empty($_POST['gender'])) $gender = $_POST['gender'];
if (isset($_POST['height']) && ! empty($_POST['height'])) $height = $_POST['height'];
if (isset($_POST['family']) && ! empty($_POST['family'])) $family = $_POST['family'];
if (isset($_POST['children']) && ! empty($_POST['children'])) $children = $_POST['children'];
if (isset($_POST['education']) && ! empty($_POST['education'])) $education = $_POST['education'];
if (isset($_POST['country']) && ! empty($_POST['country'])) $country = $_POST['country'];
if (isset($_POST['city_ru']) && ! empty($_POST['city_ru'])) $city_ru = $_POST['city_ru'];
if (isset($_POST['city_en']) && ! empty($_POST['city_en'])) $city_en = $_POST['city_en'];
if (isset($_POST['confession']) && ! empty($_POST['confession'])) $confession = $_POST['confession'];
if (isset($_POST['church']) && ! empty($_POST['church'])) $church = $_POST['church'];
if (isset($_POST['about_ru']) && ! empty($_POST['about_ru'])) $about_ru = $_POST['about_ru'];
if (isset($_POST['about_en']) && ! empty($_POST['about_en'])) $about_en = $_POST['about_en'];
if (isset($b_day, $b_month, $b_year, $gender, $height,
$family, $children, $education, $country, $city_ru,
$city_en, $confession, $church, $about_ru, $about_en))
{
/*Здесь мы пишем, что можно заносить информацию в базу*/
$result = mysql_query ("UPDATE `users` SET
`b_day`='".$b_day."',
`b_month`='".$b_month."',
`b_year`='".$b_year."',
`gender`='".$gender."',
`height`='".$height."',
`family`='".$family."',
`children`='".$children."',
`education`='".$education."',
`country`='".$country."',
`city_ru`='".$city_ru."',
`city_en`='".$city_en."',
`confession`='".$confession."',
`church`='".$church."',
`about_ru`='".$about_ru."',
`about_en`='".$about_en."'
WHERE `login`='".$login."'
");
printf ("UPDATE: %d\n", mysql_affected_rows());
if ($result == 'true') {echo "<p>Ваши данные обновлены!</p>";
echo "Это b_day - $b_day";
echo "Это b_month - $b_month";
echo "Это b_year - $b_year";
|
После выполнения
UPDATE: 1
Ваши данные обновлены!
Это b_day - \\\'31\\\'Это b_month - 12Это b_year - \\\'1999\\\'
В БД в ячейке b_day - о, b_month - 12, b_year - 0
В чем может быть дело?
Тип INT. | |
|
|
|
|