php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.08.2007, 16:44  
Neuer Benutzer
 
Registriert seit: 02.08.2007
Beiträge: 6
Steusi
Steusi eine Nachricht über ICQ schicken
Standard

Gut also session_start(); fehlt nicht, wenn ich es rein schreibe kommt die Notice, das es schon vorhanden ist und ignoriert wird.

var_dump($wert, $_SESSION);
ergab folgende Ausgabe:

int(281 array(1) { ["wert"]=> int(281 }

Halt der String der im Bild zu sehen ist.

So ich habe nur noch 2 Datein und ich poste mal das wichtigste:

captcha.php
PHP-Code:
<?php
    srand
();
    
$wert rand(10009999);
    
// Erstellen eine 40 mal 98 px großen Bildes
    
$bild imagecreate(98,40);
    
// Farben definieren
    
$schwarz imagecolorallocate($bild,0,0,0);
    
$weiss imagecolorallocate($bild,255,255,255);
    
$grun imagecolorallocate($bild,102,255,153);
    
// Schrift einfügen
    
imagestring($bild,20,20,10,$wert,$grun);
    
// Störlinien setzen
    
imageline($bild,0,30,100,15,$weiss);
    
imageline($bild,0,10,100,30,$weiss);
    
imageline($bild,30,0,85,40,$weiss);
    
// Type im Header definieren und Bild ausgeben
    
header("Content-Type: image/jpeg");
    
imagejpeg($bild);
    
// Bild löschen
    
imagedestroy($bild);
        
    
session_start();
    
$_SESSION['wert'] = $wert;
?>
So auf der anderen ist das Formular, wo das Captcha ausgeführt wird.

PHP-Code:

<?php
            
// Spamschutz
            
echo("<img src=\"site/captcha.php?$wert\" id=\"captcha\" />");
            echo(
"<a href=\"#\" onclick=\"javascript:location.reload.document.getElementById('captcha').src = 'site/captcha.php?wert'\"><img src=\"design/refresh.gif\" alt=\"Bild aktualisieren\"/></a>
"
);
            echo(
"<input type=\"text\" name=\"spam\" maxlength=\"4\" size=\"13\"/>"); 
        
?>
Und später wird es dann noch verglichen, ob Eingabe mit dem Capcha übereinstimmt.
PHP-Code:
if (($_SESSION['wert'] != $spam)) {
        echo (
"Bitte überprüfen Sie Ihre Eingabe beim Spamschutz.
"
);
    } 
So, offline funktioniert alles wunderbar ohne Fehler. Nun habe ich es hochgeladen und FEHLER. Das Bild (captcha) wird nicht aktuallisiert!
Es wird nur das erste zufällig erzeugte Bild angezeigt, welches sich nie mehr ändert, WARUM?

Mit aktuallisiert mein ich die komplette Seite (sprich F5 drücken o.ä.) nicht das ihr denkt ich meine den JS_Link! [/php]
Steusi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.08.2007, 19:45  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo,

ich nehe an, dass dir hier dein Browser einen Streich spielt. Übergebe mal deinem Captcha-Bild-Aufruf einen zufallswert als Parameter in der URL, bzw. sende beim Ausliefern des Captcha-Bildes die no-cache-Header ("Pragma: no-cache", ...).
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 26.08.2007, 13:42  
Neuer Benutzer
 
Registriert seit: 02.08.2007
Beiträge: 6
Steusi
Steusi eine Nachricht über ICQ schicken
Standard

no-cache-Header???

Du meinst ich soll mal versuchen einen Festen Wert zu senden, statt des zufallswertes per Bild?

Also wenn ich das Formular abschicke bekomme ich die Notice:
Undefined variable: _SESSION in /usr/export/www/vhosts/funnetwork/hosting/steusi/Mysite/site/Impressum.php on line 196
PHP-Code:
<?php if (($_SESSION['wert'] != $spam)) {
Also habe ich da einen SESSION fehler, aber wo??
Browerfehler kann man ausschließen. Wenn ich bei Firefox oder IE, das Formular absende dann erscheint ein neues Bild, bei Opera hingegen nicht.
Steusi ist offline  
 


Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
captcha php mit refresh

Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.