Различные вопросы по PHP и MySQL

99.76K
.
КоханийВолодимир
Пхп 5/6 в подленнике.

Я ж на программиста учусь, надо учить, а по своему опыту знаю что у нас преподают динозавры и иногда не верно.
.
# ValekS (10.05.2014 / 19:35)
Да, такое бывает в учебниках. Толи они это спецом делают .....
Я читал "PHP-5 Д.Котерова"(электронный вариант), и сталкивался вообще с такой проблемой: в книге код написан без ошибок, я его копирую и вставляю в файл,ошибок нет, сохраняю и обращаюсь к этому файлу из браузера, и вместо корректной работы - варнинг с указанием конкретной строки с ошибкой! А в коде ошибок визуально нет. Тогда я решил переписать с клавиатуры ту проблемную строку, и скрипт ожил.
.
ДоХтор, Может там какая нибудь буква русская была?
.
# Zidan_@777@ (10.05.2014 / 20:05)
ДоХтор, Может там какая нибудь буква русская была?
Скорее всего так и было.
.
КоханийВолодимир
Есть проблема проблема которой никогда не видел.

Есть регистрация пользователей, анкета и её редактирование. Всё отлично сохраняет и почти всё отлично работает, так как есть одна проблема. Если отредактировать анкету (заполнить) и сохранить, то всё отлично сохраняет, но если перейти снова на страницу редактирования и выйти с неё без какого либо редактирования информации без её же сохранения (вообще не трогать формы ввода), то информация напросто удаляется. Объяснение этому никак не могу найти. Кто-то сталкивался с этим?
КОД СТРАНИЦЫ РЕДАКТИРОВАНИЯ ИНФОРМАЦИИ
echo'<form method="post" action="/user/mySet.php"><div class="menu">' .
         'Имя:<br><input type="text" value="' . $user['name'] . '" name="name" />' .
         '<br>Фамилия:<br><input type="text" value="' . $user['surname'] . '" name="surname" />' .
         '<br>Выберите пол:<br><input type="radio" value="man" name="sex" ' . ($user['sex'] == 'man' ? 'checked="checked"' : '') . '/>Мужчина<br />' .
         '<input type="radio" value="woman" name="sex" ' . ($user['sex'] == 'woman' ? 'checked="checked"' : '') . '/>Женщина' .
         '<br><input type="submit" name="save" value="Сохранить" /></div></form>';
/// $user2 = mysql_query("INSERT INTO `users` SET `name` = '". input($user['name']) ."', `surname` = '". input($user['surname']) .'');
    $user['name']    = $_POST['name'];
    $user['surname'] = $_POST['surname'];

    mysql_query("UPDATE `users` SET `name` = '".input($user['name'])."', `surname` = '".input($user['surname'])."' WHERE `id` = '".$user['id']."'");
.
Ей 25
КоханийВолодимир,
Всё отлично сохраняет и почти всё отлично работает, так как есть одна проблема.

Это как? Ыы Ну ладно. Проблем ты такой никогда не видел потому как кодишь на пхп пару дней... А проблема заключается в том, что при заходе на страницу у тебя ВСЕГДА выполняется mysql запрос. Не зависимо от того делаешь ты что-то на ней или случайно зашел. Что бы решить данную проблему нужно добавить условие - если кнопка Сохранить была нажата, то выполняем запрос в БД.
.
ValekS
Ей 25
КоханийВолодимир, вот так делай:
if (isset($_POST['save'])) {
mysql_query("UPDATE `users` SET `name` = '".input($user['name'])."', `surname` = '".input($user['surname'])."' WHERE `id` = '".$user['id']."'");
}


Кстати почему у тебя $user['sex'] никуда сохраняется? Пол же поменять нельзя... Или это спецом сделано: пол задаётся при регистрации, а потом его теоретически можно сменить, но практически нельзя?
.
КоханийВолодимир
Оно просто висит, потом уберу.
Спасибо, но уже подсказали.
.
КоханийВолодимир, Сделай условие если не заполнено одно из основных полей показывать форму ввода, если заполнено проверять все на ошибки и сохранять либо выводить ошибку.сам этим недавно занимался и встречался
.
КоханийВолодимир
Уже решено и сделано.
Всего: 7969