Ankündigung

Einklappen
Keine Ankündigung bisher.

Fancybox nach Absenden eines Formulars

Einklappen

Neue Werbung 2019

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

  • Fancybox nach Absenden eines Formulars

    Hallo Leute,
    Ich bin Anfänger also bitte habt Nachsicht =)

    Ich habe ein Formular,
    Ich möchte, dass das Ergebnis (in dem Fall, Nachricht gesendet) in einer Fancybox erscheint.
    (Das Formular sendet ohne Fancybox ohne Probleme).

    Jedenfalls habe ich jetzt das Problem, dass zwar eine Fancybox erscheint (mit der entsprechenden Nachricht), aber die Daten anscheinend nicht an die php Datei übermittelt werden.
    Die Nachricht, die ich per E-Mail bekomme ist nämlich leer =(

    Hat jemand eine Idee woran das liegen kann, habe auch gegoogelt und verschiedene Ansätze versucht, aber nichts funktioniert.

    Vielleicht hat jemand eine Idee?

    Mit freundlichen Grüßen

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    	<meta http-equiv="content-script-type" content="text/javascript" />
    	<meta http-equiv="imagetoolbar" content="false" />
    	<link href='css/style.css' rel='stylesheet' type='text/css' />
    	<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
    	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    	<script type="text/javascript" src="js/jquery-1.10.1.min.js"></script>
    	<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
    	<script type="text/javascript" src="js/jquery.fancybox.js?v=2.1.5"></script>
    	<link rel="stylesheet" type="text/css" href="css/jquery.fancybox.css?v=2.1.5" media="screen" />
    		<script type="text/javascript">
    		$(document).ready(function() {
       			$("#fancybox-mail").click(function() {
          			 $.fancybox.open({
                href : 'kontakt.php',
                type : 'iframe',
                padding : 5
            		});
        		});				
    		});
    	</script>
    	<style type="text/css">
    		.fancybox-custom .fancybox-skin {
    			box-shadow: 0 0 50px #222;
    		}
    	</style>
    </head>
    
    
    <body>
    	<form class="pure-form" name="fancy" action="kontakt.php" method="post">
    	<p>Name: <input name="name" placeholder="Name" size="25"> E-Mail: <input name="email" placeholder="beispiel@beispiel.de" size="25"><br /></p>
    	<textarea style="resize:none" name="comments" cols="65" rows="15"></textarea><br />
    	<input type="button" value="Submit" id="fancybox-mail"<br />
    	</form>
    </body>
    </html>


  • #2
    Hallo Zesa20,

    zeige uns doch noch bitte die kontakt.php-Datei. Ich denke der Fehler liegt dort.

    Gruß S. Brosch

    Kommentar


    • #3
      Hi,

      glaub ich eher nicht, denn ohne fancybox gehts ja.

      aber hier bitte:


      PHP-Code:
      <?php

      include_once("WWW/phpmailer/class.phpmailer.php");

      $mail = new PHPMailer();
      $mail->IsSMTP();
      //$mail->SMTPDebug = 1;
      $mail->SMTPAuth true;
      $mail->SMTPSecure "tls";
      $mail->Host "smtp.QQQ.de";
      $mail->Port 587;
      $mail->Username "QQQ@QQQ.de";
      $mail->Password "QQQQQQQQQ";

      $mail->AddAddress("QQQQ@QQQ.de");
      $mail->From "QQQQ@QQQ.de";
      $mail->FromName ='QQQ '$_POST['name'];
      $mail->Subject 'QQQ '$_POST['betreff'];
      $mail->IsHTML(true);


      //Daten für Mail zusammensuchen
      $ipadresse=gethostbyname($_SERVER[HTTP_HOST]); 
      $provider gethostbyaddr($_SERVER['REMOTE_ADDR']);


      $mail->Body 'Name: '$_POST['name']. '<br />
                      e-Mail: ' 
      .$_POST['email']. '<br />'
                      
      'Betreff: '$_POST['betreff']. '<br />'
                      
      $_POST['comments']. '<br /><br />'.
                      
                      
      'System: '$_SERVER['HTTP_USER_AGENT'].'<br />'.
                      
      'Host: ' .$_SERVER[HTTP_HOST]. ' (IP: '$ipadresse')<br />'.
                      
      'IP: ' .$_SERVER["REMOTE_ADDR"]. '<br />'
                      
      'Provider: '$provider'<br />'.
                      
      'Datum: ' .date("d.m.Y").  '<br />'
                      
      'Zeit: ' .date("H:i:s"). '<br /><br />';
                      
                      

      if(
      $mail->Send()) {
         echo 
      "Message sent >>>>  "$_POST['name']. " <<<<<   ! Thanks for your comments!";

      else 
      {
         echo 
      "Message NOT sent!";
      }

      //$mailer->ClearAddresses();

      ?>

      Kommentar


      • #4
        Die Nachricht, die ich per E-Mail bekomme ist nämlich leer =(
        Technisch gesehen wird das Formular nicht gesendet, weil du den Klick auf den Submit-button abfängst und die Fancybox anzeigst... du benutzt zwar "kontakt.php" als Ziel URL, aber $_POST ist leer (das musst du explizit angeben).

        Gib deiner Form eine ID und füge die an der Stelle ein, wo "HERE_FORM_ID" steht... anschliessend solltest du im PHP Script prüfen, ob die Daten mit GET oder POST gesendet werden (einfach mal beides mit var_dump() ausgeben), dann sollte es wieder laufen
        Code:
        $.fancybox.open({
                    href : 'kontakt.php',
                    'data': $("#HERE_FORM_ID").serializeArray()
                    type : 'iframe',
                    padding : 5
        });
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          Funzt, Danke =)

          Kommentar

          Lädt...
          X