Ergebnis 1 bis 6 von 6
  1. #1
    Querina
    Themenstarter
    Avatar von .maxx
    Registriert
    06.2007
    Beiträge
    187

    PHP Kontaktformular zur gesendet "Seite" mit Animation

    Tach zusammen,
    so der Titel klingt ein wenig seltsam aber ich erklärs mal.

    Meine Seite andreasmaks.de hat eine JS Animation beim Ankerwechsel.

    Das Kontaktformular leitet mich auf die gesendet Seite weiter nach dem versendet wurde. Nun wäre es schön wenn dies mit der besagten JS animation geschehen würde. Also

    Nachricht senden durch meine contact-form.php -> zurück zur Formularseite -> sofort Animation zur gesendet Seite.

    Wie löst man das am besten?

    Code:
    <?php
    
    $empfaenger = "max@mustermann.de"; //hier kommt die email adresse hin, an die die mail geschickt wird
    $absender = 'Kontaktformular - andreasmaks.de<max@mustermann.de>';
    $betreff = 'Nachricht ueber Webseite';
    
    //bestimmen der eingabefelder
    $field1 = $_POST["contactname"];
    $field2 = $_POST["contactemail"];
    $field14 = $_POST["contactmessage"];
    
    //aussehen der email die an dich gesendet wird
    $send = '
    Name: '.$_POST["contactname"].'
    
    Email: '.$_POST["contactemail"].'
    
    '.$_POST["contactmessage"].'
            ';
    
    $headers .= 'From:' . $absender;
    
    //die sendefunktion
    if  (mail($empfaenger, $betreff, $send, $headers))
        {
        header("Location: index.html#danke");
            }
            else
            {
           header("Location: index.html#danke");
    }
    
    ?>

  2. #2
    Goldparmäne Avatar von torben1
    Registriert
    08.2008
    Ort
    Essen
    Alter
    35
    Beiträge
    560
    Warum machst Du das Ganze nicht mit AJAX? Damit hättest Du auch die Kontrolle über die Animation, da die Seite ja nicht verlassen wir. jQuery bietet da ja einfache Möglichkeiten.

    Torben

    P.S. Du solltest noch eine Fehlerseite bauen - Im Moment wird, wenn die Mail nicht versandt wurde, auch die Dankeseite gezeigt

  3. #3
    Querina
    Themenstarter
    Avatar von .maxx
    Registriert
    06.2007
    Beiträge
    187
    hi Torben,

    hast du für mich auch ein wenig Code, wie ich das z.B. mit AJAX bewerkstelligen könne?

  4. #4
    Goldparmäne Avatar von torben1
    Registriert
    08.2008
    Ort
    Essen
    Alter
    35
    Beiträge
    560
    Hallo .maxx,

    ein Ajax-Request baust Du folgendermassen auf:
    Code:
    var getDaten = 'name=' + name + '&email=' + email; //usw.
    $.ajax({
    				url: "senden.php",
    				type: "GET",
    				data: getDaten,
    				cache: false,
    				success: function (html){
    				if (html == 1){
    					//Hat geklappt
    					}
    				else
    					{
    					//War wohl nix
    					}
    				}
    Damit werden die Daten an die Datei senden.php gesandt. Dort kannst Du dann die Userdaten überprüfen(!) und die Email versenden. Dann brauchst Du im Erfolgsfall nur ein
    Code:
    echo "1";
    ausgeben.

    Torben

  5. #5
    drp
    drp ist offline
    Ontario Avatar von drp
    Registriert
    04.2011
    Beiträge
    342
    Und dann den Effekt einfach mit Scriptaculous machen. (Zum Beispiel:
    Code:
    Effect.Appear("erfolg", { duration: 1.0 } );
    blendet den DIV mit der ID Erfolg ein.)

    (du musst den natürlich vorher mit style="Display:None;" (!NICHT IN EINER CSS DATEI!) ausblenden und vorher die zwei Scriptaculous Bibliotheken mit
    Code:
    <script src="http://script.aculo.us/prototype.js" type="text/javascript"></script>
    <script src="http://script.aculo.us/scriptaculous.js" type="text/javascript"></script>
    (kommt in den Header))
    .. Das mit effect.appear kommt dann bei dem //Hat geklappt im Ajax teil hin..
    Viele Grüße von DRP - Homepage
     MacBook Air 11,6" |  iPhone 3GS 8GB |  iPad 2 16GB weiß Wi-Fi |  Magic Mouse | PC

  6. #6
    Goldparmäne Avatar von torben1
    Registriert
    08.2008
    Ort
    Essen
    Alter
    35
    Beiträge
    560
    Da er schon jQuery nutz reicht in diesem Fall schon ein

    Code:
    $('#id').fadeIn('slow');

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •