前提・実現したいこと
PHPでスケジュール管理システムを作成しています。
ベースとして、UNICALE(ユニカレ)というWebベースのカレンダーシステムを活用させていただいております。
(データベースとしては、SQLiteを使用しています。)
このUNICALEで用意されているテーブルに対して「password」というカラムを追加し、新規に予定を作成する際にデータベースにパスワードを登録し、編集ページでパスワード確認欄(pass_chk)を用意し、パスワード情報と一致した場合のみ編集・削除などを行えるようにしたいと考えております。
しかし、うまくパスワード情報を取得することができず、期待した動作になりません。
発生している問題・エラーメッセージ
パスワード確認欄に何も入れなかった場合に更新ができる、
正しいパスワードや意図しないパスワードを入力するとチェックエラーとなる。
該当のソースコード
[PHP]
edit.php (☆の箇所が対象のチェック箇所です。)
if ($_SERVER["REQUEST_METHOD"] === "POST") { if (!empty($_POST["cptotomorrow"])){ echo("tomorrow"); $cptotomorrow_f = true; } ~~~~~ ☆ if( ($_POST["uni/pass_chk"]) != $init_password ){ $err_f = 1; $errMsg .= "パスワードが不一致です。"; } } ~~~~~ <form action="edit.php" method="post" name="form1" class="hiden_show"> <div id="header1"> <div class="text ui-widget-content ui-corner-all" style="padding: 10px; line-height: 30px;"> <div class="inputbar1 ui-corner-all"> パスワード確認 <input type="text" name="uni/pass_chk" size="20" ?>"> ~~~~~ <?php if ($action_mode == "edit"){ echo(" <input type='radio' name='uni/chgtype' value='change' CHECKED>変更<input type='radio' name='uni/chgtype' value='copy'>複製<input type='radio' name='uni/chgtype' value='delete'>削除</span> "); }; ?> <input type="submit" value="更新" class="button"><br>
[SQLite]
追加したカラム情報
unicaleテーブル:password パスワード入力カラム
:pass_chk パスワード確認用入力カラム
試したこと
①パスワードを「aaa」として登録した情報は下記で編集可能、その他は編集不可。
if( ($_POST["uni/pass_chk"]) != aaa ){
②パスワードを「aaa」として登録した情報は下記で編集不可
if( $init_password != 'aaa' ){
そのため、表示しているidのパスワード情報が取得できていないのではと考えてます。
③データベースの登録情報の表示
value="<?php echo(sprintf($init_password)); として情報を表示すると
期待した登録時のパスワードが表示されます。
(データベースの登録情報と一致します。)
補足情報(FW/ツールのバージョンなど)
初めての質問のため、説明を読みましたが回答をいただくための情報として
不足などあるかと思います。
また、初めてWebシステムを作成しているため、理解できていないことも多く
正しく伝えられていません。申し訳ございません。
〇動作に関して
登録したカレンダーの情報をクリックすることで登録したidの情報を表示する「edit.php」というページに遷移して、
情報の修正などができます。
この編集時のpostする際に入力内容のチェックをしようとしています。
■UNICALE3.28 (参考に活用させていただいているシステム)
https://www.unicale.com/
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。