2017-02-21 1 views
0

J'ai déjà utilisé ce code php sur une autre page de destination et je ne pouvais pas mieux fonctionner, mais maintenant je l'utilise sur une page de destination hébergée sur un sous-domaine et ça ne fonctionne pas. Les deux archives l'index.php et le thank-you-page.html sont stockées sur le même dossier.Pourquoi ce code PHP pour rediriger le formulaire ne fonctionne pas?

Indique le 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'); 
      } 
     } 
     ?> 

Des idées sur pourquoi il ne répond pas?

+1

Bienvenue dans Stack Overflow! Pouvez-vous élaborer sur la façon dont votre code "ne fonctionne pas"? Qu'attendiez-vous et qu'est-ce qui s'est réellement passé? Si vous avez une exception ou une erreur, postez la ligne sur laquelle elle s'est produite et les détails. S'il vous plaît [modifier] ces détails dans ou nous ne pouvons pas être en mesure d'aider. –

Répondre

1

De la documentation header:

Rappelez-vous que la tête() doit être appelée avant toute sortie réelle est envoyée, soit par des balises HTML normales, des lignes vides dans un fichier, ou de PHP. Il est très fréquent de lire du code avec include, ou require, des fonctions ou une autre fonction d'accès au fichier, et des espaces ou des lignes vides sont affichés avant l'appel de header(). Le même problème existe lors de l'utilisation d'un seul fichier PHP/HTML.

Vous avez une sortie HTML avant votre appel à l'en-tête.