mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 16.04.2024 13:21 Benutzername: Passwort: Auto-Login

Thema: [php] sich selbstauswertendes formular, refresh unterdrücken vom 08.05.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php] sich selbstauswertendes formular, refresh unterdrücken
Seite: Zurück  1, 2, 3
Autor Nachricht
baskoralle
Threadersteller

Dabei seit: 17.02.2006
Ort: hamburch
Alter: 49
Geschlecht: Männlich
Verfasst Mi 09.05.2007 14:04
Titel

Antworten mit Zitat Zum Seitenanfang

o.k. dann hier der code der formular seite mit fehlerprüfung und dann wenn alles auber ist schickt er mails und ruft danke seite:

Code:
<?php
session_start();

##########prüfen ob e mail korrekt##############################

function checkMail($email) {
 if (strpos($email, "@") === False)
   return 0;
 $s = substr($email, strpos($email, "@"), strlen($email));
 if (count(explode(".", $s)) < 2)
   return 0;
 return 1;
}
##########funktion ende##########################################

###########funktion spam testen####################################

function spamCheck ($str) {
if ( eregi("from:",$str) || eregi("to:",$str) || eregi("multipart",$str) || eregi("cc:",$str) || eregi("bcc:",$str) )
    return 1;
  return 0;
}

############funktion ende###################################

