[PHP-users 29558] Re: 数字認証画面を作りたい
Hiroshi Honma
hiro0122_mail @ yahoo.co.jp
2006年 6月 30日 (金) 19:18:00 JST
To.高木 正弘 様へ。
返事が遅れてしまい申し訳ありません。
レスは見たんですが、それ以降PCにしばらく触れなくてorz
>header 関数のマニュアル
> http://www.php.net/manual/ja/function.header.php
>の中ごろにある「覚えておいて頂きたいのは、header() 関数は、……」以降
>の説明と、それに続くサンプルが参考になるのではないでしょうか。
header関数についてはサンプルをまねただけで、
詳しく理解していなかったので勉強します。
>あるいはブラウザで直接
> runner.php?TN=1
>を開いてみて、どんなふうになるか確かめてみるとか。
実際にTN=1のパラメータを付加してやってみると、
Warning: Cannot modify header information - headers already sent by
といった警告が表示され、そのあとにぐちゃぐちゃしたテキストの羅列が表示されます。
警告されている部分は画像を表示しようとする直前の
header('Content-type: image/png');
の行みたいです。
で、いろいろ検索して、以下のようなコードで行ったところ
ちゃんと表示できました。
<?php
if ($_GET['TN'] == '1') {
$width = 200;
$height = 200;
$image = imagecreate($width, $height);
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, $width, $height, $white);
imagettftext($image, 10, 0, 20, 110, $black,
"../fonts/verdana.ttf", "I love you!");
imagepng($image);
imagedestroy($image);
exit();
}
?>
<html>
<head>
<title>test2</title>
</head>
<body>
Test<br>
<IMG SRC="./test2.php?TN=1">
</body>
</html>
これができるのだから何かコードに問題があると思い、
今いろいろとためしているところです。
>以下のようなライブラリが公開されています。
> http://pear.php.net/package/Text_Captcha
> http://pear.php.net/manual/ja/package.text.text-captcha.php
>もちろんすべて PHP で書かれていますし、実際に動作するサンプルプログラ
>ムも同梱されています。時間のあるときにでも読んでみてはいかがでしょうか。
ライブラリについてはさっそくVer0.1.6のText_CAPTCHA
をダウンロードし、exsample/CAPTCHA_test.phpの表示を試みたのですが、
Warning: main(Text/CAPTCHA.php): failed to open stream: No such file or
directory in
という警告が表示され、そのコードは、
require_once 'Text/CAPTCHA.php';
という部分です。
Text/CAPTHCHA.phpというものが足りないようなので、
今、どうしようか考えているところです。
ありがとうございます。
今後とも何卒よろしくお願いします。
--------------------------------------
Let's start Yahoo! Auction - Free Campaign Now!
http://pr.mail.yahoo.co.jp/auction/
PHP-users メーリングリストの案内