最終的な出力結果は、アカウント番号またはパスワードを空にすることはできません
データを追加する場合は問題ありませんが、パスワードを変更する場合に問題が発生します
var_dump()で印刷する場合、フォームは送信されていませんまだユーザー名は印刷できますが、送信後にユーザー名は印刷できません
$id = (int) $input->get('id');
//ステータスを編集している場合は、ユーザー名を取り出します
if( $ id>0 ){
$sql = "SELECT * FROM adminuser WHERE id='{$id}' 制限 1";
$editUser = $db->get($sql); editUser ){ ' save' ){
$username = $id>0 ? $esitUser['username'] : trim($input->post('username'));
$passwd = trim($input->) ;post(' passwd'));
/ユーザー名を繰り返すことはできません
$sql = "SELECT * FROM adminuser WHERE username='{$username}' limit 1"; $row //挿入アクションを実行します
$sql = sprintf ("INSERT INTO adminuser(username,passwd) value ('%s','%s')",$username,$passwd);
$db->query($sql)
header("location: adminuser); .php");
} '"); D $ db-& gt; query ($ sql);
header (" local: admin: admin .php ");
ディスカッションに返信(解決策)
$idとは何ですか?
新しいユーザーを挿入するときに、対応する ID を取得しませんでした
それでは、変更に使用される ID はどこから来たのでしょうか?
$id とは何ですか?
新しいユーザーを挿入するときに、対応する ID を取得しませんでした
それでは、変更に使用される ID はどこから来たのでしょうか?
$id はクライアントの Cookie の名前です。取得するには、入力クラスで $__GET を呼び出します。
$id は、ユーザーがログインしているかどうかを判断するために使用されます。ログインしている限り、現在ログインしている情報を取得できます。
ユーザーを追加するときは、前の管理ページに戻るだけですが、現在の管理者の ID はそのまま残ります
action="....";,,を変更すると、現在ログインしているユーザーの ID が取得されますので、一緒に送信してください
少なくとも、あなたが投稿したコード スニペットでは、あなたの割り当てプロセスはわかりませんでした
$sql = sprintf("INSERT INTO adminuser(username,passwd) value ('%s','%s')",$ username ,$passwd);
$db->query($sql); $__GET を呼び出して
と action="....";,,,変更すると、現在ログインしているユーザーの ID を取得して、一緒に送信します
明らかにフォームです。これは get メソッドです
その後: アクションの URL パラメーターは、送信中の URL の再構成により無効になります
つまり、ID をまったく送信しませんでした
//ユーザー名を繰り返すことはできません
$sql = "SELECT * FROM adminuser WHERE username='{$username}' limit 1"
$row = $db"; ->get($sql);
少なくとも投稿したコードスニペットでは、私は問題があります。割り当てプロセスが表示されませんでした
$sql = sprintf("INSERT INTO adminuser(username,passwd) value ('%s','%s')" とします。入力クラスで $__GET を呼び出して
明らかに、フォームはget メソッド
その後: 送信中の URL 再構成により、アクションの URL パラメータは無効になります
つまり、ID がまったく送信されていません
マスター、ごめんなさい、言い方が悪くて、明確に表現していませんでした
フォームの送信処理はこんな感じです postメソッドで送信しますが、submitをクリックするとaction=”?do=save&その後、get メソッドを通じて URL の値を取得して、送信するクリックがあるかどうかを判断し、データを追加します。 は、変更時に識別機能を持たせるためです。データ
デバッグ中にいくつかの手がかりがあり、それがクリックであることがわかりました。送信時にIDの値を受信できないことが原因です。何かあれば、マスターの分析と組み合わせて解決します。明確に表現できませんが、ご容赦ください。まだ勉強して2か月ほどなので、よくわからない点がたくさんありますが、ご容赦ください。
//ユーザー名は重複できません
$sql = "SELECT * FROM adminuser WHERE username='{$username}' limit 1"; $row = $db-> ;get($sql);
かどうかを判断するにはユーザー名が重複しているとデータ挿入時に判定される if条件の判定に問題があります