薬剤師のプログラミング備忘録

普通の考え方ができない薬剤師の独り言

今日の進捗 個人情報の書き換え

登録型サイトとなると、自身の情報を登録する必要があります。

設定項目は少ないほどよいのですが、信憑性等々の問題も出てくるので、一応多めに設定しました。

 

となると、databaseへの入力も面倒になります。

 

1.phpでは、login中のユーザーからuserIDを判別、databaseで照合して、その人のデータを照合します。

 

userID:user-san (変更不可)

名前:user

ハンドルネーム:user-san-dayo

年齢:25

 

これをinputにvalueを用いて自動記入します。

<input name="userid" value="<?php echo htmlspecialchars($xxx['userID']);?>">という感じです。

 

これをinputのsubmitで送信ボタンから別ページに送信します。

(ここはaction=""にして、phpの処理に任せたほうが楽かもしれませんので、後々修正予定です)

 

飛ばされた2.phpでは、POSTされたデータをSESSIONの連想配列で管理します。

$_SESSION['postData'] = $_POST

という感じです。

これによって

$_SESSION['postData']['userID'] -> user-san

と表示できるようになります。

 

ここからは、処方登録と同じ流れです。

$sql = sprintf('UPDATE table SET name="%s" ...(略) ... WHERE  userID ="%s"',

mysqli_real_escape_string($database接続,$_SESSION['postData']['name']));

mysqli_real_escape_string($database接続,$_SESSION['postData']['userID']));

mysqli_query($database接続,$sql) or die(mysqli_error($database接続));

unset ($_SESSION['postData']);

で、登録完了です。

 

databaseから登録内容を引っ張ってきます。IDに関しては変更不可なのでinputタグのdisableと使っています。

(名前と表示名てすとが逆になっているのは気にしないでください)

f:id:MC753:20170727001931g:plain

パスワードはハッシュ化されており、管理者側からも見えないようになっていますので表示できません。

※別ページで上書きして再設定してもらうことになります。

f:id:MC753:20170727001934g:plain

横長なので見えにくいですが、MySQLの方でもdatabaseがしっかりと書き換えられているのがわかります。

f:id:MC753:20170727001938g:plain

f:id:MC753:20170727001942g:plain

勿論、マイページの方でも内容が変わっていることが確認できます。

f:id:MC753:20170727002413g:plain