2012-07-04 44 views
0

我在移動網站工作,我遇到了問題,我的電子郵件表格 問題是,當我收到通過表格發送的郵件時,它不包含任何數據。 用戶輸入的所有數據都缺失。Jquery php腳本移動電子郵件表格

這裏是表單代碼

<form action="correo.php" method="post" data-ajax="false"> 
<div> 
<p><strong>You can contact us by filling the following form</strong></p> 
</div> 
<div data-role="fieldcontain"> 
<fieldset data-role="controlgroup" data-mini="true"> 
<label for="first_name">First Name</label> 
<input id="first_name" placeholder="" type="text" /> 
</fieldset> 
</div> 
<div data-role="fieldcontain"> 
<fieldset data-role="controlgroup" data-mini="true"> 
<label for="last_name">Last name</label> 
<input id="last_name" placeholder="" type="text" /> 
</fieldset> 
</div> 
<div data-role="fieldcontain"> 
<fieldset data-role="controlgroup" data-mini="true"> 
<label for="email">Email</label> 
<input id="email" placeholder="" type="email" /> 
</fieldset> 
</div> 
<div data-role="fieldcontain"> 
<fieldset data-role="controlgroup" data-mini="true"> 
<label for="telephone">Phone</label> 
<input id="telephone" placeholder="" type="tel" /> 
</fieldset> 
</div> 
<div data-role="fieldcontain"> 
<fieldset data-role="controlgroup" data-mini="true"> 
<label for="age">Age</label> 
<input id="age" placeholder="" type="number" /> 
</fieldset> 
</div> 
<div data-role="fieldcontain"> 
<fieldset data-role="controlgroup" data-mini="true"> 
<label for="country">Country</label> 
<input id="country" placeholder="" type="text" /> 
</fieldset> 
</div> 
<div data-role="fieldcontain"> 
<fieldset data-role="controlgroup"> 
<label for="message">Your message</label> 
<textarea id="message" placeholder="" data-mini="true"></textarea> 
</fieldset> 
</div> 
<input data-inline="true" data-theme="e" value="Submit" data-mini="true" type="submit" /> 
</form> 

這裏是PHP代碼

<? 
/* aqui se incializan variables de PHP */ 
if (phpversion() >= "4.2.0") { 
     if (ini_get('register_globals') != 1) { 
       $supers = array('_REQUEST', 
           '_ENV', 
           '_SERVER', 
           '_POST', 
           '_GET', 
           '_COOKIE', 
           '_SESSION', 
           '_FILES', 
           '_GLOBALS'); 

       foreach($supers as $__s) { 
         if ((isset($$__s) == true) && (is_array($$__s 
) == true)) extract($$__s, EXTR_OVERWRITE); 
       } 
       unset($supers); 
     } 
} else { 
     if (ini_get('register_globals') != 1) { 

       $supers = array('HTTP_POST_VARS', 
           'HTTP_GET_VARS', 
           'HTTP_COOKIE_VARS', 
           'GLOBALS', 
           'HTTP_SESSION_VARS', 
           'HTTP_SERVER_VARS', 
           'HTTP_ENV_VARS' 
           ); 

       foreach($supers as $__s) { 
         if ((isset($$__s) == true) && (is_array($$__s 
) == true)) extract($$__s, EXTR_OVERWRITE); 
       } 
       unset($supers); 
     } 
} 

/* DE AQUI EN ADELANTE PUEDES EDITAR EL ARCHIVO */ 
    /* reclama si no se ha rellenado el campo email en el formulario */ 

/* aquí se especifica la pagina de respuesta en caso de envío exitoso */ 
$respuesta="index.html#respuesta"; 
// la respuesta puede ser otro archivo, en incluso estar en otro servidor 

/* AQUÍ ESPECIFICAS EL CORREO AL CUAL QUEIRES QUE SE ENVÍEN LOS DATOS 
DEL FORMULARIO, SI QUIERES ENVIAR LOS DATOS A MÁS DE UN CORREO, 
LOS PUEDES SEPARAR POR COMAS */ 
$para ="[email protected];" /* this is not my real email, of course */ 

/* AQUI ESPECIFICAS EL SUJETO (Asunto) DEL EMAIL */ 
$sujeto = "Mail de la página - Movil"; 

/* aquí se construye el encabezado del correo, en futuras 
versiones del script explicaré mejor esta parte */ 
$encabezado = "From: $first_name $last_name <$email>"; 
$encabezado .= "\nReply-To: $email"; 
$encabezado .= "\nX-Mailer: PHP/" . phpversion(); 

/* con esto se captura la IP del que envío el mensaje */ 
$ip=$REMOTE_ADDR; 

/* las siguientes líneas arman el mensaje */ 
$mensaje .= "NOMBRE: $first_name\n"; 
$mensaje .= "APELLIDO: $last_name\n"; 
$mensaje .= "EMAIL: $email\n"; 
$mensaje .= "TELEFONO: $telephone\n"; 
$mensaje .= "EDAD: $age\n"; 
$mensaje .= "PAIS: $country\n"; 
$mensaje .= "MENSAJE: $message\n"; 

/* aqui se intenta enviar el correo, si no se 
tiene éxito se da un mensaje de error */ 
if(!mail($para, $sujeto, $mensaje, $encabezado)) 
{ 
    echo "<h1>No se pudo enviar el Mensaje</h1>"; 
    exit(); 
} 
else 
{ 
    /* aqui redireccionamos a la pagina de respuesta */ 
    echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>"; 
} 

?> 

任何幫助嗎? 在此先感謝 Pablo

回答

1

您的input元素沒有任何name屬性。 name屬性應該與您以後在PHP代碼中使用的變量匹配。

編輯:你的PHP代碼實際上並沒有嘗試直接訪問$_POST而是似乎迫使register_globals的,除非它已經在。這是嚴重實踐我說。我會刪除頂部的所有register_globals-東西,只是做:

$mensaje .= "NOMBRE: {$_POST['first_name']}\n"; 
$mensaje .= "APELLIDO: {$_POST['last_name']}\n"; 
$mensaje .= "EMAIL: {$_POST['email']}\n"; 

等等。除了

+0

D'哦...我檢查一切 –