Zurück tutorials.de > Programming > PHP

 
 
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)

Themen: 242.975 | Beiträge: 1.352.293 | Mitglieder: 169.418 (Stand 28.01.10) | Fragen zur Nutzung von Tutorials.de? Nutzungsregeln | Kontaktformular | Impressum

Jubiläums-Countdown 23.02 23.03 23.04 23.05 23.06 23.07 23.08 23.09


Einladung zum C++ für Einsteiger-Workshop
  AntwortAntworten (über Gastzugang)    
  AntwortAntworten (über Gastzugang)    
 
Themen-Optionen Ansicht
Alt 08.01.07, 13:36   #1 (permalink)
Mitglied Gold
 
Registriert seit: Jan 2005
Beiträge: 161
Renommee-Modifikator: 11
d2mike hat eine blütenweiße Weste

Captcha Problem

Hallo Leute!
Ich brauch mal wieder eure Hilfe. Dieses mal geht es um ein Captcha...

image.php --> hier wird das Captcha erzeugt und die Session Variable erzeugt
PHP-Code:
<?php
   session_start
();
   unset(
$_SESSION['captcha']);
   
$text rand(1000,10000); //Zufallszahl

   
function encrypt($string$key) {
   
$result '';
   for(
$i=0$i<strlen($string); $i++) {
      
$char substr($string$i1);
      
$keychar substr($key, ($i strlen($key))-11);
      
$char chr(ord($char)+ord($keychar));
      
$result.=$char;
   }
   return 
base64_encode($result);
   }

   
$_SESSION['captcha'] = encrypt($text"8h384ls94"); //Key
   
$_SESSION['captcha'] = str_replace("="""$_SESSION['captcha']);

        
   
header('Content-type: image/png');
   
$img ImageCreateFromPNG('image.png'); //Backgroundimage
   
$color ImageColorAllocate($img000); //Farbe
   
$ttf $_SERVER['Document_Root']."/arialf"//Schriftart
   
$ttfsize 25//Schriftgrösse
   
$angle rand(0,5);
   
$t_x rand(5,50);
   
$t_y 35;
   
imagettftext($img$ttfsize$angle$t_x$t_y$color$ttf$text);
   
imagepng($img);
   
imagedestroy($img);
?>
Die image.php wird dann in das Formular eingebunden
test.php
PHP-Code:
<form action="check.php" method="GET" enctype="text/plain">
<
img src="image.php" />
<
input type="text" name="code" />
</
form
und via Enter wird man auf die check.php weitergeleitet:
PHP-Code:
<?php
session_start
();
function 
encrypt($string$key) {
$result '';
for(
$i=0$i<strlen($string); $i++) {
   
$char substr($string$i1);
   
$keychar substr($key, ($i strlen($key))-11);
   
$char chr(ord($char)+ord($keychar));
   
$result.=$char;
}
return 
base64_encode($result);
}
$eingabe encrypt($_REQUEST["code"], "8h384ls94");
$eingabe str_replace("="""$eingabe);

//nur für mich relevant damit ich sehe ob die Variablen leer sind oder nicht...
echo "Eingabe: ".$eingabe."<br>";
echo 
"Catcha: ".$_SESSION['captcha']."<br>";

if(
$eingabe == $_SESSION['captcha']){
    unset(
$_SESSION['captcha']);
        echo 
"richtig!";
    }
    else {
        echo 
"falsch!";
    }

?>
So, ich hab jetzt das Problem mit der Session!
Wenn die test.php aufgerufen wird (wo eigentlich durch die image.php eine Session Variabel erzeugt werden sollte) passiert das genau NICHT - erst wenn ich die image.php separat aufrufe und dann die Zahlenkombi eingeb funktionierts auch ... WARUM?
Danke ... ihr seid Spitze!

lg Michael
__________________

  d2mike ist offline  
 
Alt 09.01.07, 11:57   #2 (permalink)
Mitglied Gold
 
Registriert seit: Jan 2002
Beiträge: 100
Renommee-Modifikator: 17
teccco hat eine blütenweiße Weste

AW: Captcha Problem

Hallo.
  1. Mach mal aus $_SERVER["Document_Root"] folgendes:
    PHP-Code:
    $_SERVER["DOCUMENT_ROOT"
  2. Mach mal aus $eingabe folgendes:
    PHP-Code:
    $_POST["eingabe"
  3. Übergib der image.php die Variable PHPSESSID mit der aktuellen Session-ID:
    HTML-Code:
    <img src="image.php?PHPSESSID=<?php echo session_id(); ?>" alt="" title="" />
  teccco ist offline  
 
Alt 09.01.07, 12:12   #3 (permalink)
Mitglied Gold
 
Registriert seit: Jan 2005
Beiträge: 161
Renommee-Modifikator: 11
d2mike hat eine blütenweiße Weste

AW: Captcha Problem

DANKE funktioniert - lag an der session_id()
lg Michael

Zitat:
Zitat von teccco Beitrag anzeigen
Hallo.
  1. Mach mal aus $_SERVER["Document_Root"] folgendes:
    PHP-Code:
    $_SERVER["DOCUMENT_ROOT"
  2. Mach mal aus $eingabe folgendes:
    PHP-Code:
    $_POST["eingabe"
  3. Übergib der image.php die Variable PHPSESSID mit der aktuellen Session-ID:
    HTML-Code:
    <img src="image.php?PHPSESSID=<?php echo session_id(); ?>" alt="" title="" />
__________________

  d2mike ist offline  
 
 
 
Lesezeichen:


Themen-Optionen
Ansicht
Ähnliche Themen
 
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Captcha-Grafiken erstellen xtratz PHP 0 23.05.07 13:19
CAPTCHA Problem Nepheus PHP 7 31.03.07 15:29
captcha problem croqued-monsieur PHP 4 14.06.06 10:30
Captcha Problem (einbinden) Benard PHP 6 22.05.06 12:41
Captcha: Verschleierung mistertwisters PHP 5 07.05.06 14:17
» Tools
 
tutorials.de-Tools tutorial.de-Suchfeld tutorial.de-Widget tutorial.de-RSS-Feed tutorial.de-Banner
» Neue Links
 
Hits: 130
»
JHT's Planetary...
(Cinema 4D-Objekte)
Hits: 258
»
Tageslicht ohne GI
(Cinema 4D-Tutorials)
Hits: 145
»
Puzzle
(Cinema 4D-Tutorials)
Hits: 99
»
Lacreme
(Cinema 4D-Tutorials)
Hits: 188
»
Liquid Light
(Cinema 4D-Tutorials)
» Aktuelle Umfrage
 
Bist du mit der Geschwindigkeit der Tutorials.de-Website zufrieden?
Ja, es putzt mir glatt den Staub vom Bildschirm! - 78,77%
141 Stimmen
Nein, ich denke da muss noch nachgebessert werden... - 21,23%
38 Stimmen
Stimmen gesamt: 179
Du darfst bei dieser Umfrage nicht abstimmen.

 

Alle Zeitangaben in WEZ +1. Es ist jetzt 05:38 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch) & vBadvanced CMPS v.3.2.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.5.0 RC2 ©2010, Crawlability, Inc.
Alle Rechte vorbehalten ©2000 - 2010 tutorials.de
Design by Mark, CSS by Maik & Sven Mintel
Seite generiert in 0,18804 Sekunden mit 26 queries