現在、自分のサイトでユーザー プロファイルの更新ページを作成しようとしています。以下のコードは、ユーザーがすべての情報を更新した場合は正常に機能しますが、フィールドを省略した場合はテーブルに空白のレコードが挿入されます。
現在、ユーザーがフィールドを空白のままにした場合にこの問題を回避するために、空白のフィールドを置き換えて、$_SESSION['user']['field']
現在のデータを再挿入するだけです。
これが現時点での私のphpです
<?php
session_start();
if($_SESSION['uname']) {
$logged_in=true;
} else {
$logged_in=false;
}
include_once("../connection/conn.php");
if(isset($_POST['update'])) {
if($_POST['firstname']){ $firstname = $_POST['firstname']; }
else { $firstname = $_SESSION['uname']['firstname']; }
if($_POST['lastname']){ $lastname = $_POST['lastname']; }
else { $lastname = $_SESSION['uname']['lastname']; }
if($_POST['email']){ $email= $_POST['email']; }
else { $email = $_SESSION['uname']['email']; }
$id = $_SESSION['uname']['id'];
$query = "UPDATE users SET firstname=?, lastname=?, email=? WHERE id=? ";
$results = $condb->prepare($query);
$results->execute(array($firstname, $lastname,$email,$id));
if($results) {
echo "updated";
}
}
?>