私はまだ php の初心者で、論理演算子 && に少し問題がありました。両方ともテキスト ボックスであるトークンと秘密の回答スクリプトがあります。ユーザーがトークンを送信して応答すると、スクリプトはデータベースに入り、すべてのチェックがクリアされた場合 (エラー メッセージなど)、次のステップ (新しいパスワードの入力) に進みます。実際のスクリプトは私のライブ サイトでは正常に動作しますが、何らかの理由でローカルのコンピューターでは動作しません (100% 安全ではない場合に備えて、正直に言うと少し偏執的です)。多くのテストを行うと、スクリプトは次のコードを指します。
if(isset($uid) && isset($uidTwo)) {
header('Location: reset.php');
exit();
}
$uid には users データベースの users_id が格納され、$uidTwo には answer データベースの tables_id が格納されます (プライマリ カラムの 1 つとして user_id も含まれます)。両方が一致する場合 (True)、スクリプトはリセット ページに進みます。
&& を || に変更して、多くのテストを行いました。動作しているようで、次のページまで処理しますが、その方法はトークン ボックスに対してのみ機能し、たとえば (ftgyhh) のように応答ボックスに何でも入力できるので、それは良くありません。
エラーメッセージがあるため、既に送信されたヘッダーなどを確認しましたが、スクリプトがローカルで機能していないようです。
それで、誰かが私が逃した可能性のあるアイデアを持っていますか?
編集: $uidTwo で var_dump を実行し、それが NULL であることがわかりました。それから、データベース側である可能性があることに気付いたので、以前のバージョンのデータベースをインポートして、それがそれであることがわかりました。スクリプトはローカルで動作するようになりましたが、前後の両方のデータベース sql ファイルを読み取ると、何が間違っていたのかわかりません。まあ、これらは私たちを試すためにあります。皆さんの助けに乾杯