ホームページ > バックエンド開発 > PHPチュートリアル > パスワード変更後データを受信できなくなりました

パスワード変更後データを受信できなくなりました

WBOY
リリース: 2016-06-23 13:08:39
オリジナル
1042 人が閲覧しました


最終的な出力結果は、アカウント番号またはパスワードを空にすることはできません

データを追加する場合は問題ありませんが、パスワードを変更する場合に問題が発生します
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 を呼び出して

を取得し、 action="....";,, これを変更すると、現在ログインしているユーザーの ID が取得され、一緒に送信されます

明らかに、フォームは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条件の判定に問題があります



$sql = "SELECT * FROM adminuser WHERE username='{$username}' 制限 1";
$row = $db->get($sql);
//実行挿入アクション
$sql = sprintf( "INSERT INTO adminuser(username,passwd) value ('%s','%s')",$username,$passwd); header("location: adminuser.php"); これは私のアイデアです。まずデータベースにクエリを実行し、次にデータベースから返された結果セットから行を取得し、if を使用してそれが true であるかどうかを判断します。それは、そのような名前のデータがデータベースに存在することを意味します。と、重複したプロンプトが表示されます。それ以外の場合は、データを追加してください。
データを渡すときに、マスターがそれらを指摘して指導してくれることを願っています。フォームからは値だけが渡されましたが、アクション内で値の名前が宣言されていないため、フォームデータを受信するときに発生する問題が発生しました
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート