 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
14.07.2008, 19:54
|
#1
|
|
TP-Insider
Registriert seit: Jul 2004
Ort: Stuttgart
|
generiertes bild wird im ie6 nicht angezeigt
hi,
ich habe eine captcha funktion die eine zeichenfolge erzeugt und angezeigt wird. im ie7, ff & opera wird alles korrekt angezeigt. aber im ie6 wird nur die hintergrund grafik angezeigt, der text aber nicht und ich habe keine ahnung woran es liegt. hat jemand einen rat?
hier noch der code:
PHP-Code:
<?
session_start();
$key4Image = $_SESSION['key4Image'];
// Zeichensätze aus dem Verzeichnis auslesen
$dir = opendir('.');
if($dir) {
while($files = readdir($dir)){
if(preg_match('/\.ttf$/', $files)){
$fonts[] = $files;
}
}
}
if($dir) {
closedir($dir);
}
/*$fonts = array("verdana.ttf",
"arial.ttf",
"rod.ttf");*/
$width = 130;
$height = 30;
if(function_exists("imagecreatetruecolor")) {
$image = imagecreatetruecolor($width, $height);
imagefill($image, 0, 0, 0xFFFFFF);
$color = 16000000;
} else {
$image = imagecreate($width, $height);
imagecolorallocate($image, 255, 255, 255);
$color = 255;
}
if((double)phpversion() >= 5.0) {
for($ct = 0; $ct <= 60; $ct++) {
imagedashedline($image, rand(0, $width), rand(0, $height), rand(0, $width), rand(0, $height), rand(0, $color));
imagefilledellipse($image, rand(0, $width), rand(0, $height), rand(0, 20), rand(0, 20), rand(0, $color));
}
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
imagefilter($image, IMG_FILTER_BRIGHTNESS, 120);
imagefilter($image, IMG_FILTER_SMOOTH, 5);
} else {
// Hintergrundbild(er)
$bgImage = array("overlay.png");
$image2 = imagecreatefrompng($bgImage[sizeof($bgImage)-1]);
list($imgWidth, $imgHeight) = getimagesize($bgImage[sizeof($bgImage)-1]);
imagecopyresampled($image, $image2, 0, 0, 0, 0, $width, $height, $imgWidth, $imgHeight);
}
$distance = 10;
for($i = 0; $i <= sizeof($key4Image); $i++) {
$r = rand(0, 180); // Schriftfarbe Rotwert
$g = rand(0, 180); // Schriftfarbe Grünwert
$b = rand(0, 180); // Schriftfarbe Blauwert
// Bild aufbauen
$size = 13; // Schriftgröße
if($key4Image[$i] == "+" || $key4Image[$i] == "=") {
$angle = 0;
} else {
$angle = rand(-15, 15); // Neigungswinkel
}
$x = $distance; // Zeichenabstand
$y = ($height/2+2) + rand(0, ($height/2)-8); // Höhenverschiebung + Variation der Höhe
$col = imagecolorallocate($image, $r, $g, $b); // Schriftfarbe
$fontfile = $fonts[rand(0, (sizeof($fonts)-1))]; // Schrift auswählen
$text = $key4Image[$i]; // Text
imagettftext($image, ($size+3), $angle, $x, $y, 0x000000, $fontfile, $text);
imagettftext($image, $size, $angle, $x, $y, $col, $fontfile, $text);
$distance += 25;
}
header("Content-type: image/png");
imagepng($image);
imagedestroy($image);
?>
aufruf erfolg über <img src="captcha.php" style="vertical-align:middle;" />
|
|
|
14.07.2008, 19:59
|
#2
|
|
TP-Moderator
Registriert seit: Nov 2005
Ort: Köln
|
Zitat:
Zitat von joextra
aufruf erfolg über <img src="captcha.php" style="vertical-align:middle;" />
|
Könnte es evtl. am Cache liegen?
Um das rauszufinden, kannst Du entweder den Cache mal leeren oder an "captcha.php" einen Parameter dranhängen der per Zufall generiert wird (oder den aktuellen Zeitstempel enthält), also mit "captcha.php?u=immerirgendwasanderes".
|
|
|
14.07.2008, 21:09
|
#3
|
|
TP-Insider
Registriert seit: Jul 2004
Ort: Stuttgart
|
ela megale,
am cache daran liegts nicht. zudem wird der captcha code bei jeden aufruf neu geschrieben (wird per session übergeben). da fällt mir aber ein das der ie6 etwas probleme mit sessions hat. könnte evtl. daran liegen.
hmmm, ich könnte den code natürlich direkt per variable übergeben, aber das ist ja nicht so sicher. das werden die spambots wohl blicken.
|
|
|
15.07.2008, 10:26
|
#4
|
|
TP-Insider
Registriert seit: Jul 2004
Ort: Stuttgart
|
was gibt es eigentlich für alternativen zu sessions? das problem ist nämlich, das der generierte code ein array ist, und das kann man leider nicht mit captcha.php?variable übergeben :/
|
|
|
15.07.2008, 10:57
|
#5
|
|
TP-Insider
Registriert seit: Jul 2004
Ort: Stuttgart
|
ok, hat sich erledigt
|
|
|
15.07.2008, 11:03
|
#6
|
|
TP-Moderator
Registriert seit: Nov 2005
Ort: Köln
|
Geia sou megale
Zitat:
Zitat von joextra
ok, hat sich erledigt
|
Das ursprüngliche Problem (Captcha-Bild wird im IE6 nicht angezeigt) oder das zweite Problem (Übergabe eines Arrays über die url).
Wenn sich "nur" das zweite Problem erledigt hat, könnte evtl. jemand was zum ersten sagen.
Wenn sich das erste Problem erledigt hat, profitieren bestimmt noch ein paar andere von Deiner Lösung 
|
|
|
15.07.2008, 19:25
|
#7
|
|
TP-Insider
Registriert seit: Jul 2004
Ort: Stuttgart
|
zu 1: wie schon geschrieben, liegt es daran das ie6 nicht mit session zurecht kommt. mein captcha erwartet aber die zeichenfolge als array über die session
zu 2: ich habe das array per implode/explode zerlegt und wieder zusammen gefügt. also ganz simpel
|
|
|
16.07.2008, 09:31
|
#8
|
|
TP-Veteran
Registriert seit: May 2006
|
Der Browser soll Probleme mit einer Session haben?! Arrays kann man auch serialisieren..
__________________
...Meine Meinung
1984
|
|
|
16.07.2008, 09:42
|
#9
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Zitat:
Zitat von marc22
Der Browser soll Probleme mit einer Session haben?!
|
Das gibt es tatsächlich, allerdings tritt das nur sehr selten auf. Die dort angegebene Lösung soll angeblich helfen, macht sie aber nicht immer, wie ich aus eigener Erfahrung weiß.
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
16.07.2008, 17:40
|
#10
|
|
TP-Insider
Registriert seit: Jul 2004
Ort: Stuttgart
|
@marc22
habs schon mit serialisiere probiert. hat aber leider nicht geklappt
@Rizzo
das mit dem header kenne ich. klappt auch nicht.
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:11 Uhr.
|
 |