if ( isset($_SESSION['gesendet']) && $_SESSION['gesendet']=="empfehlung.php" ) {

ausgaben in html
include_once($_SERVER["DOCUMENT_ROOT"]."/includes/footer_news.php");
echo("</body></html>");
} else {



##########wenn abgeschickt##################################
if ( isset($_POST['SubmitBtn']) ) {

$err=0;
$spam="";
while (list ($key, $val) = each ($_POST)) {
 $spam .= "$key=$val";
}
if (spamCheck($spam) == 1) $err=1;
if ( empty($_POST['name_emp']) ) $err=1;
if ( isset($_POST['email_emp']) ) {
     $email_emp=$_POST['email_emp'];
     $email_emp=strip_tags($email_emp);
     $email_emp=trim($email_emp);
     if ( ( checkMail($email_emp) == 0 ) || ( preg_match("/^[a-zA-Z0-9_\.-]{2,}@[a-z0-9-]{3,}\.[a-z]{2,4}|museum$/i", $email_emp) == false ) )
     $err=1;
}
if ( empty($_POST['name_abs']) ) $err=1;
if ( isset($_POST['email_abs']) ) {
     $email_abs=$_POST['email_abs'];
     $email_abs=strip_tags($email_abs);
     $email_abs=trim($email_abs);
     if ( ( checkMail($email_abs) == 0 ) || ( preg_match("/^[a-zA-Z0-9_\.-]{2,}@[a-z0-9-]{3,}\.[a-z]{2,4}|museum$/i", $email_abs) == false ))
     $err=1;
}
if ( empty($_POST['email_txt']) )  $err=1;

if (isset($_POST['txtCode'])){
        $CAPTCHA_EnteredText = str_replace("<","",str_replace(">","",str_replace("'","",str_replace("[","",str_replace("]","",$_POST['txtCode'])))));
        }
        if (isset($_SESSION['CAPTCHA_RndText'])) {
        $CAPTCHA_RandomText = $_SESSION['CAPTCHA_RndText'];
        }

        if ($CAPTCHA_EnteredText != $CAPTCHA_RandomText ) $err=1;
###########wenn fehler aufgetaucht########
   if($err==1) {


ausgaben formular



##########prüfen empfängername#######################

if ( ( isset($_POST['name_abs']) ) && ( !empty($_POST['name_abs']) ) ) {
     $name_abs = $_POST['name_abs'];
     $name_abs=strip_tags($name_abs);
     $name_abs=trim($name_abs);

     if ( (spamCheck($_POST['name_abs'])==1) ) {
     echo "<td><input type=\"Text\" name=\"name_abs\" size=\"25\" maxlength=\"50\"><br><font style=\"color:red; font-size:9px;\">Spamversuch, geben Sie einen gültigen Absendernamen ein!</font>";
     }
     else {
     echo ("<td><input type=\"Text\" name=\"name_abs\" size=\"25\" value=\"".$name_abs."\" maxlength=\"50\">");
     }
}
else {
     echo "<td><input type=\"Text\" name=\"name_abs\" size=\"25\" maxlength=\"50\"><br><font style=\"color:red; font-size:9px;\">Bitte geben Sie einen Absendernamen ein!</font>";
}




echo("</td></tr>");
echo ("<tr><td align=\"right\"><b>Ihre E-Mail:</b></td>");

##########prüfen email empfänger###########################

if (  isset ($_POST['email_abs']) ) {
     $email_abs=$_POST['email_abs'];
     $email_abs=strip_tags($email_abs);
     $email_abs=trim($email_abs);
     if ( ( checkMail($email_abs)  == 0 ) || ( preg_match("/^[a-zA-Z0-9_\.-]{2,}@[a-z0-9-]{3,}\.[a-z]{2,4}|museum$/i", $email_abs) == false ) )
     echo ("<td><input type=\"text\" name=\"email_abs\" size=\"25\" maxlength=\"40\"><br><font style=\"color:red; font-size:9px;\">Sie haben keine gültige Absender E-Mail Adresse eingegeben!</font>");

     else {

          if ( (spamCheck($_POST['email_abs'])==1) ) {
             echo ("<td><input type=\"text\" name=\"email_abs\" size=\"25\" maxlength=\"40\"><br><font style=\"color:red; font-size:9px;\">Spamversuch, gültige Absender E-Mail Adresse eingeben!</font>");
          }
          else {
               echo ("<td><input type=\"text\" name=\"email_abs\" size=\"25\" value=\"".$email_abs."\" maxlength=\"40\">");
          }


}
}


echo ("</td></tr>");
echo ("<tr><td width=\"45%\" align=\"right\"><b>Name des Empfängers:</b></td>");

##########prüfen name absender#########################

if ( ( isset ($_POST['name_emp']) ) &&( !empty ($_POST['name_emp']) ) ) {
     $name_emp=$_POST['name_emp'];
     $name_emp=strip_tags($name_emp);
     $name_emp=trim($name_emp);

     if ( (spamCheck($_POST['name_emp'])==1) ) {
        echo ("<td><input type=\"Text\" name=\"name_emp\" size=\"25\" maxlength=\"50\"><br><font style=\"color:red; font-size:9px;\">Spamversuch, geben Sie einen gültigen Empfängernamen ein!</font>");
     }
     else {
          echo ("<td><input type=\"Text\" name=\"name_emp\" size=\"25\" value=\"".$name_emp."\" maxlength=\"50\">");
     }


}
else {
     echo ("<td><input type=\"Text\" name=\"name_emp\" size=\"25\" maxlength=\"50\"><br><font style=\"color:red; font-size:9px;\">Bitte geben Sie einen Empfängernamen ein!</font>");
}

echo("</td></tr>");
echo ("<tr><td align=\"right\"><b>E-Mail des Empfängers:</b></td>");

##########prüfen email absender###################

if ( isset($_POST['email_emp']) ) {
     $email_emp=$_POST['email_emp'];
     $email_emp=strip_tags($email_emp);
     $email_emp=trim($email_emp);
     if ( ( checkMail($email_emp) == 0 ) || ( preg_match("/^[a-zA-Z0-9_\.-]{2,}@[a-z0-9-]{3,}\.[a-z]{2,4}|museum$/i", $email_emp) == false ) )
     echo ("<td><input type=\"Text\" name=\"email_emp\" size=\"25\" maxlength=\"40\"><br><font style=\"color:red; font-size:9px;\">Sie haben keine gültige Empfänger E-Mail Adresse eingegeben!</font>");
     else {

     if ( (spamCheck($_POST['email_emp'])==1) ) {
          echo ("<td><input type=\"Text\" name=\"email_emp\" size=\"25\" maxlength=\"40\"><br><font style=\"color:red; font-size:9px;\">Spamversuch, gültige Empfänger E-Mail Adresse eingeben!</font>");
     }
     else {
          echo ("<td><input type=\"Text\" name=\"email_emp\" size=\"25\" value=\"".$email_emp."\" maxlength=\"40\">");
     }


     }
}


echo("</td></tr>");
echo ("<tr><td align=\"right\" valign=\"top\"><b>Ihr E-Mail Text:</b></td>");

##########prüfen email text###########################

if ( ( isset($_POST['email_txt']) ) && ( !empty($_POST['email_txt']) ) ) {
     $email_txt=$_POST['email_txt'];
     $email_txt=strip_tags($email_txt);
     $email_txt=trim($email_txt);

     if ( (spamCheck($_POST['email_txt'])==1) ) {
           echo ("<td><textarea name=\"email_txt\" cols=\"20\" rows=\"5\" wrap=\"physical\"></textarea><br><font style=\"color:red; font-size:9px;\">Spamversuch, geben Sie einen gültigen E-Mail Text ein!</font>");
     }
     else {
          echo ("<td><textarea name=\"email_txt\" cols=\"20\" rows=\"5\" wrap=\"physical\">".$email_txt."</textarea>");
     }


}
else {
     echo ("<td><textarea name=\"email_txt\" cols=\"20\" rows=\"5\" wrap=\"physical\"></textarea><br><font style=\"color:red; font-size:9px;\">Bitte geben Sie einen E-Mail Text ein!</font>");
}

echo ("</td></tr>");
echo ("<tr><td>");
        if (isset($_POST['txtCode'])){
        $CAPTCHA_EnteredText = str_replace("<","",str_replace(">","",str_replace("'","",str_replace("[","",str_replace("]","",$_POST['txtCode'])))));
        }
        if (isset($_SESSION['CAPTCHA_RndText'])) {
        $CAPTCHA_RandomText = $_SESSION['CAPTCHA_RndText'];
        }

        if ($CAPTCHA_EnteredText != $CAPTCHA_RandomText ){
        echo ("<font style=\"color:red; font-size:9px;\">Sie haben einen falschen Code eingegeben!</font>");
        include_once($_SERVER["DOCUMENT_ROOT"]."/newsletter/captcha/captcha.php");
        echo("</td></tr><tr><td>&nbsp;</td><td align=\"left\"><input type=\"reset\" value=\"Löschen\">&nbsp;&nbsp;<input type=\"submit\" value=\"Absenden\" name=\"SubmitBtn\"></td></tr>");
        echo ("</table></td></tr></table></form>");
        }
echo("</P><br><br><P></P>");
include_once($_SERVER["DOCUMENT_ROOT"]."/includes/footer_news.php");
echo("</body></html>");

   }//end if falls fehler da
else {

 // Alle Fehler und Notices anzeigen
        error_reporting(E_ALL);
        //session_start();

        // Bei Ausgabe des eingegebenen Codes müssen html tags entfernt werden!
        $CAPTCHA_RandomText = "";
        if (isset($_POST['txtCode'])){
        $CAPTCHA_EnteredText = str_replace("<","",str_replace(">","",str_replace("'","",str_replace("[","",str_replace("]","",$_POST['txtCode'])))));
        }
        if (isset($_SESSION['CAPTCHA_RndText'])) {
        $CAPTCHA_RandomText = $_SESSION['CAPTCHA_RndText'];
        }

        if ($CAPTCHA_EnteredText == $CAPTCHA_RandomText and isset($_POST['txtCode']) == true and isset($_SESSION['CAPTCHA_RndText'])){
                // Hier Code, wenn Übereinstimmung
               
 hier steht code was in mail soll
#########mails versenden################

if ( mail($an, $betreff, $nachricht, $xtra) ) {

   mail($an_copy, $betreff_copy, $nachricht_copy, $xtra_copy);
   header("Location: http://www.XXXXXXX.de/newsletter/empfehlung_danke.php");
}
else {
     echo "<p>Ihr Nachricht konnte leider nicht versendet werden!</p>";
}
        } else {
                // Hier Code wenn keine Übereinstimmung
                //echo "Achtung Sie haben einen falschen Code eingegeben!";
                //echo "Your Code: $CAPTCHA_EnteredText, Random Code: $CAPTCHA_RandomText";
        }
                //echo "<br><br>";
                //echo "<a href=\"empfehlung.php\">noch einmal probieren!</a>";

        // Session unset
        unset($_SESSION['CAPTCHA_RndText']);



}


}//end if wenn abgeschickt
else {

ausgabe vom formular

}//end else
}//end else session prüfung
?>




