+ Antworten
Seite 3 von 9 ErsteErste 1 2 3 4 5 6 ... LetzteLetzte
Ergebnis 31 bis 45 von 121

Thema: Einfacher Formmailer mit Reloadsperre

  1. #31
    TP-Senior phoebe111 ist auf einem guten Weg
    Registriert seit
    May 2005
    Beiträge
    169

    Thumbs up

    Die Anpasserei an eigene Bedürfnisse ist ein Alptraum für jeden, der kein PHP kann.


    Hab was gefunden für uns Laien, funktioniert super, geht ratzfatz und lässt sich gut anpassen:

    http://www.formular-generator.de

  2. #32
    TP-Insider glowy bringt sich richtig ein Avatar von glowy
    Registriert seit
    Nov 2005
    Ort
    Berlin
    Beiträge
    911
    Es geht mir ja eigentlich nur darum, wie es sich mit den Dateien verhält und der Anpassung ans Layout. Es ist ja eine Datei, aber ich möchte das Formular separat coden und die eingegebenen Werte an das Skript übergeben. So schwer kann das ja nicht sein.

    Würde mich echt freuen, wenn mir jemand schnell helfen könnte, dürfte nichts Großes sein für die Könner unter euch.

  3. #33
    TP-Insider glowy bringt sich richtig ein Avatar von glowy
    Registriert seit
    Nov 2005
    Ort
    Berlin
    Beiträge
    911
    Super klappt, danke.
    Geändert von glowy (08.12.2006 um 13:36 Uhr)

  4. #34
    TP-Senior CRAIX macht alles soweit korrekt Avatar von CRAIX
    Registriert seit
    Mar 2004
    Beiträge
    185

    Question Könnte man diesen Formmailer erweitern?

    Hallo,

    ich habe mal eine Frage zu den Formmailer. Könnte man diesen noch erweitern, so das der Empfänger noch folgende Infos vom Absender bekommt.

    - IP Adresse des Absenders
    - Hostnamen des Absenders
    - Datum Uhrzeit wann Emal abgeschickt wurde
    - Welcher Browser wurde benutz

    Kann man das noch in den Formmailer einbauen?
    cu & gruss....


    CRAIX


    Wenn mich jemand zwingt, Abstand zu wahren, habe ich den Trost,
    dass er ihn gleichfalls wahrt...!!!


  5. #35
    TP-Greis Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Avatar von Torsten
    Registriert seit
    Jan 2004
    Beiträge
    5.640
    Ich möchte in dem Formular ein zus. Feld mit einer Telefonnummer überprüfen, wie sieht dazu der PHP-Code aus?

    Hier der Code mit dem die Emailadresse Überprüft wird:
    PHP-Code:
        if ( (!(eregi('^[a-z0-9_\.-]+@[a-z0-9_-]+\.[a-z0-9_\.-]+$',$email))) && (strlen($email)>0) || $email=="")
        {
            
    //email-Adresse ist ungültig
            
    $err[1]=true;
            
    $ok=false;
            
    $error.='Bitte kontrollieren Sie die angegebene E-Mail-Adresse.<br>';
        } 
    Das Feld für die Telefonnummer heißt 'phone'
    Es sollte dahingehend überprüft werden das nur Zahlen/Nummern eingetragen werden. Die Zeichen /- dürfen benutzt werden.

    Es wäre schön wenn mir jemand helfen könnte.
    Gruß Torsten
    Meine Bilder im Internet: See the world through my eyes
    Aber Vorsicht: Meine Bilder können nicht sprechen

    Ich biete keinen privaten Support an!
    Fragen oder Probleme? Nur keine Scheu verfasse einen Beitrag

  6. #36
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    is_numeric() ist dein Freund, sofern es NUR Zahlen sein sollen.

    Allerdings müsstest du auch überprüfen, ob Leerzeichen, Klammern oder ein + mit drin ist, es gibt ja auch solche Nummern:

    +49 (0)30 123 345 56 ...
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  7. #37
    TP-Greis Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Avatar von Torsten
    Registriert seit
    Jan 2004
    Beiträge
    5.640
    Zitat Zitat von Boris Beitrag anzeigen
    is_numeric() ist dein Freund, sofern es NUR Zahlen sein sollen.

    Allerdings müsstest du auch überprüfen, ob Leerzeichen, Klammern oder ein + mit drin ist, es gibt ja auch solche Nummern:

    +49 (0)30 123 345 56 ...
    Danke Boris, ich hätte dazu schreiben sollen das ich des PHP nicht mächtig bin.
    Ich wäre sehr dankbar wenn mir jemand den nötigen Code posten könnte.
    Gruß Torsten
    Meine Bilder im Internet: See the world through my eyes
    Aber Vorsicht: Meine Bilder können nicht sprechen

    Ich biete keinen privaten Support an!
    Fragen oder Probleme? Nur keine Scheu verfasse einen Beitrag

  8. #38
    TP-Greis Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Avatar von Torsten
    Registriert seit
    Jan 2004
    Beiträge
    5.640

    Talking Man wächst mit seinen Aufgaben

    Ich habe das gestern Abend noch gelöst bekommen.
    Für mich war es nicht wichtig das Feld 'Telefonnummer' darauf zu überprüfen ob jemand eine Telefonnummer eingegeben hat, welche auch nach allen Regeln einer Telefonnummer entspricht.
    Vielmehr soll nur sichergestellt werden, das das Feld ausgefüllt wird
    Gelöst habe ich es so:
    PHP-Code:
    if($phone=='')
    {
    $err[1]=true//Fehler merken
    $ok=false;    //Fehlerflag setzen
    $error.='Bitte geben Sie Ihre Telefon - Nr. ein.<br>'// Fehlertext

    Gruß Torsten
    Meine Bilder im Internet: See the world through my eyes
    Aber Vorsicht: Meine Bilder können nicht sprechen

    Ich biete keinen privaten Support an!
    Fragen oder Probleme? Nur keine Scheu verfasse einen Beitrag

  9. #39
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Man überprüft das z.B. so:

    if(is_numeric($variable)) echo 'Enthält nur Zahlen';
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  10. #40
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    telefonnummern können aber Spaces und Trennzeichen enthalten, manche schreiben die Vorwahl auch in Klammern.

    Ich würde hier nur auf eine Mindestlänge (z.B. 8 Zeichen) prüfen:
    PHP-Code:
    if(strlen($phone)<9){
    $err[1]=true//Fehler merken
    $ok=false;    //Fehlerflag setzen
    $error.='Bitte geben Sie Ihre Telefon - Nr. mit Vorwahl ein .<br>'// Fehlertext


    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer


  11. #41
    TP-Greis Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Torsten lebt für das TP und seine User Avatar von Torsten
    Registriert seit
    Jan 2004
    Beiträge
    5.640
    Vielen Dank, Boris und Steffen

    Da es Telefonnummern gibt die deutlich kürzer sind als 9 Stellen (z.B. kurze Vorwahl = 3 Stellen), würde ich lieber bei meiner Lösung bleiben, es sei denn - das ist völliger Unfug was ich da fabriziert habe
    Gruß Torsten
    Meine Bilder im Internet: See the world through my eyes
    Aber Vorsicht: Meine Bilder können nicht sprechen

    Ich biete keinen privaten Support an!
    Fragen oder Probleme? Nur keine Scheu verfasse einen Beitrag

  12. #42
    TP-Junior Primajin macht alles soweit korrekt
    Registriert seit
    Nov 2007
    Beiträge
    7

    Thumbs up Anpassung

    Hallo Steffen,

    erstmal vielen Dank für Dein Script!

    ich habe nirgendwo gelesen, ob man Dein Script anpassen darf, oder nicht... Ich habs einfach mal gemacht hoffe das ist nicht schlimm.

    Sicher ist die Art, wie ich es gemacht habe umständlich, aber es funktioniert und ich kenn mich nicht so extrem mit PHP aus.

    Für alle die sowas gebrauchen können:
    - Steffens Script als anmeldescript (E-Mailadressen ändern nicht vergessen)

    PHP-Code:
    <?php

    /*******************************************/
    /* formmailer.php                          */
    /*                                         */
    /* FORMMAILER mit Reloadsperre             */
    /*                                         */
    /* von Steffen Kamper                      */
    /* erstellt für das Traumprojekt-Forum     */
    /* angepasst von Primajin                  */
    /*******************************************/


    //erstmal Variablen definieren
    $pagename="formmailer.php";
    $error=$username=$pass=$vorname=$nachname=$email=$firm=$street=$plz=$ort=$land=$telefon=$birth=$message="";

    // an wen geht die Mail ?
    $empfaenger="name@domain.de";

    if(isset(
    $_POST['domail'])) {
        
    // es wurde abschicken gedrückt, also erst mal die Felder holen
        
    $username=get_magic_quotes_gpc() ? stripslashes($_POST['username']) : $_POST['username'];
        
    $pass=get_magic_quotes_gpc() ? stripslashes($_POST['pass']) : $_POST['pass'];
        
    $vorname=get_magic_quotes_gpc() ? stripslashes($_POST['vorname']) : $_POST['vorname'];
        
    $nachname=get_magic_quotes_gpc() ? stripslashes($_POST['nachname']) : $_POST['nachname'];
        
    $email=get_magic_quotes_gpc() ? stripslashes($_POST['email']) : $_POST['email'];
        
    $firm=get_magic_quotes_gpc() ? stripslashes($_POST['firm']) : $_POST['firm'];
        
    $street=get_magic_quotes_gpc() ? stripslashes($_POST['street']) : $_POST['street'];
        
    $plz=get_magic_quotes_gpc() ? stripslashes($_POST['plz']) : $_POST['plz'];
        
    $ort=get_magic_quotes_gpc() ? stripslashes($_POST['ort']) : $_POST['ort'];
        
    $land=get_magic_quotes_gpc() ? stripslashes($_POST['land']) : $_POST['land'];
        
    $telefon=get_magic_quotes_gpc() ? stripslashes($_POST['telefon']) : $_POST['telefon'];
        
    $birth=get_magic_quotes_gpc() ? stripslashes($_POST['birth']) : $_POST['birth'];
        
        
        
    //Form-Attacken verhindern (suche nach \r\n oder \n)
        
    if(strpos($username,"\r\n")>|| strpos($username,"\n")>0) {
            
    DebugAttack(substr($username,strpos($username,"\r\n")));
            
    $username="";
        }
        if(
    strpos($pass,"\r\n")>|| strpos($pass,"\n")>0) {
            
    DebugAttack(substr($pass,strpos($pass,"\r\n")));
            
    $pass="";
        }
        if(
    strpos($vorname,"\r\n")>|| strpos($vorname,"\n")>0) {
            
    DebugAttack(substr($vorname,strpos($vorname,"\r\n")));
            
    $vorname="";
        }
        if(
    strpos($nachname,"\r\n")>|| strpos($nachname,"\n")>0) {
            
    DebugAttack(substr($nachname,strpos($nachname,"\r\n")));
            
    $nachname="";
        }
        if(
    strpos($email,"\r\n")>|| strpos($email,"\n")>0) {
            
    DebugAttack(substr($email,strpos($email,"\r\n")));
            
    $email="";
        }
        if(
    strpos($firm,"\r\n")>|| strpos($firm,"\n")>0) {
            
    DebugAttack(substr($firm,strpos($firm,"\r\n")));
            
    $firm="";
        }
        if(
    strpos($ort,"\r\n")>|| strpos($ort,"\n")>0) {
            
    DebugAttack(substr($ort,strpos($ort,"\r\n")));
            
    $ort="";
        }
        if(
    strpos($plz,"\r\n")>|| strpos($plz,"\n")>0) {
            
    DebugAttack(substr($plz,strpos($plz,"\r\n")));
            
    $plz="";
        }
        if(
    strpos($land,"\r\n")>|| strpos($land,"\n")>0) {
            
    DebugAttack(substr($land,strpos($land,"\r\n")));
            
    $land="";
        }
        if(
    strpos($telefon,"\r\n")>|| strpos($telefon,"\n")>0) {
            
    DebugAttack(substr($telefon,strpos($telefon,"\r\n")));
            
    $telefon="";
        }
        if(
    strpos($birth,"\r\n")>|| strpos($birth,"\n")>0) {
            
    DebugAttack(substr($birth,strpos($birth,"\r\n")));
            
    $birth="";
        }
        if(
    strpos($street,"\r\n")>|| strpos($street,"\n")>0) {
            
    DebugAttack(substr($street,strpos($street,"\r\n")));
            
    $street="";
        }
        
        
    //Message setzt sich aus allen Eingaben zusammen
        
    $message=get_magic_quotes_gpc() ? stripslashes($_POST['message']) : $_POST['message'];
        
        
    // wir setzen einen Flag, um Fehler zu registrieren
        
    $ok=true;
        
    //jetzt werden die Felder überprüft
        
    if (strlen($username)<5// der Name muss mindestens 5 Zeichen haben
        
    {
            
    $err[4]=true//Fehler merken
            
    $ok=false;    //Fehlerflag setzen
            
    $error.='Bitte geben Sie Ihren Benutzernamen an. (mindestens 5 Zeichen)<br>'// Fehlertext
        
    }
        if (
    strlen($pass)<5// der Name muss mindestens 5 Zeichen haben
        
    {
            
    $err[5]=true//Fehler merken
            
    $ok=false;    //Fehlerflag setzen
            
    $error.='Bitte vergeben Sie ein Passwort. (mindestens 5 Zeichen)<br>'// Fehlertext
        
    }
        if (
    strlen($vorname)<3// der Name muss mindestens 3 Zeichen haben
        
    {
            
    $err[0]=true//Fehler merken
            
    $ok=false;    //Fehlerflag setzen
            
    $error.='Bitte geben Sie Ihren Vornamen an. (mindestens 3 Zeichen)<br>'// Fehlertext
        
    }
        if (
    strlen($nachname)<3// der Name muss mindestens 3 Zeichen haben
        
    {
            
    $err[3]=true//Fehler merken
            
    $ok=false;    //Fehlerflag setzen
            
    $error.='Bitte geben Sie Ihren Nachnamen an. (mindestens 3 Zeichen)<br>'// Fehlertext
        
    }
        if ( (!(
    eregi('^[a-z0-9_\.-]+@[a-z0-9_-]+\.[a-z0-9_\.-]+$',$email))) && (strlen($email)>0) || $email=="")
        {
            
    //email-Adresse ist ungültig
            
    $err[1]=true;
            
    $ok=false;
            
    $error.='Bitte kontrollieren Sie die angegebene E-Mail-Adresse.<br>';
        }
        if (
    strlen($message)<10// die Message muss mindestens 10 Zeichen haben
        
    {
            
    $err[2]=true//Fehler merken
            
    $ok=false;    //Fehlerflag setzen
            
    $error.='Bitte geben Sie einen Hinweis von mindestens 10 Zeichen ein.<br>'// Fehlertext
        
    }
        if (
    strlen($street)<5// die Straße muss mindestens 5 Zeichen haben
        
    {
            
    $err[7]=true//Fehler merken
            
    $ok=false;    //Fehlerflag setzen
            
    $error.='Bitte geben Sie Ihre Straße an. (mindestens 6 Zeichen)<br>'// Fehlertext
        
    }
        if (!
    is_numeric($plz)) // die Postleitzahl muss aus Zahlen bestehen
        
    {
            
    $err[8]=true//Fehler merken
            
    $ok=false;    //Fehlerflag setzen
            
    $error.='Bitte geben Sie eine korrekte Postleitzahl ein.<br>'// Fehlertext
        
    } else
        {
            if (
    $land == 'Deutschland')
            {
                if (
    strlen($plz)<>5// die Postleitzahl in Deutschland muss 5 Zeichen haben
                
    {
                    
    $err[8]=true//Fehler merken
                    
    $ok=false;    //Fehlerflag setzen
                    
    $error.='Bitte geben Sie eine korrekte deutsche Postleitzahl ein.<br>'// Fehlertext
                
    }
                if (
    strlen($telefon)<7// die Telefonnummer muss mindestens 7 Zeichen haben
                
    {
                    
    $err[11]=true//Fehler merken
                    
    $ok=false;    //Fehlerflag setzen
                    
    $error.='Bitte geben Sie Ihre Telefonnummer (nur Zahlen) mit Vorwahl an.<br>'// Fehlertext
                
    }
            } else            
    //Da nur Deutschland, Österreich und die Schweiz zur Verfügung stehen, und D schon abgefragt wurde
            
    {
                if (
    strlen($plz)<>4// die Postleitzahl in Österreich und in der Schweiz muss 4 Zeichen haben 
                
    {
                    
    $err[8]=true//Fehler merken
                    
    $ok=false;    //Fehlerflag setzen
                    
    $error.='Bitte geben Sie eine korrekte Postleitzahl ein.<br>'// Fehlertext
                
    }
                if (
    strlen($telefon)<7// die Telefonnummer muss mindestens 7 Zeichen haben
                
    {
                    
    $err[11]=true//Fehler merken
                    
    $ok=false;    //Fehlerflag setzen
                    
    $error.='Bitte geben Sie Ihre Telefonnummer (nur Zahlen) mit Orts- und Landesvorwahl an.<br>'// Fehlertext
                
    }
            }
        }
        if (
    strlen($ort)<3// der Ort muss mindestens 3 Zeichen haben
        
    {
            
    $err[9]=true//Fehler merken
            
    $ok=false;    //Fehlerflag setzen
            
    $error.='Bitte geben Sie Ihren Ort an. (mindestens 3 Zeichen)<br>'// Fehlertext
        
    }
        if (
    strlen($birth)<8// das geburtsdatum muss mindestens 8 Zeichen haben (TTMMYYYY [8] / TT.MM.YYYY [10])
        
    {
            
    $err[12]=true//Fehler merken
            
    $ok=false;    //Fehlerflag setzen
            
    $error.='Bitte geben Sie Ihr Geburtsdatum ein (Bsp. 01.01.1970).<br>'// Fehlertext
        
    }
        
    // ist alles ok ? dann senden
        
    if($ok)
        {
            
    //Mail komponieren
            
    $mailheader="From: Anmeldung@domain.de\r\nX-Mailer: PHP/" phpversion(). "\r\nX-Sender-IP: ".$_SERVER['REMOTE_ADDR']."\r\nContent-Type: text/html; charset=ISO-8859-1;";
            
    $message=nl2br("Benutzername: $username\nPasswort: $pass\nVorname: $vorname\nNachname: $nachname\nEmail: <a href=\"mailto:$email\">$email</a>\nFirma: $firm\nStrasse: $street\nPLZ: $plz\nOrt: $ort\nLand: $land\nTelefon: $telefon\nGeburtstag: $birth\n<hr>$message");
            
    $subject="Anmeldung vom ".date("d.m.Y")." um ".date("H:i");
            if (@
    mail($empfaenger$subject$message$mailheader)) {
                
    //Alles ok, Seite neuladen (Reloadsperre)
                
    header("Location:$pagename?success");
                
    //falls kein Header gesendet werden kann, dann mit javascript
                
    echo '<script type="text/javascript">document.location.href="'.$pagename.'?success"</script>';
                
                exit;
            } else {
                
    $error='<h3>Fehler beim Mailen aufgetreten</h3>';
            }
        } else {
            
    // Fehler ausgeben
            
    $error='<h3>Fehler bei der Eingabe</h3><p class="error">'.$error.'</p>';
        }
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>Form-Mailer</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
    body {background:#fff;}
    form {width:360px;}
    label {display:block;}
    input, textarea {font-size:11px;}
    textarea {width:360px;height:240px;}
    input.button {border:1px solid #000;background:#ffcc00;margin-top:12px;}
    .fehler {border:1px solid red;}
    p.error {color:red;}
    #land {display:block; width:260px;}
    </style>
    </head>

    <body>
    <h1>Form-Mailer mit Reloadsperre</h1>
    <?php
    if($error!="") echo $error;
    if(isset(
    $_GET['success'])) {
        
    //Erfolgsnachricht ausgeben
        
    echo '<p>Vielen Dank für Ihre Nachricht. Sie wurde erfolgreich verschickt.</p><p><a href="formmailer.php">Zur&uuml;ck</a></p>';
    } else {
        
    // Form ausgeben
    ?>

    <form action="<?php echo $pagename;?>" method="post" name="formmailer">
    <fieldset><legend>Anmeldung</legend>
    <label for="username">Benutzername</label>
    <input type="Text" value="<?php echo $username;?>" maxlength="60" size="50" name="username" <?php if(isset($err[4])) echo  'class="fehler"';?>>
    <label for="pass">Passwort</label>
    <input type="Password" value="<?php echo $pass;?>" maxlength="60" size="50" name="pass" <?php if(isset($err[5])) echo  'class="fehler"';?>>
    <label for="vorname">Vorname</label>
    <input type="Text" value="<?php echo $vorname;?>" maxlength="60" size="50" name="vorname" <?php if(isset($err[0])) echo  'class="fehler"';?>>
    <label for="nachname">Nachname</label>
    <input type="Text" value="<?php echo $nachname;?>" maxlength="60" size="50" name="nachname" <?php if(isset($err[3])) echo  'class="fehler"';?>>
    <label for="email">Email-Adresse</label>
    <input type="Text" value="<?php echo $email;?>" maxlength="80" size="50" name="email" <?php if(isset($err[1])) echo  'class="fehler"';?>>
    <label for="firm">Firma</label>
    <input type="Text" value="<?php echo $firm;?>" maxlength="80" size="50" name="firm">
    <label for="street">Stra&szlig;e</label>
    <input type="Text" value="<?php echo $street;?>" maxlength="80" size="50" name="street" <?php if(isset($err[7])) echo  'class="fehler"';?>>
    <label for="plz">PLZ</label>
    <input type="Text" value="<?php echo $plz;?>" maxlength="80" size="50" name="plz" <?php if(isset($err[8])) echo  'class="fehler"';?>>
    <label for="ort">Ort</label>
    <input type="Text" value="<?php echo $ort;?>" maxlength="80" size="50" name="ort" <?php if(isset($err[9])) echo  'class="fehler"';?>>
    <label for="land">Land</label>
    <select name="land" id="land">
      <option selected="selected" value="Deutschland">Deutschland</option>
      <option value="&Ouml;sterreich">&Ouml;sterreich</option>
      <option value="Schweiz">Schweiz</option>
    </select>
    <label for="telefon">Telefon</label>
    <input type="Text" value="<?php echo $telefon;?>" maxlength="80" size="50" name="telefon" <?php if(isset($err[11])) echo  'class="fehler"';?>>
    <label for="birth">Geburtsdatum (TT.MM.YYYY)</label>
    <input type="Text" value="<?php echo $birth;?>" maxlength="80" size="50" name="birth" <?php if(isset($err[12])) echo  'class="fehler"';?>>
    <label for="comment">Zus&auml;tzliche Informationen</label>
    <?php $message 'Hier k&ouml;nnen sie zus&auml;tzliche Informationen einf&uuml;gen';?>
    <textarea cols="10" rows="10" name="message" <?php if(isset($err[2])) echo  'class="fehler"';?>><?php echo $message;?></textarea>
    <input type="reset" class="button" value="zurücksetzen" name="reset">
    <input type="submit" class="button" value="abschicken" name="domail">
    </fieldset>
    </form>
    <?php
    }

    function 
    DebugAttack($s) {
        
    //Hier den Pfad für die Protokolldatei einfügen, wenn kein Protokoll erwünscht ist, einfach auskommentieren
        
    $fp=fopen("attack.txt","ab");
        
    fwrite($fp,$s);
        
    fclose($fp);
    }

    ?>
    </body>
    </html>
    Viel Spaß damit

  13. #43
    TAX
    TAX ist offline
    TP-Junior TAX macht alles soweit korrekt
    Registriert seit
    Mar 2004
    Beiträge
    25
    Hallo! Das obige Script versuchte ich anzupassen. Zusätzlich sollte eine Zufallszahl eingegeben werden von welcher der User "eins" abziehen muss. - In der Meinung dazu seien die Spambots nicht in der Lage. Ohne die neue Funktion läuft die abgespeckte Version aber nicht mit dieser Zufallszahl. Irgend etwas mit der Vergleichsroutine mit den Variablen $proof und $code stimmt wohl nicht. Aber was? Siehe: http://cloning.ch/mehrinfo3.php

    Vielen Dank für jeden Tip!

    Gruss von TAX

    PHP-Code:
    <?php 

    /*******************************************/ 
    /* formmailer.php                          */ 
    /*                                         */ 
    /* FORMMAILER mit Reloadsperre             */ 
    /*                                         */ 
    /* von Steffen Kamper                      */ 
    /* erstellt für das Traumprojekt-Forum     */ 
    /* angepasst von Primajin                  */ 
    /*******************************************/ 


    //erstmal Variablen definieren 
    $pagename="mehrinfo3.php"
    $error=$username=$pass=$vorname=$nachname=$email=$firm=$street=$plz=$ort=$land=$telefon=$birth=$message=$code=$proof=""

    $code0;
    $code=rand(1673909);
    $proof 0;
    echo 
    $code;

    // an wen geht die Mail ? 
    $empfaenger="webmaster@cloning.ch"

    if(isset(
    $_POST['domail'])) { 
        
    // es wurde abschicken gedrückt, also erst mal die Felder holen 
        
    $vorname=get_magic_quotes_gpc() ? stripslashes($_POST['vorname']) : $_POST['vorname']; 
        
    $nachname=get_magic_quotes_gpc() ? stripslashes($_POST['nachname']) : $_POST['nachname']; 
        
    $email=get_magic_quotes_gpc() ? stripslashes($_POST['email']) : $_POST['email']; 
        
    $firm=get_magic_quotes_gpc() ? stripslashes($_POST['firm']) : $_POST['firm']; 
        
    $street=get_magic_quotes_gpc() ? stripslashes($_POST['street']) : $_POST['street']; 
        
    $plz=get_magic_quotes_gpc() ? stripslashes($_POST['plz']) : $_POST['plz']; 
        
    $ort=get_magic_quotes_gpc() ? stripslashes($_POST['ort']) : $_POST['ort']; 
        
    $land=get_magic_quotes_gpc() ? stripslashes($_POST['land']) : $_POST['land']; 
        
    $telefon=get_magic_quotes_gpc() ? stripslashes($_POST['telefon']) : $_POST['telefon']; 
        
    $proof=get_magic_quotes_gpc() ? stripslashes($_POST['proof']) : $_POST['proof'];  
         
        
    //Form-Attacken verhindern (suche nach \r\n oder \n) 
        
        
    if(strpos($vorname,"\r\n")>|| strpos($vorname,"\n")>0) { 
            
    DebugAttack(substr($vorname,strpos($vorname,"\r\n"))); 
            
    $vorname=""
        } 
        if(
    strpos($nachname,"\r\n")>|| strpos($nachname,"\n")>0) { 
            
    DebugAttack(substr($nachname,strpos($nachname,"\r\n"))); 
            
    $nachname=""
        } 
        if(
    strpos($email,"\r\n")>|| strpos($email,"\n")>0) { 
            
    DebugAttack(substr($email,strpos($email,"\r\n"))); 
            
    $email=""
        } 
        if(
    strpos($firm,"\r\n")>|| strpos($firm,"\n")>0) { 
            
    DebugAttack(substr($firm,strpos($firm,"\r\n"))); 
            
    $firm=""
        } 
        if(
    strpos($ort,"\r\n")>|| strpos($ort,"\n")>0) { 
            
    DebugAttack(substr($ort,strpos($ort,"\r\n"))); 
            
    $ort=""
        } 
        if(
    strpos($plz,"\r\n")>|| strpos($plz,"\n")>0) { 
            
    DebugAttack(substr($plz,strpos($plz,"\r\n"))); 
            
    $plz=""
        } 
        if(
    strpos($land,"\r\n")>|| strpos($land,"\n")>0) { 
            
    DebugAttack(substr($land,strpos($land,"\r\n"))); 
            
    $land=""
        } 
        if(
    strpos($telefon,"\r\n")>|| strpos($telefon,"\n")>0) { 
            
    DebugAttack(substr($telefon,strpos($telefon,"\r\n"))); 
            
    $telefon=""
        }  
        if(
    strpos($street,"\r\n")>|| strpos($street,"\n")>0) { 
            
    DebugAttack(substr($street,strpos($street,"\r\n"))); 
            
    $street=""
        } 
        if(
    $proof == $code-1) { 
            
    DebugAttack(substr($proof,strpos($proof,"\r\n"))); 
            
    $proof=""
        } 
        
    //Message setzt sich aus allen Eingaben zusammen 
        
    $message=get_magic_quotes_gpc() ? stripslashes($_POST['message']) : $_POST['message']; 
         
        
    // wir setzen einen Flag, um Fehler zu registrieren 
        
    $ok=true
        
    //jetzt werden die Felder überprüft 
        
        
    if (strlen($vorname)<3// der Name muss mindestens 3 Zeichen haben 
        

            
    $err[0]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie Ihren Vornamen an. (mindestens 3 Zeichen)<br>'// Fehlertext 
        

        if (
    strlen($nachname)<3// der Name muss mindestens 3 Zeichen haben 
        

            
    $err[3]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie Ihren Nachnamen an. (mindestens 3 Zeichen)<br>'// Fehlertext 
        

        if ( (!(
    eregi('^[a-z0-9_\.-]+@[a-z0-9_-]+\.[a-z0-9_\.-]+$',$email))) && (strlen($email)>0) || $email==""
        { 
            
    //email-Adresse ist ungültig 
            
    $err[1]=true
            
    $ok=false
            
    $error.='Bitte kontrollieren Sie die angegebene E-Mail-Adresse.<br>'
        } 
        if (
    strlen($message)<10// die Message muss mindestens 10 Zeichen haben 
        

            
    $err[2]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie einen Hinweis von mindestens 10 Zeichen ein.<br>'// Fehlertext 
        

        if (
    strlen($street)<5// die Straße muss mindestens 5 Zeichen haben 
        

            
    $err[7]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie Ihre Straße an. (mindestens 6 Zeichen)<br>'// Fehlertext 
        

        if (!
    is_numeric($plz)) // die Postleitzahl muss aus Zahlen bestehen 
        

            
    $err[8]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie eine korrekte Postleitzahl ein.<br>'// Fehlertext 
        
    } else 
        { 
            if (
    $land == 'Deutschland'
            { 
                if (
    strlen($plz)<>5// die Postleitzahl in Deutschland muss 5 Zeichen haben 
                

                    
    $err[8]=true//Fehler merken 
                    
    $ok=false;    //Fehlerflag setzen 
                    
    $error.='Bitte geben Sie eine korrekte deutsche Postleitzahl ein.<br>'// Fehlertext 
                

                if (
    strlen($telefon)<7// die Telefonnummer muss mindestens 7 Zeichen haben 
                

                    
    $err[11]=true//Fehler merken 
                    
    $ok=false;    //Fehlerflag setzen 
                    
    $error.='Bitte geben Sie Ihre Telefonnummer (nur Zahlen) mit Vorwahl an.<br>'// Fehlertext 
                

            } else            
    //Da nur Deutschland, Österreich und die Schweiz zur Verfügung stehen, und D schon abgefragt wurde 
            

                if (
    strlen($plz)<>4// die Postleitzahl in Österreich und in der Schweiz muss 4 Zeichen haben  
                

                    
    $err[8]=true//Fehler merken 
                    
    $ok=false;    //Fehlerflag setzen 
                    
    $error.='Bitte geben Sie eine korrekte Postleitzahl ein.<br>'// Fehlertext 
                

                if (
    strlen($telefon)<7// die Telefonnummer muss mindestens 7 Zeichen haben 
                

                    
    $err[11]=true//Fehler merken 
                    
    $ok=false;    //Fehlerflag setzen 
                    
    $error.='Bitte geben Sie Ihre Telefonnummer (nur Zahlen) mit Orts- und Landesvorwahl an.<br>'// Fehlertext 
                

            } 
        } 
        if (
    strlen($ort)<3// der Ort muss mindestens 3 Zeichen haben 
        

            
    $err[9]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie Ihren Ort an. (mindestens 3 Zeichen)<br>'// Fehlertext 
        
    }  
        if (
    $proof!=($code-1)) // der Code muss aus Zahlen bestehen 
        

            
    $err[15]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie den korrekten Code'.$code.'ein.<br>'// Fehlertext 
        
    }
        
        
    // ist alles ok ? dann senden 
        
    if($ok
        { 
            
    //Mail komponieren 
            
    $mailheader="From: info@human-life.ch\r\nX-Mailer: PHP/" phpversion(). "\r\nX-Sender-IP: ".$_SERVER['REMOTE_ADDR']."\r\nContent-Type: text/html; charset=ISO-8859-1;"
            
    $message=nl2br("Vorname: $vorname\nNachname: $nachname\nEmail: <a href=\"mailto:$email\">$email</a>\nOrganisation: $firm\nStrasse: $street\nPLZ: $plz\nOrt: $ort\nLand: $land\nTelefon: $telefon\n<hr>$message"); 
            
    $subject="Anmeldung vom ".date("d.m.Y")." um ".date("H:i"); 
            if (@
    mail($empfaenger$subject$message$mailheader)) { 
                
    //Alles ok, Seite neuladen (Reloadsperre) 
                
    header("Location:$pagename?success"); 
                
    //falls kein Header gesendet werden kann, dann mit javascript 
                
    echo '<script type="text/javascript">document.location.href="'.$pagename.'?success"</script>'
                 
                exit; 
            } else { 
                
    $error='<h3>Fehler beim Mailen aufgetreten</h3>'
            } 
        } else { 
            
    // Fehler ausgeben 
            
    $error='<h3>Fehler bei der Eingabe</h3><p class="error">'.$error.'</p>'
        } 

    ?> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
        "http://www.w3.org/TR/html4/strict.dtd"> 
    <html> 
    <head> 
    <title>Form-Mailer</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <style type="text/css"> 
    body {background:#fff;} 
    form {width:360px;} 
    label {display:block;} 
    input, textarea {font-size:11px;} 
    textarea {width:360px;height:240px;} 
    input.button {border:1px solid #000;background:#ffcc00;margin-top:12px;} 
    .fehler {border:1px solid red;} 
    p.error {color:red;} 
    #land {display:block; width:260px;} 
    </style> 
    </head> 

    <body> 
    <p align="center">&nbsp;</p>
    <p align="center">&nbsp;</p>
    <h1 align="center"><font size="4" color="#008080" face="Arial"><b>Ich m&ouml;chte
      mehr Informationen</b></font></h1>
    <p align="center"><font face="Arial" size="2"><b>Felder, die mit <font color="#FF0000">*</font><font color="#000000"> markiert sind, m&uuml;ssen zwingend ausgef&uuml;llt werden</font></b></font></p>
    <h1>&nbsp;</h1> 
    <?php 
    if($error!="") echo $error
    if(isset(
    $_GET['success'])) { 
        
    //Erfolgsnachricht ausgeben 
        
    echo '<p>Vielen Dank für Ihre Nachricht. Sie wurde erfolgreich verschickt.</p><p><a href="mehrinfo3.php">Zur&uuml;ck</a></p>'
    } else { 
        
    // Form ausgeben 
    ?> 

    <form action="<?php echo $pagename;?>" method="post" name="formmailer"> 
    <fieldset><legend>Rueckmeldung</legend> 
    <label for="vorname">Vorname</label> 
    <input type="Text" value="<?php echo $vorname;?>" maxlength="60" size="50" name="vorname" <?php if(isset($err[0])) echo  'class="fehler"';?>
    <label for="nachname">Nachname</label> 
    <input type="Text" value="<?php echo $nachname;?>" maxlength="60" size="50" name="nachname" <?php if(isset($err[3])) echo  'class="fehler"';?>
    <label for="email">Email-Adresse</label> 
    <input type="Text" value="<?php echo $email;?>" maxlength="80" size="50" name="email" <?php if(isset($err[1])) echo  'class="fehler"';?>
    <label for="firm">Organisation</label> 
    <input type="Text" value="<?php echo $firm;?>" maxlength="80" size="50" name="firm"> 
    <label for="street">Stra&szlig;e</label> 
    <input type="Text" value="<?php echo $street;?>" maxlength="80" size="50" name="street" <?php if(isset($err[7])) echo  'class="fehler"';?>
    <label for="plz">PLZ</label> 
    <input type="Text" value="<?php echo $plz;?>" maxlength="80" size="50" name="plz" <?php if(isset($err[8])) echo  'class="fehler"';?>
    <label for="ort">Ort</label> 
    <input type="Text" value="<?php echo $ort;?>" maxlength="80" size="50" name="ort" <?php if(isset($err[9])) echo  'class="fehler"';?>
    <label for="land">Land</label> 
    <select name="land" id="land">
      <option value="Schweiz" selected>Schweiz</option> 
      <option value="Deutschland">Deutschland</option>
      <option value="&Ouml;sterreich">&Ouml;sterreich</option> 
    </select> 
    <label for="telefon">Telefon</label> 
    <input type="Text" value="<?php echo $telefon;?>" maxlength="80" size="50" name="telefon" <?php if(isset($err[11])) echo  'class="fehler"';?>>
    <label for="proof">Prüfnummer: <?php echo $code;?> ziehen Sie davon die Zahl eins ab! (Gegen Spamformulare!)</label> 
    <input type="Text" value="<?php echo $proof;?>" maxlength="80" size="50" name="code" <?php if(isset($err[15])) echo  'class="fehler"';?>>  
    <label for="comment">Zus&auml;tzliche Informationen</label> 
    <?php $message 'Hier k&ouml;nnen sie zus&auml;tzliche Informationen einf&uuml;gen';?> 
    <textarea cols="10" rows="10" name="message" <?php if(isset($err[2])) echo  'class="fehler"';?>><?php echo $message;?></textarea> 
    <input type="reset" class="button" value="zurücksetzen" name="reset"> 
    <input type="submit" class="button" value="abschicken" name="domail"> 
    </fieldset> 
    </form> 
    <?php 


    function 
    DebugAttack($s) { 
        
    //Hier den Pfad für die Protokolldatei einfügen, wenn kein Protokoll erwünscht ist, einfach auskommentieren 
        //$fp=fopen("attack.txt","ab"); 
        //fwrite($fp,$s); 
        //fclose($fp); 


    ?> 
    </body> 
    </html>

  14. #44
    TP-Junior Primajin macht alles soweit korrekt
    Registriert seit
    Nov 2007
    Beiträge
    7

    Question Lass Deinen User Rechnen

    Was hälste davon:

    PHP-Code:
    <?php 

    /*******************************************/ 
    /* formmailer.php                          */ 
    /*                                         */ 
    /* FORMMAILER mit Reloadsperre             */ 
    /*                                         */ 
    /* von Steffen Kamper                      */ 
    /* erstellt für das Traumprojekt-Forum     */ 
    /* angepasst von Primajin                  */ 
    /*******************************************/ 


    //erstmal Variablen definieren 
    $pagename="mehrinfo3.php"
    $error=$username=$pass=$vorname=$nachname=$email=$firm=$street=$plz=$ort=$land=$telefon=$birth=$message=$proof=$code=""

    $coderand(12000);

    //echo 'Code: '.$code.'<br>';
    //echo 'Proof: '.$proof;

    // an wen geht die Mail ? 
    $empfaenger="webmaster@cloning.ch"

    if(isset(
    $_POST['domail'])) { 
        
    // es wurde abschicken gedrückt, also erst mal die Felder holen 
        
    $vorname=get_magic_quotes_gpc() ? stripslashes($_POST['vorname']) : $_POST['vorname']; 
        
    $nachname=get_magic_quotes_gpc() ? stripslashes($_POST['nachname']) : $_POST['nachname']; 
        
    $email=get_magic_quotes_gpc() ? stripslashes($_POST['email']) : $_POST['email']; 
        
    $firm=get_magic_quotes_gpc() ? stripslashes($_POST['firm']) : $_POST['firm']; 
        
    $street=get_magic_quotes_gpc() ? stripslashes($_POST['street']) : $_POST['street']; 
        
    $plz=get_magic_quotes_gpc() ? stripslashes($_POST['plz']) : $_POST['plz']; 
        
    $ort=get_magic_quotes_gpc() ? stripslashes($_POST['ort']) : $_POST['ort']; 
        
    $land=get_magic_quotes_gpc() ? stripslashes($_POST['land']) : $_POST['land']; 
        
    $telefon=get_magic_quotes_gpc() ? stripslashes($_POST['telefon']) : $_POST['telefon']; 
        
    $proof=get_magic_quotes_gpc() ? stripslashes($_POST['proof']) : $_POST['proof'];  
        
        
    //Form-Attacken verhindern (suche nach \r\n oder \n) 
        
        
    if(strpos($vorname,"\r\n")>|| strpos($vorname,"\n")>0) { 
            
    DebugAttack(substr($vorname,strpos($vorname,"\r\n"))); 
            
    $vorname=""
        } 
        if(
    strpos($nachname,"\r\n")>|| strpos($nachname,"\n")>0) { 
            
    DebugAttack(substr($nachname,strpos($nachname,"\r\n"))); 
            
    $nachname=""
        } 
        if(
    strpos($email,"\r\n")>|| strpos($email,"\n")>0) { 
            
    DebugAttack(substr($email,strpos($email,"\r\n"))); 
            
    $email=""
        } 
        if(
    strpos($firm,"\r\n")>|| strpos($firm,"\n")>0) { 
            
    DebugAttack(substr($firm,strpos($firm,"\r\n"))); 
            
    $firm=""
        } 
        if(
    strpos($ort,"\r\n")>|| strpos($ort,"\n")>0) { 
            
    DebugAttack(substr($ort,strpos($ort,"\r\n"))); 
            
    $ort=""
        } 
        if(
    strpos($plz,"\r\n")>|| strpos($plz,"\n")>0) { 
            
    DebugAttack(substr($plz,strpos($plz,"\r\n"))); 
            
    $plz=""
        } 
        if(
    strpos($land,"\r\n")>|| strpos($land,"\n")>0) { 
            
    DebugAttack(substr($land,strpos($land,"\r\n"))); 
            
    $land=""
        } 
        if(
    strpos($telefon,"\r\n")>|| strpos($telefon,"\n")>0) { 
            
    DebugAttack(substr($telefon,strpos($telefon,"\r\n"))); 
            
    $telefon=""
        }  
        if(
    strpos($street,"\r\n")>|| strpos($street,"\n")>0) { 
            
    DebugAttack(substr($street,strpos($street,"\r\n"))); 
            
    $street=""
        } 
        if(
    strpos($proof,"\r\n")>|| strpos($proof,"\n")>0) { 
            
    DebugAttack(substr($proof,strpos($proof,"\r\n"))); 
            
    $proof=""
        } 
        
    //Message setzt sich aus allen Eingaben zusammen 
        
    $message=get_magic_quotes_gpc() ? stripslashes($_POST['message']) : $_POST['message']; 
         
        
    // wir setzen einen Flag, um Fehler zu registrieren 
        
    $ok=true
        
    //jetzt werden die Felder überprüft 
        
        
    if (strlen($vorname)<3// der Name muss mindestens 3 Zeichen haben 
        

            
    $err[0]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie Ihren Vornamen an. (mindestens 3 Zeichen)<br>'// Fehlertext 
        

        if (
    strlen($nachname)<3// der Name muss mindestens 3 Zeichen haben 
        

            
    $err[3]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie Ihren Nachnamen an. (mindestens 3 Zeichen)<br>'// Fehlertext 
        

        if ( (!(
    eregi('^[a-z0-9_\.-]+@[a-z0-9_-]+\.[a-z0-9_\.-]+$',$email))) && (strlen($email)>0) || $email==""
        { 
            
    //email-Adresse ist ungültig 
            
    $err[1]=true
            
    $ok=false
            
    $error.='Bitte kontrollieren Sie die angegebene E-Mail-Adresse.<br>'
        } 
        if (
    strlen($message)<10// die Message muss mindestens 10 Zeichen haben 
        

            
    $err[2]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie einen Hinweis von mindestens 10 Zeichen ein.<br>'// Fehlertext 
        

        if (
    strlen($street)<5// die Straße muss mindestens 5 Zeichen haben 
        

            
    $err[7]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie Ihre Straße an. (mindestens 6 Zeichen)<br>'// Fehlertext 
        

        if (!
    is_numeric($plz)) // die Postleitzahl muss aus Zahlen bestehen 
        

            
    $err[8]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie eine korrekte Postleitzahl ein.<br>'// Fehlertext 
        
    } else 
        { 
            if (
    $land == 'Deutschland'
            { 
                if (
    strlen($plz)<>5// die Postleitzahl in Deutschland muss 5 Zeichen haben 
                

                    
    $err[8]=true//Fehler merken 
                    
    $ok=false;    //Fehlerflag setzen 
                    
    $error.='Bitte geben Sie eine korrekte deutsche Postleitzahl ein.<br>'// Fehlertext 
                

                if (
    strlen($telefon)<7// die Telefonnummer muss mindestens 7 Zeichen haben 
                

                    
    $err[11]=true//Fehler merken 
                    
    $ok=false;    //Fehlerflag setzen 
                    
    $error.='Bitte geben Sie Ihre Telefonnummer (nur Zahlen) mit Vorwahl an.<br>'// Fehlertext 
                

            } else            
    //Da nur Deutschland, Österreich und die Schweiz zur Verfügung stehen, und D schon abgefragt wurde 
            

                if (
    strlen($plz)<>4// die Postleitzahl in Österreich und in der Schweiz muss 4 Zeichen haben  
                

                    
    $err[8]=true//Fehler merken 
                    
    $ok=false;    //Fehlerflag setzen 
                    
    $error.='Bitte geben Sie eine korrekte Postleitzahl ein.<br>'// Fehlertext 
                

                if (
    strlen($telefon)<7// die Telefonnummer muss mindestens 7 Zeichen haben 
                

                    
    $err[11]=true//Fehler merken 
                    
    $ok=false;    //Fehlerflag setzen 
                    
    $error.='Bitte geben Sie Ihre Telefonnummer (nur Zahlen) mit Orts- und Landesvorwahl an.<br>'// Fehlertext 
                

            } 
        } 
        if (
    strlen($ort)<3// der Ort muss mindestens 3 Zeichen haben 
        

            
    $err[9]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie Ihren Ort an. (mindestens 3 Zeichen)<br>'// Fehlertext 
        
    }  
        if (!
    is_numeric($proof)) // der Code muss aus Zahlen bestehen 
        

            
    $err[15]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte geben Sie den korrekten Code '.$code.' ein.<br>'// Fehlertext 
        
    }
        if (
    $proof!=($code-1)) //Man sollte ja "1" abziehen
        

            
    $err[15]=true//Fehler merken 
            
    $ok=false;    //Fehlerflag setzen 
            
    $error.='Bitte ziehen sie von '.$code.' eins ab.<br>'// Fehlertext 
        
    }
        
        
    // ist alles ok ? dann senden 
        
    if($ok
        { 
            
    //Mail komponieren 
            
    $mailheader="From: info@human-life.ch\r\nX-Mailer: PHP/" phpversion(). "\r\nX-Sender-IP: ".$_SERVER['REMOTE_ADDR']."\r\nContent-Type: text/html; charset=ISO-8859-1;"
            
    $message=nl2br("Vorname: $vorname\nNachname: $nachname\nEmail: <a href=\"mailto:$email\">$email</a>\nOrganisation: $firm\nStrasse: $street\nPLZ: $plz\nOrt: $ort\nLand: $land\nTelefon: $telefon\n<hr>$message"); 
            
    $subject="Anmeldung vom ".date("d.m.Y")." um ".date("H:i"); 
            if (@
    mail($empfaenger$subject$message$mailheader)) { 
                
    //Alles ok, Seite neuladen (Reloadsperre) 
                
    header("Location:$pagename?success"); 
                
    //falls kein Header gesendet werden kann, dann mit javascript 
                
    echo '<script type="text/javascript">document.location.href="'.$pagename.'?success"</script>'
                 
                exit; 
            } else { 
                
    $error='<h3>Fehler beim Mailen aufgetreten</h3>'
            } 
        } else { 
            
    // Fehler ausgeben 
            
    $error='<h3>Fehler bei der Eingabe</h3><p class="error">'.$error.'</p>'
        } 

    ?> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
        "http://www.w3.org/TR/html4/strict.dtd"> 
    <html> 
    <head> 
    <title>Form-Mailer</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <style type="text/css"> 
    body {background:#fff;} 
    form {width:360px;} 
    label {display:block;} 
    input, textarea {font-size:11px;} 
    textarea {width:360px;height:240px;} 
    input.button {border:1px solid #000;background:#ffcc00;margin-top:12px;} 
    .fehler {border:1px solid red;} 
    p.error {color:red;} 
    #land {display:block; width:260px;} 
    </style> 
    </head> 

    <body> 
    <p align="center">&nbsp;</p>
    <p align="center">&nbsp;</p>
    <h1 align="center"><font size="4" color="#008080" face="Arial"><b>Ich m&ouml;chte
      mehr Informationen</b></font></h1>
    <p align="center"><font face="Arial" size="2"><b>Felder, die mit <font color="#FF0000">*</font><font color="#000000"> markiert sind, m&uuml;ssen zwingend ausgef&uuml;llt werden</font></b></font></p>
    <h1>&nbsp;</h1> 
    <?php 
    if($error!="") echo $error
    if(isset(
    $_GET['success'])) { 
        
    //Erfolgsnachricht ausgeben 
        
    echo '<p>Vielen Dank für Ihre Nachricht. Sie wurde erfolgreich verschickt.</p><p><a href="mehrinfo3.php">Zur&uuml;ck</a></p>'
    } else { 
        
    // Form ausgeben 
    ?> 

    <form action="<?php echo $pagename;?>" method="post" name="formmailer"> 
    <fieldset><legend>Rueckmeldung</legend> 
    <label for="vorname">Vorname</label> 
    <input type="Text" value="<?php echo $vorname;?>" maxlength="60" size="50" name="vorname" <?php if(isset($err[0])) echo  'class="fehler"';?>
    <label for="nachname">Nachname</label> 
    <input type="Text" value="<?php echo $nachname;?>" maxlength="60" size="50" name="nachname" <?php if(isset($err[3])) echo  'class="fehler"';?>
    <label for="email">Email-Adresse</label> 
    <input type="Text" value="<?php echo $email;?>" maxlength="80" size="50" name="email" <?php if(isset($err[1])) echo  'class="fehler"';?>
    <label for="firm">Organisation</label> 
    <input type="Text" value="<?php echo $firm;?>" maxlength="80" size="50" name="firm"> 
    <label for="street">Stra&szlig;e</label> 
    <input type="Text" value="<?php echo $street;?>" maxlength="80" size="50" name="street" <?php if(isset($err[7])) echo  'class="fehler"';?>
    <label for="plz">PLZ</label> 
    <input type="Text" value="<?php echo $plz;?>" maxlength="80" size="50" name="plz" <?php if(isset($err[8])) echo  'class="fehler"';?>
    <label for="ort">Ort</label> 
    <input type="Text" value="<?php echo $ort;?>" maxlength="80" size="50" name="ort" <?php if(isset($err[9])) echo  'class="fehler"';?>
    <label for="land">Land</label> 
    <select name="land" id="land">
      <option value="Schweiz">Schweiz</option> 
      <option value="Deutschland" selected>Deutschland</option>
      <option value="&Ouml;sterreich">&Ouml;sterreich</option> 
    </select> 
    <label for="telefon">Telefon</label> 
    <input type="Text" value="<?php echo $telefon;?>" maxlength="80" size="50" name="telefon" <?php if(isset($err[11])) echo  'class="fehler"';?>>
    <label for="proof">Prüfnummer: <?php echo $code;?> ziehen Sie davon die Zahl eins ab! (Gegen Spamformulare!)</label> 
    <input type="Text" value="<?php echo $proof;?>" maxlength="80" size="50" name="proof" <?php if(isset($err[15])) echo  'class="fehler"';?>>  
    <label for="comment">Zus&auml;tzliche Informationen</label> 
    <?php $message 'Hallo Tax, ich hab Dein Script hinbekommen!';?> 
    <textarea cols="10" rows="10" name="message" <?php if(isset($err[2])) echo  'class="fehler"';?>><?php echo $message;?></textarea> 
    <input type="reset" class="button" value="zurücksetzen" name="reset"> 
    <input type="submit" class="button" value="abschicken" name="domail"> 
    </fieldset> 
    </form> 
    <?php 


    function 
    DebugAttack($s) { 
        
    //Hier den Pfad für die Protokolldatei einfügen, wenn kein Protokoll erwünscht ist, einfach auskommentieren 
        //$fp=fopen("attack.txt","ab"); 
        //fwrite($fp,$s); 
        //fclose($fp); 


    ?> 
    </body> 
    </html>
    Ähh ich hatte zu Gewöhnungszwecken selected auf Deutschland umgeschaltet ^^


    Edit:
    Also was hab ich geändert:
    1. $code= rand(1, 2000); --> Die Zahl war vielleicht etwas zu groß ^^
    2. if(strpos($proof,"\r\n")>0 || strpos($proof,"\n")>0) {DebugAttack(substr($proof,strpos($proof,"\r\n"))); $proof=""; } --> Da hattest Du schon Deine Code-1 Abfrage drin = das ist aber nur die Abfrage, ob da wer Müll reinschreibt
    3. if (!is_numeric($proof)) // der Code muss aus Zahlen bestehen --> siehe Comment
    4. if ($proof!=($code-1)) //Man sollte ja "1" abziehen --> siehe Comment
    5. <input type="Text" value="<?php echo $proof;?>" maxlength="80" size="50" name="proof" --> hier hattest Du bei Name noch "CODE"
    Geändert von Primajin (04.12.2007 um 14:36 Uhr)

  15. #45
    TAX
    TAX ist offline
    TP-Junior TAX macht alles soweit korrekt
    Registriert seit
    Mar 2004
    Beiträge
    25
    @Primajin: Vielen Dank! Ich bin sehr erleichtert, denn die Testerei hat mich fast zur Verzweiflung gebracht. Ich werde das gleich ausprobieren.

    Herzliche Grüsse von

    TAX

+ Antworten
Seite 3 von 9 ErsteErste 1 2 3 4 5 6 ... LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51