php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.01.2012, 09:17  
Neuer Benutzer
 
Registriert seit: 15.11.2011
Beiträge: 13
PHP-Kenntnisse:
Anfänger
devilseye kann nur auf Besserung hoffen
Standard Captcha tut nicht...

Hi folks
da ich nicht genau weiss wo das Probelm ist Poste ich mal den gesamten Code abgesehen des captcha.php welches nur das Bild zeichnet.
Das Formular wird abgesendet obwohl das captcha nicht oder falsch ausgefüllt ist, ich weiss nicht mehr weiter, kann mir jemand helfen bitte.

PHP-Code:
<?php
error_reporting
(0);
?>

<h1>Kontaktformular</h1>

<?php

require_once ( 'includes/library.php' );

if ( 
$_POST['name'] == "" OR $_POST['vorname'] == "" OR $_POST['mail'] == "" OR !is_mail($_POST['mail']) OR $_POST["captcha"] != $_SESSION["captcha_code"] ){
if ( 
$_POST['abgesendet']==""){
?>
<form action="index.php?menu=formular" method="post" >
<?php
    
if ( $_POST['name'] == "" AND $_POST['abgesendet'] == "ja" ){
        echo 
'<span>Bitte einen Namen eingeben</span>'."\n".'<br />'."\n";
    }

    if ( 
$_POST['vorname'] == "" AND $_POST['abgesendet'] == "ja" ) {
        echo 
'<span>Bitte einen Vornamen eingeben</span>'."\n".'<br />'."\n";
    }

        if ( 
$_POST['mail'] <> "" )
        {
            if ( 
is_mail($_POST['mail']) == false )
            {
                echo 
'<span>E-Mail-Adresse ist Falsch - korrigieren</span>'."\n".'<br />'."\n";
                
$_POST['mail'] = "";
            }
        }
        
        if ( 
$_POST['mail'] == "" AND $_POST['abgesendet'] == "ja" )
        {
            echo 
'<span>Bitte eine Email-Adresse eingeben</span>'."\n".'<br />'."\n";
        }
        
        
// Captcha überprüfen
            
if (($_SESSION["captcha_code"] == 0) AND ($_POST["captcha"] != $_SESSION["captcha_code"]) ) {
                echo 
'<span>Captcha ist Falsch bitte neu eingeben</span>';
            }
        
?>
        <p>
            <label for="name"><span>*</span>Name:
            <input type="text" name="name" value="<?php echo $_POST['name'] ; ?>" />
            </label>
        </p>

        <p>
            <label for="vorname"><span>*</span>Vorname:
            <input type="text" name="vorname" value="<?php echo $_POST['vorname'] ; ?>" />
            </label>
        </p>

        <p>
            <label for="mail"><span>*</span>Email:
            <input type="text" name="mail" value="<?php echo $_POST['mail'] ; ?>" />
            </label>
        </p>

        <p>
            <img src="captcha/captcha.php" width="70" height="25" alt="" style="vertical-align: middle;">
            <input type="text" name="captcha" size="6">
        </p>

        <input type="hidden" name="abgesendet" value="ja" />
        <input type="submit" value="Absenden" />
    </form>
<?php 
}}else{
?>
<p>Vielen Dank für Ihr Intresse</p>
<?php
            $header     
'From: artwebdesign.ch' "\r\n";
            
$empfaenger 'info@artwebdesign.ch';
            
$betreff    'Webdesign Anfrage';
            
$inhalt     'Anfrage von '$_POST['name'] . ' ' $_POST['vorname'] . "\r\n" ;
            
$inhalt    .= 'Anfrage von Email '$_POST['mail'] ;

            
mail $empfaenger$betreff$inhalt$header ) ;
            
        
// Session löschen
        
unset($_SESSION['captcha_code']);


}
?>
ich weiss dass der Code noch nicht wirklich sauber ist aber es soll halt einfach mal funktionieren.

Danke schon im voraus.

mfg devilseye
devilseye ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 31.01.2012, 09:19  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

soweit ich das sehe, liegt dein Fehler in Zeile 1 bzw 2 ...

SCHALTE DAS ERROR-REPORTING EIN - du weißt doch schon, dass dein Script irgendwelchen Bockmist produziert - dann unterdrücke nicht auch noch Fehlermeldungen, sondern schalte das Error-Reporting ein und schau, was PHP zu berichten hat

und da haben wir den Übeltäter ... du verwendest Sessions - aber der Aufruf von session_start() fehlt entweder oder aber er kommt zu spät ... womit mal wieder ein klassischer "headers already sent"-Fehler auftritt , weil du vorher html-Ausgaben Richtung Browser machst ...
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline  
Alt 31.01.2012, 09:20  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi,

poste bitte mal deinen Captcha Code (captcha.php) und zum Mail versenden -> Mailerklasse verwenden!! Gibt es Fehlermeldungen? Deine IF-Bedingungen nochmal gecheckt, wie sie so sind??

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline  
Alt 31.01.2012, 10:22  
Neuer Benutzer
 
Registriert seit: 15.11.2011
Beiträge: 13
PHP-Kenntnisse:
Anfänger
devilseye kann nur auf Besserung hoffen
Standard

Hi eagle,
Sorry hatte vergessen zu erwähnen die session wird in der index.php gestartet

@wolf
Bin gerade unterwegs ich poste die captcha.php wenn ich zurück bin.

Fanke schon mal.
devilseye ist offline  
Alt 31.01.2012, 10:29  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

ich wette um ein Bier zum Selbstkaufen, dass es trotzdem an "headers already sent" liegt
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline  
Alt 31.01.2012, 10:39  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

...ich gebe eagle recht
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline  
Alt 31.01.2012, 11:59  
Neuer Benutzer
 
Registriert seit: 15.11.2011
Beiträge: 13
PHP-Kenntnisse:
Anfänger
devilseye kann nur auf Besserung hoffen
Standard

Ich hab die session schonmal versucht zu starten in der formular.php allerdings bildet die formular.php bei der ausgabe ja nicht den kopf der seite.
Ich include alle seiteninhalte in die index.php.
devilseye ist offline  
Alt 31.01.2012, 12:11  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Zeig mal bitte deine index.php und wo du includest, bzw ob davor Ausgaben sind!

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline  
Alt 31.01.2012, 12:21  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

machen wir es kurz : aktiviere bitte Error-Reporting und zwinge PHP auch die Fehler im Browser auszugeben - und wenn Fehlermeldungen kommen, - die enthalten ja Zeile und Datei ihrer Herkunft .... - dann poste bitte ALLE relevanten Code-Teile
(und bei "headers already sent" sagt er dir auch, wo die Ausgabe seiner Meinung nach erfolgte, die den Header jetzt verhindert)
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline  
Alt 31.01.2012, 21:22  
Neuer Benutzer
 
Registriert seit: 15.11.2011
Beiträge: 13
PHP-Kenntnisse:
Anfänger
devilseye kann nur auf Besserung hoffen
Standard

okey hier mal vorweg die index.php und die captcha.php

index.php
PHP-Code:
<?php

    
// Session starten
    
session_start();
    
    
error_reporting(E_ALL);
    
ini_set('display_errors');
    
    
$section                 = array();
    
$section['start']        = 'start.php';
    
$section['about']        = 'ueber.php';
    
$section['ref']         = 'refs.php';
    
$section['info']        = 'infos.php';
    
$section['contact']        = 'contact.php';
    
$section['preis']        = 'preis.php';
    
$section['impressum']    = 'impressum.php';
    
$section['formular']    = 'formular.php';
    
$section['sitemap']        = 'sitemap.php';
    
?>
<!DOCTYPE html>
<html>

    <head>
    
        <?php
        
            $title 
'Herzlich Willkommen auf Art Webdesign';
            require_once (
'head.php'); 
        
        
?>
    
    </head>

    <body>
    
        <?php 
        
echo '    <div id="wrapper">';
        
        require_once (
'header.php');
        
        
        echo 
'        <div id="content">';
        
        if (isset(
$_GET['menu'], $section[$_GET['menu']])) 
            {
                include 
$section[$_GET['menu']]; 
            } else {
                include 
'start.php'// falls keine menu angegeben ist lade standardmäßig die start.php
            
}
        
        
        echo 
'            <div class="clear"></div>';
        echo 
'        </div>';
        echo 
'    </div>';
        
        require_once (
'footer.php'); 
    
        
?>
    
    </body>

</html>
captcha.php
PHP-Code:
<?php
## CAPTCHA ##

// Session starten
session_start();

// Größe des Bildes
$size_x 70;
$size_y 25;

// Erzeuge eine Zufallszahl
$zufallszahl mt_rand("100000""999999");

// Zufallszahl der Session-Variablen übergeben
$_SESSION["captcha_code"] = $zufallszahl;

// Erstelle das Bild mit der angegebenen Größe!
$bild imageCreate($size_x$size_y);

// Erstelle einen weißen Hintergrund
imageColorAllocate($bild255255255);

// Zufallsfarbe (RGB) erstellen
$farbe1 mt_rand("0""175");
$farbe2 mt_rand("0""175");
$farbe3 mt_rand("0""175");

// Verteile die Farben
$rahmen imageColorAllocate($bild000); // Rahmenfarbe
$farbe  imageColorAllocate($bild$farbe1$farbe2$farbe3); // Textfarbe

// Hole die Zahlen der Punkte zum Zeichnen
$alle_punkte = ($size_x $size_y)/15;

// Zeichne viele Punkte mit der selben Farbe des Textes
for ($zaehler 0$zaehler $alle_punkte$zaehler++) {

 
// Erzeuge die Zufallspositionen der Punkte
 
$pos_x mt_rand("0"$size_x);
 
$pos_y mt_rand("0"$size_y);

 
// Zeichne die Punkte
 
imageSetPixel($bild$pos_x$pos_y$farbe);
};

// Zeichne den Rahmen
imageRectangle($bild00$size_x-1$size_y-1$rahmen);

// Koordinaten der Position von der Zufallszahl
$pos_x 8// links
$pos_y 5// oben

// Zeichne die Zufallszahl
imageString($bild5$pos_x$pos_y$zufallszahl$farbe);

// Sende "browser header"
header("Content-Type: image/png");

// Sende das Bild zum Browser
echo imagePNG($bild);

// Lösche das Bild
imageDestroy($bild);
?>
devilseye ist offline  
Thema geschlossen


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
[Erledigt] Probleme beim Captcha erstellen maikell PHP Einsteiger 2 26.04.2011 14:23
Probleme mit Captcha Dennis85 PHP Einsteiger 10 08.02.2011 15:15
Scriptangebot Captcha md5() Scriptbörse 8 12.09.2010 23:21
Captcha problem Speedchecker94 Beitragsarchiv 1 30.10.2009 15:06
captcha stimmt nicht überein chrismh PHP Tipps 2009 5 22.06.2009 22:11
Gästebuch Captcha DjRay PHP Tipps 2008 9 10.10.2008 14:44
captcha problem in unterordnern Change PHP Tipps 2008 9 10.08.2008 22:43
Gleichungs Captcha PHP litterauspirna PHP-Fortgeschrittene 17 25.05.2008 21:06
Frage zu spam bots und captcha litterauspirna PHP Tipps 2008 6 20.05.2008 23:56
Captcha in Website einbauen Dartgott PHP Tipps 2008 9 23.04.2008 15:53
Captcha in bestehendes GB einbauen ZeroQL PHP Tipps 2008 6 08.04.2008 15:32
Captcha? Ja, Nein oder? stefanjann Off-Topic Diskussionen 12 20.02.2008 12:59
[Erledigt] Probleme mit Einbindung Captcha PHP Tipps 2006 0 18.08.2006 19:42

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
$_session[\'captcha_code\'] wird nicht übergeben

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:46 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