in der danke seite wird nur die variable gesetzt und html ausgaben.
  View user's profile Private Nachricht senden
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst Mi 09.05.2007 14:20
Titel

Antworten mit Zitat Zum Seitenanfang

Code:

if ( isset($_SESSION['gesendet']) && $_SESSION['gesendet']=="empfehlung.php" ) {

ausgaben in html
include_once($_SERVER["DOCUMENT_ROOT"]."/includes/footer_news.php");
echo("</body></html>");
} else {


Das ist syntaktisch falsch.

Setze mal folgendes am Anfang des Scripts
Code:
ini_set('display_errors', 1);
error_reporting(E_ALL);

dann siehst Du auch alle Fehler, die Du eingebaut hast.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
baskoralle
Threadersteller

Dabei seit: 17.02.2006
Ort: hamburch
Alter: 49
Geschlecht: Männlich
Verfasst Mi 09.05.2007 14:50
Titel

Antworten mit Zitat Zum Seitenanfang

o.k. jetzt seh ich den fehler.

Code:
Notice: Undefined variable: CAPTCHA_RandomText in /daten/www/XXXXXXX/XXXX/XXX.de/htdocs/newsletter/empfehlung.php on line 94


es fehlt ihm eine Variable. An die stelle wo diese Variable ist soll er ja auch eigentlich nicht hinkommen.

was ist an der abfrage denn syntaktisch falsch??


Zuletzt bearbeitet von baskoralle am Mi 09.05.2007 15:14, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
baskoralle
Threadersteller

Dabei seit: 17.02.2006
Ort: hamburch
Alter: 49
Geschlecht: Männlich
Verfasst Do 10.05.2007 09:38
Titel

Antworten mit Zitat Zum Seitenanfang

jetzt sitz ich hier und komm nicht weiter.
hab noch alles mögliche ausprobiert aber es geeeeeht nicht. *hu hu huu*
naja es geht schon, sieht halt nur blöd aus wenn der user auf zurück im browser klickt.
  View user's profile Private Nachricht senden
Account gelöscht


Ort: -
Alter: -
Verfasst Do 10.05.2007 09:51
Titel

Antworten mit Zitat Zum Seitenanfang

Das Stichwort heißt "challenge". Einfach eine einzigartige ID generieren und per type="hidden" mit an den Server schicken. Ist das Formular erfolgreich versandt worden, => neu generieren.

Zuletzt bearbeitet von am Do 10.05.2007 09:51, insgesamt 1-mal bearbeitet
 
 
Ähnliche Themen Refresh unterdrücken (Taste F5 behindern)
Probleme bei >>Refresh<<
Springen bei refresh verhindern
Netbeans 7.1 refresh files freeze
Refresh funktioniert nicht richtig
[Javascript] Refresh des Parent window
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2, 3
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.