2011-11-02 4 views
-1

私はcreateCaptchaキャプチャ画像を機能別にプリントするには?

function createCaptcha() 
{ 
    $ranStr = md5(microtime()); 
    $ranStr = substr($ranStr, 0, 6); 
    $_SESSION['cap_code'] = $ranStr; 
    $newImage = imagecreatefromjpeg("views/cap_bg.jpg"); 
    $txtColor = imagecolorallocate($newImage, 0, 0, 0); 
    imagestring($newImage, 5, 5, 5, $ranStr, $txtColor); 
    imagejpeg($newImage); 
} 

という関数を作成しましたが、私は、この関数を呼び出すときには、いくつかの奇妙な文字を示し!!!!関数内のコンテンツタイプを追加した後

<label for="captchacheck">Word Verification : </label> 
Type the characters in the picture below<br /><br/> 

<div id="captchadiv"> 
<img id="captchaimg" src="<?php createCaptcha(); ?>" /></div><br /><br /> 
<input type="text" name="captchacheck" id="captchacheck" style="width:200px;"/> 
<br /><br /> 

header("Content-type: image/jpeg"); 

ページ全体を画像

なるが、私はこれだけはimgタグ

で任意の助けを仕事をしたいです感謝します....

+1

あなたの 'src'属性は_image_を指し示すか、適切なコンテンツタイプ(例えばセッションに基づいてimage/jpegを送るビューである'/captcha ')で画像をレンダリングするURIを指し示す必要があります。 'src'属性にバイナリのデータを入れることはできません。これは、コメントや答えの中の他の人があなたに伝えようとしていることです。単に画像を生成するビューとコントローラを作成し、 'src'属性で_that_を呼び出してください。この質問は極端にローカライズされており、(残念ながら)Stack Overflowには適していません。 –

答えて

3

T imgタグのsrc属性は画像データを指し、画像データを指しません。そのため、createCaptcha()関数をcaptcha.phpのようなファイルに入れてsrcに設定します。 <img id="captchaimg" src="captcha.php" />

+0

しかし、私は実際に私たちは与えられた値 などでタグを置き換えるためにaddTagと呼ばれる機能を使用してMVCアーキテクチャ を使用します。 我々はaddTag(「captcha_img」、ます$ this-> ceateCaptcha())を追加する機能を追加。 –

+0

@Peaceそれでも結果は「」となりますが、これはナンセンスです。 MVCはこれとは関係ありません。この答えは+1です。 – deceze

+0

@deceze次に、どうすればいいですか? –