我如何改进我的php表单以从我的html表单接收整个消息?(php表单到电子邮件)[duplicate]

uelo1irk  于 2022-12-09  发布在  PHP
关注(0)|答案(1)|浏览(168)

This question already has answers here:

PHP mail does not get sent, how do I debug? (2 answers)
Closed 2 days ago.
I tried to solved by myself reading how php form works and I haven't arrived to an optimal solution. I still do not recive the mail with the user information.
// My php file named: sendbymail.php

<?php
//Importar variables

@$name = addslashes($_POST['name']);
@$ci = addslashes($_POST['ci']);
@$phone = addslashes($_POST['phone']);
@$Atype = addslashes($_POST['Atype']);
@$dept = addslashes($_POST['dept']);
@$municipality = addslashes($_POST['municipality']);
@$zone = addslashes($_POST['zone']);
@$uv = addslashes($_POST['uv']);
@$mza = addslashes($_POST['mza']);
@$lote = addslashes($_POST['lote']);
@$urb = addslashes($_POST['urb']);
@$street = addslashes($_POST['street']);
@$bank = addslashes($_POST['bank']);
@$branch = addslashes($_POST['branch']);
@$officer = addslashes($_POST['officer']);
@$oemail = addslashes($_POST['oemail']);

$to ="my@email.com";
$subject="Contacto desde el Sitio Web";
$message = "$name ha enviado un mensaje desde la web www.mywebsite.com\n"
. "\n"
. "Nombre: $name\n"
. "Apellido: $ci\n"
. "Empresa: $phone\n"
. "Email: $Atype\n"
. "Departamento: $dept\n"
. "Mensaje: $municipality\n"
. "Mensaje: $zone\n"
. "Mensaje: $uv\n"
. "Mensaje: $mza\n"
. "Mensaje: $lote\n"
. "Mensaje: $urb\n"
. "Mensaje: $street\n"
. "Mensaje: $bank\n"
. "Mensaje: $branch\n"
. "Mensaje: $officer\n"
. "Mensaje: $oemail\n"
. "\n";
$headers = "From $oemail\n"
. "Reply-To: $oemail\n";
$headers = "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers = "MIME-Version: 1.0" . "\r\n";

mail($to, $subject, $message, $headers);
?>

// The html form. I used the post method, from index.html

