Comunidad de diseño web y desarrollo en internet online

Forma de registro

Citar            
MensajeEscrito el 04 Oct 2011 07:35 pm
Que tal, estoy haciendo una forma de registro para realizar visitas a una construccion pero creo que estoy olvidando algo en mi php por que al presionar el boton de enviar solo me postea el contenido del PHP en una ventana nueva, en vez de enviarlo por correo, aquí les adjunto el html y el PHP a ver si alguien me pudiera hechar una mano, por que ya estoy un poco fastidiado.
Muchas gracias por su atencion.

Código PHP :

<?php
   $header .= "Content-Type: text/html; charset=iso-8859-1\n";
   $header .="From: argarcia@\nReply-To:                        webmaster@$server_name\nX-Mailer: 
   PHP/";

      # Esto que viene es el mensaje. (Fíjate en los tags HTML)
      
   $contenido = "Nombre: ".$_POST["nombre"]."\n\n <br>"; 
    $contenido .= "Institución: ".$_POST["institucion"]."\n\n <br>"; 
    $contenido .= "Nivel: ".$_POST["nivel"]."\n\n <br>"; 
   $contenido .= "Mail: ".$_POST["mail"]."\n\n <br>"; 
   $contenido .= "Telefono: ".$_POST["tel"]."\n\n <br>";
    $contenido .= "Frentes de obra a visitar: ".$_POST["frentes"]."\n\n <br>"; 
   $contenido .= "Día: ".$_POST["dia"]."\n\n <br>"; 
   $contenido .= "Mes: ".$_POST["mes"]."\n\n <br>";
   $contenido .= "Hora: ".$_POST["hora"]."\n\n <br>";
   $contenido .= "Visitantes: ".$_POST["visitantes"]."\n\n <br>";
    $contenido .= "Mensaje: ".$_POST["mensaje"]."\n\n <br>"; 
   
   
?>



Código HTML :

 <form action="PHP/visitanos.php" name="form1" method="post">
    <div>
    <table width="500" border="0" cellspacing="5" cellpadding="0" align="center" class="div">
      <tr valign="top">
        <td  colspan="2" align="center" style="color:#FFF; padding:5px;"> Por favor agenda tu visita con una semana de anticipación</td>
        
      </tr>
      <tr>
        <td colspan="2" bgcolor="#70a426" align="center"> Los espacios marcados con " * " son obligatorios</td>
      </tr>


      <tr>
        <td>Nombre de contacto * : </td>
        <td><label for="n_contacto"></label>
        <input name="nombre" type="text" id="nombre" onblur="MM_validateForm('nombre','','R');return document.MM_returnValue" size="30" /></td>
      </tr>
      <tr>
        <td>Nombre de la Institución:</td>
        <td><label for="n_institucion"></label>
        <input type="text" name="institucion" id="institucion" size="30" /></td>
      </tr>
      <tr>
       <td>Nivel:</td>
        <td>
        <select name="nivel" id="nivel">
          <option value="secundaria" selected="selected">Secundaria</option>
          <option value="bachillerato">Bachillerato</option>
          <option value="licenciatura">Licenciatura</option>
          <option value="vecinos">Vecinos</option>
          <option value="otros">Otros</option>
        </select>
        </td>
      </tr>
      <tr>
        <td>Email * :</td>
        <td><label for="email"></label>
        <input name="email" type="text" id="email" onblur="MM_validateForm('email','','RisEmail');return document.MM_returnValue" size="30" /></td>
      </tr>
      <tr>
        <td>Telefono * :</td>
        <td><label for="tel"></label>
        <input name="tel" type="text" id="tel" onblur="MM_validateForm('tel','','RisNum');return document.MM_returnValue" size="15" /></td>
      </tr>
      <tr>
        <td>Frentes de obra a  visitar (Estaciones):</td>
       <td>
           
                <select name="frentes" id="frentes" style="width:150px;">
                  <option value="talleres" selected="selected">Talleres Tlahuac</option>
                  <option value="estaciones">Estaciones</option>
                  <option value="tunel">Tunel</option>
                  <option value="profundo">Tunel profundo</option>
                  <option value="elevado">Seccion elevada</option>
                  <option value="lumbreras">Lumbreras</option>
                  <option value="cualquiera">Cualquiera</option>
                  <option value="otro">Otro</option>
                </select>
        </td>
      </tr>
      <tr>
        <td>Fecha de la visita * :</td>
        <td>
           <table>
            <tr>
                <td>
                    <label for="dia"></label>
                    <input name="dia" type="text" id="dia" title="dd" onblur="MM_validateForm('searchtxt','','RinRange1:31');return document.MM_returnValue" size="2"/>
                </td>
                <td>
         
                <select name="mes" id="mes" style="width:100px;">
                  <option value="enero" selected="selected">Enero</option>
                  <option value="febrero">Febrero</option>
                  <option value="marzo">Marzo</option>
                  <option value="abril">Abril</option>
                  <option value="mayo">Mayo</option>
                  <option value="junio">Junio</option>
                  <option value="julio">Julio</option>
                  <option value="agosto">Agosto</option>
                  <option value="septiembre">Septiembre</option>
                  <option value="octubre">Octubre</option>
                  <option value="noviembre">Noviembre</option>
                  <option value="diciembre">Diciembre</option>
                </select>
               
                </td>
                <td>
                </td>
            </tr>
           </table>
      </tr>
      <tr>
        <td>Horario de la visita * :</td>
        <td>
           <select name="hora" id="hora" style="width:100px;">
                  <option value="10" selected="selected">10:00 am</option>
                  <option value="11">10:30 am</option>
                  <option value="12">11:00 am</option>
                  <option value="13">11:30 am</option>
                  <option value="14">12:00 pm</option>
                  <option value="15">12:30 pm</option>
                  <option value="16">01:00 pm</option>
                  <option value="17">01:30 pm</option>
                  <option value="18">02:00 pm</option>
                </select>
       </td>
      </tr>
      <tr>
        <td>Numero de visitantes * :</td>
        <td>
         <label for="visitantes"></label>
        <input name="visitantes" type="text" id="visitantes" onblur="MM_validateForm('searchtxt','','RisNum');return document.MM_returnValue" size="10" />
             
        </td>    
      <tr>
        <td valign="top" style="padding-top:10px;">Dudas o Comentarios:</td>
        <td><label for="Mensajes">
          <textarea name="mensaje" id="mensaje" cols="30" rows="5"></textarea>
        </span></span></label></td>
      </tr>
      <tr>
        <td colspan="2" align="center">
        <input type="submit" name="send" id="send" value="Enviar" class="btn"/></td>
      </tr>
      <tr>
        <td height="29"></td>
        <td colspan="2"></td>
      </tr>
    </table>
    </div>
    </form>

Por kitsunekei1

86 de clabLevel



 

chrome
Citar            
MensajeEscrito el 04 Oct 2011 08:03 pm
Lo que te falta es colocar la funcion mail() para enviar el email por ejemplo:

Código PHP :

mail('[email protected]','Asunto',$contenido,$header);

Por zarkiel

Claber

340 de clabLevel

4 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Oct 2011 08:25 pm
Es MUY importante que si usas la funcion mail atajes el denominado mail inyection mediante una función muy simple que compruebe los datos que el usuario introduce y de esta forma evitar que se utilice tu servidor php para enviar correo basura

aqui tienes un ejemplo

Código PHP :

<?php
  function ValidarDatos($campo){
    //Array con las posibles cabeceras a utilizar por un spammer
    $badHeads = array("Content-Type:",
                                 "MIME-Version:",
                                 "Content-Transfer-Encoding:",
                                 "Return-path:",
                                 "Subject:",
                                 "From:",
                                 "Envelope-to:",
                                 "To:",
                                 "bcc:",
                                 "cc:");

    //Comprobamos que entre los datos no se encuentre alguna de
    //las cadenas del array. Si se encuentra alguna cadena se
    //dirige a una página de Forbidden
    foreach($badHeads as $valor){
      if(strpos(strtolower($campo), strtolower($valor)) !== false){
        header("HTTP/1.0 403 Forbidden");
        exit;
      }
    }
  }

  //Ejemplo de llamadas a la funcion
  ValidarDatos($_POST['email']);
  ValidarDatos($_POST['asunto']);
  ValidarDatos($_POST['mensaje']);
?> 



suerte

Por bray

65 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Oct 2011 10:02 pm
oooooh s sirvio muchas gracias :D me salvaste la vida :D

Por kitsunekei1

86 de clabLevel



 

chrome
Citar            
MensajeEscrito el 04 Oct 2011 10:25 pm
aunque ahora que lo analizo no deberia haber funcionado por que s para validar datos XD pero hizo las cosas funcionar asi que muchas gracias :D

Por kitsunekei1

86 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.