2013-03-04 61 views
0

即時通訊在這個鏈接http://jardineselectricos.com/xtatanx/contacto.php做一個表格,一切工作正常,形式只是給我發送電子郵件時填充,但是,當我recive回聲輸出所有網站起來。我想知道如何將輸出放在我想要的位置。這是我的代碼。回聲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="[email protected]"/> 
    <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 = '[email protected]'; 
       $subject = 'Contacto Strategy Research'; 

       $body = "De: $nombre\n E-Mail: $email\n Movil: $numero\n 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它並沒有改變,或者如果我在頁腳positionae還是無處不在,它只是回聲在同一個地方。我很感謝你的幫助,非常感謝你。

+0

那麼,你想輸出去任何HTML之前調用mail? – Terry 2013-03-04 02:04:54

+0

我希望輸出到id =「respuesta」的範圍內,所以我認爲它應該出現在提交按鈕的下面,而是出現在文檔的中間 – 2013-03-05 15:24:54

回答

1

該頁面會顯示您的問題

警告:無法修改標題信息 - 在/ home頭已經發出(輸出開始/home/jardines/public_html/xtatanx/contacto.php:57)/怡和/的public_html/xtatanx /上線70

contacto.php這意味着mail函數需要修改HTTP頭,但他們已經發送,因爲你已經開始輸出HTML。

你需要確保你輸出

<?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 = '[email protected]'; 
$subject = 'Contacto Strategy Research'; 
$body = "De: $nombre\n E-Mail: $email\n Movil: $numero\n 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="[email protected]"/> 
    <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>