Comunidad de diseño web y desarrollo en internet online

Formularios

Citar            
MensajeEscrito el 19 May 2011 11:23 pm
Hola!

Espero me puedan ayudar.

Me eh tardado horas con este codigo php para un formulario, honestamente no se ABSOLUTAMENTE NADA de PHP pero entre intentos aqui esta. Ya manda el correo sin problemas con todos los campos llenos, solo que al darle enviar no se como hacerle para que me envie una pagina de confirmacion de elemento enviado, asi como que el mismo formulario verifique que todos los datos esten llenos.

eh intendado de muchas maneras pero con que le mueva tantito, me marca error o me distorsiona todo, espero me puedan orientar de como quedaria o que debo poner y en donde

Gracias!!

Código PHP :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Registro </title>

<link rel="stylesheet" type="text/css" href="view.css" media="all">
<script type="text/javascript" src="view.js"></script>


</head>
<body id="main_body" >
   
   <img id="top" src="top.png" alt="">
   <div id="form_container">
    
      <h1><a>Registro </a></h1>
      <form id="form_170948" class="appnitro"  method="post" action="">
               <div class="form_description">
         <h2>Registro de Asistentes</h2>
         <p></p>
      </div>                  
         <ul >
         
               <li id="li_1" >
      <label class="description" for="element_1">Nombre Asistente </label>
      <span>
         <input id="nombre" name= "nombre" class="element text" maxlength="255" size="8" value=""/>
         <label>Nombre</label>
      </span>
      <span>
         <input id="apellido" name= "apellido" class="element text" maxlength="255" size="14" value=""/>
         <label>
          Apellido</label>
      </span> 
      </li>      <li id="li_7" >
      <label class="description" for="cargo">Cargo en su empresa o farmacia </label>
      <span>
         <input id="element_7_1" name="cargo" class="element radio" type="radio" value="propietario" />
<label class="choice" for="element_7_1">Propietario</label>
<input id="element_7_2" name="cargo" class="element radio" type="radio" value="encargado" />
<label class="choice" for="element_7_2">Engarcado</label>
<input id="element_7_3" name="cargo" class="element radio" type="radio" value="administrador" />
<label class="choice" for="element_7_3">Administrador</label>
<input id="element_7_4" name="cargo" class="element radio" type="radio" value="empleado" />
<label class="choice" for="element_7_4">Empleado</label>

      </span> 
      </li>      <li id="li_2" >
      <label class="description" for="farmacia">Farmacia o Empresa </label>
      <div>
         <input id="farmacia" name="farmacia" class="element text medium" type="text" maxlength="255" value=""/> 
      </div> 
      </li>      <li id="li_3" >
      <label class="description" for="element_3">Domicilio </label>
      
      <div>
         <input id="domicilio" name="domicilio" class="element text large" value="" type="text">
      </div>
   
      <div></div>
   
      <div class="left">
         <input id="ciudad" name="ciudad" class="element text medium" value="" type="text">
         <label for="ciudad">Ciudad</label>
      </div>
   
      <div class="right">
         <input id="estado" name="estado" class="element text medium" value="" type="text">
         <label for="estado">Estado</label>
      </div>
   
      <div class="left">
         <input id="cp" name="cp" class="element text medium" maxlength="15" value="" type="text">
         <label for="cp">Codigo Postal</label>
      </div>
   
      <div class="right"></div>
      </li>      
      <li id="li_4" >
      <label class="description" for="telefono1">Teléfono Farmacia </label>
      <div>
         <input id="telefono1" name="telefono1" class="element text medium" type="text" maxlength="255" value=""/> 
      </div> 
      </li>      <li id="li_5" >
      <label class="description" for="telefono2">Teléfono Particular </label>
      <div>
         <input id="telefono2" name="telefono2" class="element text medium" type="text" maxlength="255" value=""/> 
      </div> 
      </li>      <li id="li_8" >
      <label class="description" for="socio">¿Es socio de Anafarmex? </label>
      <span>
         <input id="element_8_1" name="socio" class="element radio" type="radio" value="Si" />
<label class="choice" for="element_8_1">Si</label>
<input id="socio" name="socio" class="element radio" type="radio" value="No" />
<label class="choice" for="element_8_2">No</label>

      </span> 
      </li>      <li id="li_6" >
      <label class="description" for="numero">Indique su numero de Socio</label>
      <div>
         <input id="numero" name="numero" class="element text medium" type="text" maxlength="255" value=""/> 
      </div><p class="guidelines" id="guide_6"><small>Se encuentra en  parte superior frontal de su credencial de socio</small></p> 
      </li>      <li id="li_9" >
      <label class="description" for="como">¿Como se enteró del evento? </label>
      <div>
      <select class="element select medium" id="como" name="como"> 
         <option value="" selected="selected"></option>
<option value="Pagina de internet" >Pagina de internet de Anafarmex</option>
<option value="Por mail" >Recibi un Email</option>
<option value="Por llamada telefonica" >Recibi una llamada telefonica</option>
<option value="Por correo postal" >Me llego la invitacion por correo postal a mi farmacia</option>
<option value="Fue un promotor a su farmacia" >Un promotor fue a mi farmacia</option>
<option value="Un distribuidor le informo" >Mi distribuidor me informo</option>
<option value="Es invitado especial" >Invitado especial</option>
<option value="Otro" >Otro</option>

      </select>
      </div> 
      </li>      <li id="li_10" >
      <label class="description" for="interesa">¿Le interesaria ser socio? </label>
      <span>
         <input id="element_10_1" name="interesa" class="element radio" type="radio" value="Si" />
