phpで検証コードを生成し、imgタグで出力します。
すみません、session_start() があるのに、なぜ onclick イベントがこのように記述されており、クリックすると検証コードが更新されるのですか? (新しい認証コードが表示されます)
セッションが存在しないため、クリックは無効です。
HTML コード
リーリーphp
リーリー某草草2017-05-16 13:01:41
onclick="this.src='verifyCode.php?id='+Math_random()"/>
これで十分です。画像に乱数を追加すると、毎回異なり、更新できます
曾经蜡笔没有小新2017-05-16 13:01:41
このコードはイメージが作成される前の session_start() ですか?
以前であれば、通常、キャンバスを作成する際に $_SESSION に検証情報を注入する必要がありますが、セッションが開かれていないために注入が失敗し、検証コードイメージの生成が終了してしまう可能性があります。
给我你的怀抱2017-05-16 13:01:41
セッションを使用してグラフィック検証コードを検証する 一般原則は、まず現在の検証コード a をセッションに保存し、次に a を使用してグラフィック検証コードを生成し、それをクライアントに返します。 クライアントは検証コード a をサーバーに入力し、サーバーは現在のセッションに保存されているデータに基づいてそれを検証します。
セッションが有効になっていない状態でこの方法を使用すると、認証コードaをセッションに保存したり置き換えたりすることができず、当然エラーが発生します。
(注: 画像の出力はセッションのアクティブ化とは何の関係もありません)