[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не сохраняются данные в форме
Vadim7423
Добрый день
Делаю свой первый сайт, столкнулся со следующей проблемой:
при переходе по ссылке "редактировать профиль" данные в форме отображаются нормально, но при изменении данных и нажатии кнопки "редактировать" данные в форме пропадают и появляются только когда пользователь проходит повторную авторизацию и снова нажимает "редактировать профиль".

подключение вида в контроллере:

case('edit_profile'):
// редактирование профиля
$user_id = $_SESSION['auth']['user_id'];
$user = user($user_id);

if($_POST){
if(edit_profile($user_id)) redirect();
}
break;


функция редактирования профиля:

/* ===Редактирование профиля=== */
function edit_profile($user_id){
$login = trim($_POST['login']);
$newpass = trim($_POST['pass']);
$newpass2 = trim($_POST['pass2']);
$last_name = trim($_POST['last_name']);
$first_name = trim($_POST['first_name']);
$email = trim($_POST['email']);
$phone = trim($_POST['phone']);
$address = trim($_POST['address']);

if(empty($login)) $error.='<li>Не указан логин</li>';
if(empty($last_name)) $error.='<li>Не указана фамилия</li>';
if(empty($newpass)) $error.='<li>Не указан пароль</li>';
if(empty($newpass2)) $error.='<li>Не указана повторный пароль</li>';
if(empty($first_name)) $error.='<li>Не указано имя</li>';
if(empty($email)) $error.='<li>Не указан email</li>';
if(empty($address)) $error.='<li>Не указано откуда Вы</li>';

if(empty($error) && ($newpass == $newpass2)){
$login = clear($_POST['login']);
$last_name = clear($_POST['last_name']);
$first_name = clear($_POST['first_name']);
$email = clear($_POST['email']);
$phone = clear($_POST['phone']);
$address = clear($_POST['address']);
$newpass = md5($newpass);
$query = "UPDATE users SET
first_name = '
$first_name',
last_name = '
$last_name',
email = '
$email',
phone = '
$phone',
login = '
$login',
password = '
$newpass',
address = '
$address'
WHERE user_id =
$user_id";
$res = mysql_query($query) or die(mysql_error());
if(mysql_affected_rows() > 0){
// если запись добавлена
$_SESSION['edit']['res'] = '<div class="success">Профиль изменен!</div>';
$_SESSION['auth']['user'] = $_POST['first_name'];
$_SESSION['auth']['user_id'] = mysql_insert_id();
return true;
}
}
else{
$_SESSION['edit']['res'] = '<div class="error">Вы не заполнили все обязательные поля,<br /> либо введенные пароли не совпадают: <ul>'."$error".'</ul></div>';
return false;
}
}

/* ===Редактирование профиля=== */


форма редактирования профиля:

<form method="post" action="#">
<
table class="reg-data" border="0" cellspacing="0" cellpadding="0">
<
tr>
<
td class="reg-txt">Логин</td>
<
td class="reg-inpt"><input type="text" name="login" value="<?=htmlspecialchars($user['login'])?>" /></td>
</
tr>
<
tr>
<
td class="reg-txt">Новый пароль</td>
<
td class="reg-inpt"><input type="password" name="pass" /></td>
</
tr>
<
tr>
<
td class="reg-txt">Повторите пароль</td>
<
td class="reg-inpt"><input type="password" name="pass2" /></td>
<
td class="reg-prim"></td>
</
tr>
<
tr>
<
td class="reg-txt">Фамилия</td>
<
td class="reg-inpt"><input type="text" name="last_name" value="<?=htmlspecialchars($user['last_name'])?>" /></td>
</
tr>
<
tr>
<
td class="reg-txt">Имя</td>
<
td class="reg-inpt"><input type="text" name="first_name" value="<?=htmlspecialchars($user['first_name'])?>" /></td>
</
tr>
<
tr>
<
td class="reg-txt">Е-mail</td>
<
td class="reg-inpt"><input type="text" name="email" value="<?=htmlspecialchars($user['email'])?>" /></td>
</
tr>
<
tr>
<
td class="reg-txt">Телефон</td>
<
td class="reg-inpt"><input type="text" name="phone" value="<?=htmlspecialchars($user['phone'])?>" /></td>
</
tr>
<
tr>
<
td class="reg-txt">*Откуда Вы</td>
<
td class="reg-inpt"><input type="text" name="address" value="<?=htmlspecialchars($user['address'])?>" /></td>
</
tr>
</
table>
<
input type="submit" name="edit" value="Редактировать" />
</
form>


Помогите разобраться. Если что то не понятно пишите, объясню где что я пытался делать
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.