---
title: "Captcha Library (captcha)"
url: "https://www.typo3.net/d/60237-captcha-library-captcha"
source: "typo3.net"
tags: ["Extensions","Frage"]
created: "2007-03-29"
last_reply: "2007-03-29"
replies: 4
solved: true
page: 1
pages: 1
lang: "de"
---

# Captcha Library (captcha)

Extensions · 4 Antworten · gelöst · gestartet 2007-03-29

## Frage

**Unbekannter Benutzer** · 2007-03-29 · [Beitrag #1](https://www.typo3.net/d/60237-captcha-library-captcha/1)

Hallo,

es geht um die Captcha Library.
Ich würde es gerne so einrichten, dass ich über einen Button das erzeugte Captcha neu erstellen lassen kann, wenn eine nicht lesbare Variante erzeugt worden ist.
Dazu habe ich folgenden Code in mein mailforplus-template mit aufgenommen:

```html
<input type="button" value="Neues captcha" onclick="var heute = new Date(); document.getElementById('captcha img').src='typo3conf/ext/captcha/captcha/captcha.php?'+heute.getTime()" />
```

Nun wird ja via den Platzhalter ###CAPTCHA### in mailformPlus im Frontend folgendes ausgegben:

```html
<img src="typo3conf/ext/captcha/captcha/captcha.php" alt="" />
```

Nach der obigen JavaScript Anweisung müsste dem captch img noch die id"captcha" zugewiesen werden.

Das captch-img wird ja durch die Datei "captcha.php" der Extension Captcha Library erzeugt:

```php
<?php
/***************************************************************************
 *
 *   Filename   		  : image.php
 *   Began			  : 2005/04/04
 *   Modified   		  :
 *   Copyright  		  : (c) 2005 xkare.com
 *   Version    		  : 1.0
 *   Written by 		  : Mert &#65533;&#65533;&#65533;T in istanbul / TURKEY
 *
 *   You are encouraged to redistribute and / or modify this program under the terms of
 *   the GNU General Public License as published by the Free Software Foundation
 *    (www.fsf.org); any version as from version 2 of the License.
 *
 ***************************************************************************/
session_start();
function strrand($length)
{
	$str = "";

	while(strlen($str)<$length){
	$random=rand(48,122);
	#if( ($random>47 && $random<58-)  ){
	if (ereg('[A-Za-z]',chr($random)))
		$str.=chr($random);
	#}

	}

	return $str;
}

$imgHeight = 34;
$imgWidth = 110;

$text = $_SESSION['tx_captcha_string'] = strrand(5);
$img_number = imagecreate($imgWidth,$imgHeight);
$backcolor = imagecolorallocate($img_number,240,240,240);
$textcolor = imagecolorallocate($img_number,100,100,100);
$white = imagecolorallocate($img_number, 0xFF, 0xFF, 0xFF);

imagefill($img_number,0,200,$backcolor);

// Imagestring($img_number,5,1,1,$text,$textcolor);
// neu start
$font = dirname($_SERVER["SCRIPT_FILENAME"])."/CA_GEHEIM_TRASH.TTF";
imagettftext($img_number, 24, 3, 36, 25, $textcolor, $font, $text);
// neu ende

        //some obfuscation
        for ($i=0; $i<3; i="" x1="" imgwidth="" -="" 1="" y1="" roundimgheight="" 10="" x2="" roundimgwidth="" y2="" imgheight="" imagelineimg_number="" white="" rand1="" cx="" 50="" 25="" cy="" w="" 24="" imagearcimg_number="" 360="" headercontent-type:="" imagepng="" imagepngimg_number="">
```

Wo und wie kann ich hier die id="captcha" für das FE einfügen?
Bin selbst des PHPs nicht mächtig und würde mich über Hilfe freuen.

Dank im Vorraus
Sukkulent

## Beste Antwort

**steffenk** · 2007-03-29 · [Beitrag #4](https://www.typo3.net/d/60237-captcha-library-captcha/4)

hier ein einfaches Beispiel:

```html
<input type="button" value="refresh" onclick="document.getElementById('c').childNodes[0].src='flag_uk.gif'" />
<p id="c"><img src="flag_de.gif" /></p>
```

## Antworten

### [#2](https://www.typo3.net/d/60237-captcha-library-captcha/2) · steffenk · 2007-03-29

statt das captcha zu patchen würde ich ein p drumrum machen und darüber auf das img mit JS zugreifen.

### [#3](https://www.typo3.net/d/60237-captcha-library-captcha/3) · Unbekannter Benutzer · 2007-03-29

Hallo Steffenk,

ähm, könntest du mir hier weiterhelfen?
Die JavaScript Kenntnisse sind auch nicht die Besten

### [#4](https://www.typo3.net/d/60237-captcha-library-captcha/4) · steffenk · 2007-03-29 · Beste Antwort

(Text siehe oben unter „Beste Antwort“.)

### [#5](https://www.typo3.net/d/60237-captcha-library-captcha/5) · Unbekannter Benutzer · 2007-03-29

Danke für deine Hilfe, aber irgendwie will das neue Bild nicht geladen werden.
Da ist wohl grundsätzlich noch was falsch.

Deswegen nochmal eine Frage in Demut :o :
Wie kann ich das grundsätzlich lösen, das ich ein schlecht leserliches Captcha neu nachladen kann, ohne den bereits eingegebenen Text zu löschen?
Kennst Du hier evtl. einen Link oder ein Codeschnippsel, das sich auf die Extensions Captcha Library (captcha) und Mailform Plus bezieht?

---

Quelle: „Captcha Library (captcha)“, typo3.net, https://www.typo3.net/d/60237-captcha-library-captcha
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
