javascript - 通过session会话,php生成的验证码点击就可以刷新,为什么?
PHP中文网
PHP中文网 2017-05-16 12:59:41
0
3
432

通过php生成验证码,然后用img标签输出。

请问,为什么有session_start()的话,onclick事件这样写,点击就会有刷新验证码的效果?(会出现新的验证码)
没有session会话,点击无效。

html代码

<img src="verifyCode.php" onclick="this.src='verifyCode.php'"/>

php

//省略验证码生成代码...

imagepng($image);//输出图片

session_start();//开始会话
PHP中文网
PHP中文网

认证0级讲师

全員に返信(3)
某草草

onclick="this.src='verifyCode.php?id='+Math_random()"/>
これで十分です。画像に乱数を追加すると、毎回異なり、更新できます

いいねを押す +0
曾经蜡笔没有小新

このコードはイメージが作成される前の session_start() ですか?
以前であれば、通常、キャンバスを作成する際に $_SESSION に検証情報を注入する必要がありますが、セッションが開かれていないために注入が失敗し、検証コードイメージの生成が終了してしまう可能性があります。

いいねを押す +0
给我你的怀抱

セッションを使用してグラフィック検証コードを検証する 一般原則は、まず現在の検証コード a をセッションに保存し、次に a を使用してグラフィック検証コードを生成し、それをクライアントに返します。 クライアントは検証コード a をサーバーに入力し、サーバーは現在のセッションに保存されているデータに基づいてそれを検証します。

セッションが有効になっていない状態でこの方法を使用すると、認証コードaをセッションに保存したり置き換えたりすることができず、当然エラーが発生します。
(注: 画像の出力はセッションのアクティブ化とは何の関係もありません)

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート