Ankündigung

Einklappen
Keine Ankündigung bisher.

Captcha in "Affenformular"

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Captcha in "Affenformular"

    Hallo Leute...

    ich habe gerade ein Problem, an dem ich echt verzweifele

    Ich habe ein Kontaktformular, welches ein Captcha-Bild enthält.

    Hier mein Skript

    PHP-Code:
    <?php
    if ( isset( $_POST'send' ] ) )

    if (
    array_key_exists("absendervorname"$_POST) && $_POST["absendervorname"] != "")
    {
    if (
    array_key_exists("absendernachname"$_POST) && $_POST["absendernachname"] != "")
    {
    if (
    preg_match("/^[_a-zA-Z0-9]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$/"$_POST['absendermail']))
    {
    if (
    array_key_exists("absendernachricht"$_POST) && $_POST["absendernachricht"] != "")
             {
               
              
    $mailempfaenger "meine@adresse.de";
                       
                        
    $betreff $_POST['betreff'];
                        if(
    $betreff == ""
                        { 
    $betreff "Betrefflose Anfrage"; }
                        
    $absendervorname $_POST['absendervorname'];
                        
    $absendermail $_POST['absendermail'];
                        
    $absendernachricht $_POST['absendernachricht'];
                        
    $absenderstrasse $_POST['absenderstrasse'];
                        
    $absenderort $_POST['absenderort'];
                        
    $absendertele $_POST['absendertele'];
                        
    $sendezeit date("d.m.Y, H:i");
                        
    $ipadresseabsender $_SERVER['REMOTE_ADDR'];
                        
    $zeilenumbruch chr(10);
                        
    $absendernachricht strip_tags($absendernachricht);
                        
    $absformated $absendernachricht;
                        
    $nachrichtverschickt_von "From: BlablaMailer<bla@meinedomain.de>";
                        
    $betreffzeile "$betreff";
                        
    $nachrichteninhalt "
    Die Nachricht/Anfrage wurde gesendet von:
    $zeilenumbruch$zeilenumbruch$absendervorname $absendernachname$zeilenumbruch$absenderstrasse$zeilenumbruch$absenderort$zeilenumbruch
    Telefon: 
    $absendertele$zeilenumbruch
    Email:
    $absendermail$zeilenumbruch
    IP-Adresse: 
    $ipadresseabsender$zeilenumbruch$zeilenumbruch
    Die Nachricht/Anfrage lautet:
    $zeilenumbruch
    $absformated ";
                        
    mail($mailempfaenger$betreffzeile$nachrichteninhalt$nachrichtverschickt_von);
                echo 
    "<div class='erfolg'><b>Vielen Dank!</b><p>Ihre Nachricht wurde am $sendezeit Uhr erfolgreich übertragen.</p><p>Ihre Nachricht an uns lautet:<br><i>$absformated</i></p>";
                        exit( );

                        }
                        

                   
               else
               echo 
    "<div class='error'><b>Fehler!</b><br>Sie haben keine Nachricht eingeben. Bitte ergänzen Sie Ihre Eingaben.</div>";
                }
                       else
                       echo 
    "<div class='error'><b>Ihre Nachricht konnte nicht gesendet werden!</b><br>Sie haben keine - oder eine ungültige  Emailadresse angegeben.<br>Bitte überprüfen Sie Ihre Eingaben.</div>";
                        }
                        
                        else
                       echo 
    "<div class='error'><b>Ihre Nachricht konnte nicht gesendet werden!</b><br>Bitte geben Sie Ihren Vornamen und Ihren Nachnamen in die entsprechenden Felder ein.</div>";
                        }
                        
                        
                       else
                       echo 
    "<div class='error'><b>Ihre Nachricht konnte nicht gesendet werden!</b><br>Bitte geben Sie Ihren Vornamen und Ihren Nachnamen in die entsprechenden Felder ein.</div>";
                        }
                        
                        
                      
                       
    ?>
    Soweit sogut.... das ganze funzt ja auch.
    Nun handelt es sich bei dem Formular um ein Affenformular, welches ich durch

    Code:
    <form action="<?=$_SERVER["REQUEST_URI"]?>#kontakt_email" method="post" name="meinblabla_formular">
    einleite.

    Mein Problem ist, dass ich ein Captcha-Bild eingefügt habe, welches über eine SESSION generiert wird...

    Mein PHP-Dokument wird daher eingeleitet mit

    <?php
    session_start();
    ?>

    Nun wird mir stets angezeigt, dass der Captcha-Code falsch eingegeben wurde, obwohl dieser stimmt.
    Wenn ich die Formularauswertung in eine zweite Datei verlege, funktioniert die Captcha eingabe...

    Nach langem überlegen bin ich nun auf die Erläuchtung gekommen, dass sich das PHP-Dokument beim Senden des Formulars erneut aufruft und somit eine neue Session startet. Daher kann der Captcha-Code nicht stimmen...

    Ich weiß, ich beschreibe mein Problematik gerade etwas zerfahren... ich hoffe, ihr isst dennoch as ich meine und habt einen Tip für mich!

Lädt...
X