Я создал страницу профиля в php, где пользователь, используя форму, может сохранить свой номер телефона в таблице с именем profile в базе данных. Если пользователь решает изменить свой номер телефона, вы можете легко изменить его и сохранить его снова. Моя единственная проблема заключается в следующем. Предположим, что пользователь хочет удалить свой номер телефона. Если он отправляется в форму, удалите его номер (делает поле пустым) и нажмите «Сохранить», номер телефона не изменится на пустое значение и продолжит удерживать предыдущий номер. Любая идея, как изменить это, чтобы сохранить пустое значение?форму сохранить пустое значение php
Это мой код с формой:
<form action="" method="POST" >
<?php
if (isset($_GET['success']) === true && empty($_GET['success'])===true){
echo'Profile Updated Sucessfuly';
}else{
if(empty($_POST) === false && empty($errors) === true){
$update_data_profile = array('telephone' => $_POST['telephone']);
update_user_profile($session_user_id, $update_data_profile);
header('Location: profile_update.php?success');
exit();
}else if (empty($errors) === false){
echo output_errors($errors);
}
?>
Telephone<input name="telephone" type="text" size="25" value="<?php echo $user_data_profile['telephone']; ?>"/>
<input type="submit" value="" name="submit"/>
</form>
И это моя функция, которая отправляет данные в профиль таблице:
function update_user_profile($user_id, $update_data_profile){
$result = mysql_query("select user_id from profile where user_id = $user_id limit 1");
if(mysql_num_rows($result) === 1){
$update = array();
array_walk($update_data_profile, 'array_sanitize');
foreach($update_data_profile as $field => $data){
if(!empty($data)){
$update[]='`' . $field . '` = \'' . $data . '\'';
}
}
if(isset($update) && !empty($update)){
mysql_query(" UPDATE `profile` SET " . implode(', ', $update) . " WHERE `user_id` = $user_id ") or die(mysql_error());
}
}
else{
$user_id = $update_data_profile['user_id'] ;
if(count($update_data_profile)){
$columns = array();
$values = array();
foreach($update_data_profile as $field => $data){
$columns[] = $field;
$values[] = $data;
}
}
mysql_query(" INSERT INTO `profile` (" . implode(",", $columns) .") values ('" . implode("','", $values) . "')") or die (mysql_error());
}
}
ok и изменить его на что? – 33528
Вы можете просто удалить его; // if (! Empty ($ data)) { $ update [] = ''. $. ''= \' '. $ data. '\' '; //} – Anonymous