ホームページ バックエンド開発 PHPチュートリアル PHP が検証コードを生成するときに「独自のエラーが発生したため、画像を表示できません」の解決策_PHP Tutorial

PHP が検証コードを生成するときに「独自のエラーが発生したため、画像を表示できません」の解決策_PHP Tutorial

Jul 21, 2016 pm 02:59 PM
php コード 使用 画像 方法 見せる 生成する 解決する 行為 確認する

今日、コードを使用して PHP 検証コード生成機能を実装したところ、Firefox が「画像が独自のエラーのため表示できません。」というプロンプトを表示し続けることがわかりました。また、作成者は「ブラウザーが画像を表示する場合」というプロンプトを表示しました。独自のエラーのため表示できません。テキスト内のスペースを削除することはできますが、コード内のスペースをすべて削除しても、検査画像は表示できません。

そこで私は徹底的にグーグルで調べましたが、ほとんどの解決策は、HTML出力を防ぐためにすべてのスペースを削除し、「

確認コード生成ファイル checkNum_session.php

コードをコピー コードは以下の通りです:

Header("Content-type: image/png");
/*
* Initialization
*/
$border = 1; //境界線が必要かどうか 1 はい: 0 いいえ
$how = 4 //画像の幅
$h = 20; height
$fontsize = 6; //フォントサイズ
$alpha = "abcdefghijkmnopqrstuvwxyz"; //検証コードの内容 1: 文字
$number = "023456789" //検証コードの内容 2: 数字
$randcode = ""; //検証用コード String 初期化
srand((double)microtime()*1000000); //乱数シードを初期化
$im = ImageCreate($w, $h); //検証用画像を作成
/*
* Frame
* /
$bgcolor = ImageColorAllocate($im, 255, 255, 255); //背景色を設定します
ImageFill($im, 0, 0, $bgcolor) //背景色を塗りつぶします
if($ border)
{
$black = ImageColorAllocate($im, 0, 0, 0); // 境界線の色を設定します
ImageRectangle($im, 0, 0, $w-1, $h-1, $black); //境界線を描画します
}
/*
* ランダムな文字を少しずつ生成します
*/
for($i=0; $i<$how; $i++)
{
$alpha_or_number = mt_rand(0, 1) ; //文字または数字
$​​ str = $alpha_or_number ? $alpha : $number;
$that = mt_rand(0, strlen($str)-1) // どの文字を取るか
$code = substr($str); , $that, 1); // 文字を取得
$j = !$i ? 4: $j+15; // 文字の位置を描画
$color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100) ), mt_rand(0,100)); //文字 次に color
ImageChar($im, $fontsize, $j, 3, $code, $color3); // 文字を描画します
$randcode .= $code;検証コード文字列を少しずつ
}
// 検証コード文字列をセッションに書き込みます
session_start();
$_SESSION['authnum_session'] = $randcode;
/*
* 干渉を追加します
*/
for($ i=0; $i<1; $i++) //背景の干渉線を描画します
$color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255));
ImageArc($im, mt_rand(-5,$ w), mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1) //干渉線
}
for ($i=0; $i<$how* 40; $i++)//背景干渉点を描画
{
$color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干渉点カラー
ImageSetPixel($im, mt_rand (0,$w), mt_rand(0,$h), $color2); //干渉点
}
//画像の問題を防ぐためのキーコード独自のエラーのため表示できません'
ob_clean();
/*描画終了*/
Imagegif($im);
ImageDestroy($im);
/*描画終了*/


確認コードファイル sessionValidate.php を呼び出します

コードをコピーします コードは次のとおりです:

session_start();
//ページでは、まずセッションを開く必要があります
//error_reporting(2047);
session_destroy ();
//毎回新しいセッション値を取得できるようにセッションを削除します;
//seesion を使用するとうまく機能し、非常に便利です
?>




この例はセッション検証インスタンスです

検証コード: < input type="text" name="validate" value="" size=10>



//前のセッションを出力します;
echo "前のセッション:".$_SESSION["authnum_session"]."
";
$validate ="";
if(isset($_POST["validate"])){
$validate=$_POST["validate"];
echo "今入力した内容は次のとおりです: ".$_POST["validate"]。 "
ステータス: ";
if($validate!=$_SESSION["authnum_session"]){
//セッション値がユーザーが入力した検証コードと一致するかどうかを判断します;
echo "入力が正しくありません< /font>";
}else{
echo "確認済み";
}
}
/*
//すべてのセッションを印刷します;
PrintArr( $_SESSION);
function PrintArr($aArray){
echo '';<br>print_r($aArray);<br>echo '';
}
*/
?>

http://www.bkjia.com/PHPjc/328138.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/328138.html技術記事今日、コードを使用して PHP で検証コードを生成する機能を実装したところ、Firefox で「画像が...独自のエラーのため表示できません。」というメッセージが表示され続けることがわかりました。作者も「閲覧すると...」と注意しました。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles