2017-02-21 1 views
0

Ich habe diesen PHP-Code zuvor auf einer anderen Zielseite verwendet und könnte nicht besser funktionieren, aber jetzt verwende ich ihn auf einer Zielseite, die auf einer Subdomain gehostet wird, und es funktioniert nicht. Beide Archive, die index.php und die thank-you-page.html sind im gleichen Ordner gespeichert.Warum dieser PHP-Code umleiten Formular funktioniert nicht?

Heres der Code.

<div id="forma" class="col-2"> 
     <?php 
      $action=$_REQUEST['action']; 
      if ($action=="") 
      { 
      ?> 
     <form action="" method="POST" enctype="multipart/form-data"> 
     <input type="hidden" name="action" value="submit"> 
      <p>Nombre</p> <input type="text" name="name"/> 
      <p>Apellidos</p> <input type="text" name="surname"/> 
      <p>Email</p> <input type="text" name="email"> 
      <p>Tel&eacute;fono</p> <input type="text" name="phone" maxlength="12"/> 
      <input type="submit" value="Enviar" name="submit"/><input type="reset" value="Limpiar"> 
      <?php 
      include "include/thank-you-page.html"; 
      ?> 
     </form> 
     <?php 
     } 
     else if($_POST['email'] == '' or !preg_match("/^[a-zA-Z0-9_\.\-][email protected][a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/",$_POST['email'])){ 
     echo "Favor de ingresar un correo válido <a href=\"\">en la forma</a>";} 
     else 
     { 
     $name=utf8_decode($_POST['name']); 
     $surname=utf8_decode($_POST['surname']); 
     $email=$_POST['email']; 
     $phone=$_POST['phone']; 
     $message=" 
     APC Back-UPS Landing page: 
     Nombre: $name 
     Apellidos: $surname 
     e-mail: $email 
     telefono: $phone"; 
     if(($name=="")||($email=="")||($phone=="")) 

     { 
      echo "Favor de llenar los campos requeridos <a href=\"\">en la forma</a>"; 
     } 

     else 
     { 
     $from="From: $name<$email>\r\nReturn-path: $email"; 
     $subject = "Landing page Back-UPS"; 
     mail("[email protected]", $subject, $message, $from); 
     header('Location: http://www.securepowersolutions.com.mx/backups/thank-you-page.html'); 
      } 
     } 
     ?> 

Irgendwelche Ideen darüber, warum es nicht antwortet?

+1

Willkommen bei Stack Overflow! Können Sie näher erläutern, wie Ihr Code "nicht funktioniert"? Was hast du erwartet und was ist eigentlich passiert? Wenn Sie eine Ausnahme oder einen Fehler erhalten haben, geben Sie die Zeile an, auf der sie aufgetreten ist, und die Details. Bitte [bearbeiten] Sie diese Details oder wir können Ihnen möglicherweise nicht weiterhelfen. –

Antwort

1

Aus der Dokumentation für header:

Denken Sie daran, dass die header() aufgerufen werden muss, bevor eine Ausgabe gesendet wird, entweder durch normale HTML-Tags, leere Zeilen in einer Datei oder von PHP. Es ist ein sehr häufiger Fehler beim Lesen von Code mit include, oder require, Funktionen oder einer anderen Dateizugriffsfunktion und Leerzeichen oder Leerzeilen, die ausgegeben werden, bevor header() aufgerufen wird. Das gleiche Problem tritt auf, wenn eine einzelne PHP/HTML-Datei verwendet wird.

Sie haben HTML-Ausgabe vor Ihrem Aufruf der Kopfzeile.

Verwandte Themen