<form action="sendbyemail.php" method="post" id="reused_form">

                <!-- Soliciante -->
                <fieldset>
                    <legend>Datos del solicitante</legend>
                 
                    <!-- Persona Natural -->
                    <div id="natural1">
                        <label for="name">Nombre(s) y Apellido(s) / Razon Social:</label>
                        <input type="text" id="name" name="name" required>
                        <br>
                        <label for="ci">C.I. / N.I.T.:</label>
                        <input type="text" id="ci" inputmode="numeric" name="ci" required>
                        <br>
                        <label for="phone">Teléfono de contacto</label>
                        <input type="text" id="phone" inputmode="numeric" name="phone" required>
                    </div>
                </fieldset>
        
                <!-- T. Valuacion -->
                <fieldset>
        
                    <legend>Valuacion requerida</legend>
        
                    <label for="Atype">Tipo de Avaluo:</label>
                    <select id="Atype" name="Atype">
                        <option value="empty"></option>
                        <option value="Departamento">P. Horizontal</option>
                        <option value="Inmueble">Planta/Galpon Industrial</option>
                        <option value="Inmueble">Maquinaria industrial</option>
                        <option value="Inmueble">Vehiculos - Maq. Pesada</option>
                        <option value="Inmueble">P. rural</option>
                        <option value="Inmueble">Terreno</option>
                        <option value="Inmueble">Vivienda</option>
                        <option value="Inmueble">Obra civil</option>
                        <option value="Inmueble">Otros</option>
                    </select>
                </fieldset>

                <!-- Datos de Ubicacion -->
                <fieldset>
                    <legend>Ubicación del bien</legend>
                    
                    <!-- Departamento -->
                    <label for="dept">Departamento:</label>
                    <select id="dept" name="dept" required>
                        <option value="empty"></option>
                        <option value="beni">Beni</option>
                        <option value="chuquisaca">Chuquisaca</option>
                        <option value="cochabamba">Cochabamba</option>
                        <option value="laPaz">La Paz</option>
                        <option value="oruro">Oruro</option>
                        <option value="pando">Pando</option>
                        <option value="potosi">Potosí</option>
                        <option value="santaCruz">Santa Cruz</option>
                        <option value="tarija">Tarija</option>
                    </select>
                    
                    <!-- Municipio -->
                    <!-- This must be a select option and the options should only appear to the corresponding departament -->
                    <label for="municipality">Municipio:</label>
                    <input type="text" id="municipality" name="municipality" required>
        
                    <!-- Zona -->
                    <label for="zone">Zona:</label>
                    <input type="text" id="zone" name="zone" required>
        
                    <!-- Unidad Vecinal -->
                    <label for="uv">U.V.:</label>
                    <input type="text" id="uv" name="uv" required>
        
                    <!-- Manzano -->
                    <label for="mza">Manazana:</label>
                    <input type="text" id="mza" name="mza" required>
        
                    <!-- Lote -->
                    <label for="lote">Lote:</label>
                    <input type="text" id="lote" name="lote" required>
        
                    <!-- Urbanizacion -->
                    <label for="urb">Urbanización:</label>
                    <input type="text" id="urb" name="urb" required>
        
                    <!-- Avenida o Calle -->
                    <label for="street">Avenida o Calle, Nro:</label>
                    <input type="text" id="street" name="street" required>
        
                </fieldset>
        
                <!-- Entidad Financiera -->
                <fieldset>
                    <legend>Entidad Financiera</legend>
                    
                    <!-- Entidad -->
                    <label for="bank">Entidad:</label>
                    <select id="bank"name="bank">
                        <option value="empty"></option>
                        <option value="bdr">Banco de Desarrollo Productivo S.A.M</option>
                        <option value="bcr">Banco de Crédito de Bolivia S.A.</option>
                        <option value="bec">Banco Económico S.A.</option>
                        <option value="bfs">Banco Fassil S.A</option>
                        <option value="bfo">Banco Fortaleza S.A.</option>
                        <option value="bpr">Banco Prodem S.A.</option>
                        <option value="bun">Banco Union S.A.</option>
                        <option value="pco">Banco Pyme de la Comunidad S.A.</option>
                        <option value="ici">CIDRE IFD</option>
                        <option value="icr">CRECER IFD</option>
                    </select>
        
                    <!-- Agencia -->
                    <label for="branch">Agencia o Sucursal:</label>
                    <input type="text" id="branch" name="branch">
        
                    <!-- Oficial de Credito -->
                    <label for="officer">Oficial de Crédito:</label>
                    <input type="text" id="officer" name="officer">
        
                    <!-- Correo Electrónico (del oficial de credito) -->
                    <label for="oemail">Correo Electrónico:</label>
                    <input type="email" id="oemail" name="oemail">

                    <!-- Copia de correo al usario -->
                    <input type="checkbox" name="emailcopy" id="emailcopy" class="sr-only">
                    <label for="emailcopy" class="sr-only">Deseo recibir una copia de la solicitud</label>      
        
                </fieldset>

                <div id="tocs">
                    <input type="checkbox" name-="tocs" id="tocs" required>
                    <label for="tocs">He leido y acepto la <a href="tocs.html" class="lnk">Política de Privacidad</a> y los <a href="tocs.html" class="lnk"> <i>Términos y Condiciones</i></a> de uso</label>
                </div>

                <!-- Captcha / enviar / reset -->
                <div class="flex-layout01">
                    <div class="sr-only">Captcha</div>     
                    <input type="submit" value="Enviar" class="btn btn-1 buzz-out-on-hover">
                    <button type="reset" class="btn btn-2 buzz-out-on-hover">Reset</button>
                </div>
        
                </form>

I tried to solved by myself reading how php form works and I haven't arrived to an optimal solution. I still do not recive the mail with the user information.

mwg9r5ms

mwg9r5ms1#

1.确保表单已正确配置为将数据发送到PHP脚本。
1.验证表单发送的数据,并确保所有必填字段都存在。
1.使用$_POST数组来存取表单所传送的数据。
1.使用filter_var()函数验证数据。
1.使用mail()函数发送消息。
1.使用错误处理检查表单提交中的任何错误。
1.使用stripslashes()函数从消息中删除任何不需要的字符。
1.使用htmlspecialchars()函数防止任何恶意代码随消息一起发送。
1.使用wordwrap()函数设置消息的格式,以提高可读性。
1.使用header()函数为电子邮件设置正确的内容类型。

相关问题