回显PHP定位



我在这个链接http://jardineselectricos.com/xtatanx/contacto.php中做一个表单,一切都很好,表单只是在填写时发送给我电子邮件,但是,当我收到回声输出时,所有的网站都起来了。我想知道我怎样才能把输出放在我想要的地方。这是我的代码。

HTML:

<form method="post" action="contacto.php" id="form">
    <label for="nombre">Nombre: </label>
    <input type="text" name="nombre" placeholder="Su nombre"/>
    <label for="correo">Correo electrónico: </label>
    <input type="email" name="email" placeholder="nombre@correo.com"/>
    <label for="numero-telefonico">Teléfono móvil: </label>
    <input type="text" name="telefono" placeholder="Introducir nº de telf" />
    <label for="mensaje">Mensaje: </label>
    <textarea name="mensaje" cols="20" rows="6" placeholder="Escriba un mensaje breve..."></textarea>
    <input type="submit" id="enviar" name="enviar" value="Enviar">
    <span id="respuesta">
      <?php
                $nombre = $_POST['nombre'];
                $email = $_POST['email'];
                $numero = $_POST['telefono'];
                $mensaje = $_POST['mensaje'];
                $from = 'From: UsuarioStrategyResearch'; 
                $to = 'jhonnatanhxc@gmail.com'; 
                $subject = 'Contacto Strategy Research';
                $body = "De: $nombren E-Mail: $emailn Movil: $numeron Mensaje:n $mensaje";
                if ($_POST['enviar']) {
                if (mail ($to, $subject, $body, $from)) { 
                    echo '<p>Tu mensaje ha sido enviado, pronto nos pondrémos en contacto.</p>';
                } else { 
                    echo '<p>Ha habido un error y el mensaje no ha podido ser enviado.</p>'; 
                }
            }
            ?>
    </span>
  </form>

输出总是把它放在网站的中间,它不会改变,如果我使用垃圾邮件或div,或者如果它的位置在页脚或任何地方,它只是在同一个地方回声。我很感激你们的帮助,非常感谢。

页面显示问题

警告:无法修改报头信息-报头已经由(输出开始于/home/jardines/public_html/xtatanx/contactto .php:57)在/home/jardines/public_html/xtatanx/contactto .php第70行发送

这意味着mail函数需要修改HTTP标头,但是它们已经被发送了,因为你已经开始输出HTML。

您需要确保在输出任何HTML

之前调用mail
<?php
// At the top of the file, before any HTML is output
$successfulMail = mail ($to, $subject, $body, $from);
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$numero = $_POST['telefono'];
$mensaje = $_POST['mensaje'];
$from = 'From: UsuarioStrategyResearch'; 
$to = 'jhonnatanhxc@gmail.com'; 
$subject = 'Contacto Strategy Research';
$body = "De: $nombren E-Mail: $emailn Movil: $numeron Mensaje:n $mensaje";
$mailMsg = '';
if ($_POST['enviar']) {
    // Here's the trick, can't call mail after HTML has been output
    if (mail ($to, $subject, $body, $from)) { 
       $mailMsg ='<p>Tu mensaje ha sido enviado, pronto nos pondrémos en contacto.</p>';
    } else {
       $mailMsg ='<p>Ha habido un error y el mensaje no ha podido ser enviado.</p>'; 
    }
}
?>    
...
<form method="post" action="contacto.php" id="form">
    <label for="nombre">Nombre: </label>
    <input type="text" name="nombre" placeholder="Su nombre"/>
    <label for="correo">Correo electrónico: </label>
    <input type="email" name="email" placeholder="nombre@correo.com"/>
    <label for="numero-telefonico">Teléfono móvil: </label>
    <input type="text" name="telefono" placeholder="Introducir nº de telf" />
    <label for="mensaje">Mensaje: </label>
    <textarea name="mensaje" cols="20" rows="6" placeholder="Escriba un mensaje breve..."></textarea>
    <input type="submit" id="enviar" name="enviar" value="Enviar">
    <span id="respuesta"><?php echo $mailMsg ?> </span>
  </form>

相关内容

  • 没有找到相关文章

最新更新