<label class="choice" for="element_10_1">Si</label>
<input id="element_10_2" name="interesa" class="element radio" type="radio" value="No" />
<label class="choice" for="element_10_2">No</label>

      </span> 
      </li>
         
               <li class="buttons">
             <input type="hidden" name="form_id" value="170948" />
             <input type=submit value="Enviar"> 
                
</form> 

<? 
    $cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n"; 
    $cuerpo .= "Apellido: " . $HTTP_POST_VARS["apellido"] . "\n"; 
    $cuerpo .= "Cargo: " . $HTTP_POST_VARS["cargo"] . "\n";
   $cuerpo .= "Farmacia: " . $HTTP_POST_VARS["farmacia"] . "\n"; 
    $cuerpo .= "Domicilio: " . $HTTP_POST_VARS["domicilio"] . "\n"; 
    $cuerpo .= "Ciudad: " . $HTTP_POST_VARS["ciudad"] . "\n"; 
   $cuerpo .= "Estado: " . $HTTP_POST_VARS["estado"] . "\n"; 
    $cuerpo .= "C.P.: " . $HTTP_POST_VARS["cp"] . "\n"; 
    $cuerpo .= "Telefono 1: " . $HTTP_POST_VARS["telefono1"] . "\n"; 
   $cuerpo .= "Telefono 2: " . $HTTP_POST_VARS["telefono2"] . "\n"; 
    $cuerpo .= "Es Socio?: " . $HTTP_POST_VARS["socio"] . "\n"; 
    $cuerpo .= "Numero: " . $HTTP_POST_VARS["numero"] . "\n"; 
   $cuerpo .= "Como se entero: " . $HTTP_POST_VARS["como"] . "\n"; 
   $cuerpo .= "Le interesa ser socio: " . $HTTP_POST_VARS["interesa"] . "\n"; 

    //mando el correo... 
    mail("[email protected]","Formulario recibido",$cuerpo); 
   

?> 
</body> 
</html> 

                
                
      </li>
         </ul>
      </form>   
        
      <div id="footer"></div>
   </div>
</form> 
<? 
?> 
</body> 
</html> 

Por dex_ter88

20 de clabLevel



 

msie8
Citar            
MensajeEscrito el 20 May 2011 07:26 am
Esto seria lo mas simple:

Código PHP :

//mando el correo...  
if   (mail("[email protected]","Formulario recibido",$cuerpo))
      header("Location: pagina_confirmacion.php");



Saludos
Rubinhozzz

Por edge

57 de clabLevel



Genero:Masculino  

Software developer

chrome
Citar            
MensajeEscrito el 20 May 2011 05:01 pm

edge escribió:

Esto seria lo mas simple:

Código PHP :

//mando el correo...  
if   (mail("[email protected]","Formulario recibido",$cuerpo))
      header("Location: pagina_confirmacion.php");



Saludos
Rubinhozzz
ya lo hise, y me aparece esto

Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/anafarmex.com.mx/httpdocs/prueba/prueba.php:9) in /var/www/vhosts/anafarmex.com.mx/httpdocs/prueba/prueba.php on line 154
.

Por dex_ter88

20 de clabLevel



 

msie8
Citar            
MensajeEscrito el 20 May 2011 05:34 pm
ese error se debe a que estas haciendo echo's antes de usar la funcion mail. No puedes imprimir a la web nada antes del mail

Por edge

57 de clabLevel



Genero:Masculino  

Software developer

chrome
Citar            
MensajeEscrito el 20 May 2011 05:38 pm

edge escribió:

ese error se debe a que estas haciendo echo's antes de usar la funcion mail. No puedes imprimir a la web nada antes del mail

No.
En primera no es un error, es un aviso (warning). En segunda, la que causa el aviso es la función header(), no la mail(), simplemente porque no se pueden enviar encabezados después de que ya se ha comenzado a enviar el cuerpo de la página.

La solución es que se traslade el código PHP que está después de </form>, ponerlo por encima de <!DOCTYPE...

Aunque eso no solucionaría todos los problemas que tiene este código...

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 20 May 2011 05:43 pm
En si, si es un error, ya que si haces OFF a esos warning, te daras cuenta que la funcion MAIL no funcionara. Lo otro si es cierto, es la funcion header y no mail.

Por edge

57 de clabLevel



Genero:Masculino  

Software developer

chrome
Citar            
MensajeEscrito el 20 May 2011 06:52 pm

edge escribió:

En si, si es un error, ya que si haces OFF a esos warning, te daras cuenta que la funcion MAIL no funcionara. Lo otro si es cierto, es la funcion header y no mail.

segun tengo entendido la funcion mail y header son diferentes,
la funcion mail crea una conexion smtp con la configuracion del php.ini, aparte que esta se ejecuta antes que la funciona header la cual solo trabaja con la pagina de peticion donde se es invocado osea en su formulario
otra cosa

Código PHP :

//mando el correo...   
if   (mail("[email protected]","Formulario recibido",$cuerpo)) 
      header("Location: pagina_confirmacion.php"); 

aunque php soporta bloques identados de codigo es mejor ponerlo en sus respectivos brakets

Código PHP :

//mando el correo...   
if(mail("[email protected]","Formulario recibido",$cuerpo))
{
      header("Location: pagina_confirmacion.php"); 
}

o si no los alternativos

Código PHP :

//mando el correo...   
if(mail("[email protected]","Formulario recibido",$cuerpo)):
      header("Location: pagina_confirmacion.php");
endif;

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox

 

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