Foros del Web » Programando para Internet » PHP »

ayuda con formulario php porfavor :)

Estas en el tema de ayuda con formulario php porfavor :) en el foro de PHP en Foros del Web. bueno estoy haciendo un formulario, el cual se me manda al mail, pero lo que pasa es que no me aparecen los datos, tengo dos ...
  #1 (permalink)  
Antiguo 26/08/2008, 17:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
ayuda con formulario php porfavor :)

bueno estoy haciendo un formulario, el cual se me manda al mail, pero lo que pasa es que no me aparecen los datos, tengo dos archivos uno es

formulario.php y contien lo siguinete
Código:
<!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>Formulario</title>
</head>
<body bgcolor="#303030">
<body text="#E5E5E5">
<font face="tahoma">
<font face = "2">
<body link="#e5e5e5" vlink="#e0e0e0">
<p align="center"><body>
<strong> Formulario de contacto</strong>
<br /><br />
Inserte los datos que acontinuacion se solicitan y en breve nos pondremos en contacto con usted.
<form name="contacto" method="post" action="contacto.php">
<table width="90%" border="2" align="center" bordercolor="#ccccccc">
<tr>
<td width="15%"><p><strong>Nombre:</strong></p></td>
<td colspan="3"><input name="nombre" type="text" value="" size="109">
</td>
</tr>
<tr>
<td><p><strong>Direccion:</strong></p></td>
<td colspan="3"><input name="apellidos" type="text" size="109">
</td>
</tr>
<tr>
<td width="15%"><p>
<strong>Localidad:</strong></p></td>
<td width="25%">
<input name="localidad" type="text" size="36">
</td>
<td width="15%"><p>
<strong>Provincia:</strong>
</p></td>
<td width="25%">
<input name="provincia" type="text" size="36" />
</td>
</tr>
<tr>
<td>
<p>
<strong> Telefono:</strong>
</p>
</td>
<td><input name="telefono" type="text" size="36" />
</td>
<td>
<p>
<strong>E-mail:</strong>
</p></td>
<td>
<input name="email" type="text" size="36" />
</td>
</tr>
</table>
<p align="center">
<input type="submit" name="Submit" value="Enviar datos" />
</p>
</form>



</body>
</html>
El otro es contacto.php y trae lo siguiente
Código:
<!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>contacto</title></head>
<body bgcolor="#303030">
<body text="#e5e5e5">
<font face="tahoma">
<font size="2">
<body link="#e5e5e5" vlink="e0e0e0">
<p align="center">

<strong>Su mensaje ha sido enviado. en breve contactaremos con usted.</strong></p>
<p align="center"><strong>Gracias!</strong></p>
<p align="center">&nbsp;</p>

<?
$fecha=date("d-m-y");
$hora=date("H:i");
$destinatario="[email protected]";

$asunto="Contacto de cliente";
echo"<br><br><br>";
echo"Compruebe si su datos son correctos, de lo contario pulse en <a href=formulario.php>Volver</a>";
echo"$nombre";
$texto=
"Nombre:"."\n".$nombre."<br>".
"Apellidos:"."\n".$apellidos."<br>".
"Direccion:"."\n".$direccion."<br>".
"Localidad:"."\n".$localidad."<br>".
"Provincia:"."\n".$provincia."<br>".
"Telefono:"."\n".$telefono."<br>".
"Email:"."\n".$email."<br>".
"Fecha:"."\n".$fecha."<br>".
"Hora:"."\n".$hora;

echo "<br><br><br>";
echo $texto;
echo "<br><br>";
mail ($destinatario,$asunto,$texto);
?>







</html>
Y bueno en mi mail recibo:
Asunto: contacto del cliente
y eso en el cuerpo
Nombre:
<br>Apellidos:
<br>Direccion:
<br>Localidad:
<br>Provincia:
<br>Telefono:
<br>Email:
<br>Fecha:26-08-08
<br>Hora:16:22

aun llenando los campos en formulario, no se reflejan a la hora de ver el correo

Espero me puedan ayudar muchisimas gracias!!
  #2 (permalink)  
Antiguo 26/08/2008, 17:41
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: ayuda con formulario php porfavor :)

Pusiste el mismo codigo :P
Edita el mensaje con el codigo correcto para poder ayudarte.
  #3 (permalink)  
Antiguo 26/08/2008, 17:44
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: ayuda con formulario php porfavor :)

lo siento ya lo edite muchas gracias en adelantado
  #4 (permalink)  
Antiguo 26/08/2008, 17:56
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: ayuda con formulario php porfavor :)

Lo que pasa es que supones que register_globals esta ON.

Tienes que poner:
$nombre = $_POST['nombre'];
$apellidos = $_POST['apellidos'];
etc etc etc ...

Antes de usar dichas variables
  #5 (permalink)  
Antiguo 26/08/2008, 18:04
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: ayuda con formulario php porfavor :)

y como puedo poner el register_globals on??
muchas gracias por tu respuesta, en caso de wque no pudiera puedo poner
$nombre = $_POST['nombre'];
y sale? muchisimas gracias

edit ya vi que poniendo como me has dicho:
$nombre = $_POST['nombre'];
Si sale pero solo sale el nombre asi

elnombre
pero quieira que tuviera el formato

Nombre: elnombre
me podrias decir, muchas gracias

Última edición por mega0079; 26/08/2008 a las 18:12
  #6 (permalink)  
Antiguo 26/08/2008, 18:13
 
Fecha de Ingreso: julio-2008
Ubicación: Trujillo
Mensajes: 58
Antigüedad: 15 años, 9 meses
Puntos: 1
De acuerdo Respuesta: ayuda con formulario php porfavor :)

Lo que dice Ronruby es cierto, debe salir teniendo en cuenta los campos name de los INPUTS que usaste en Formulario.php, eso es porque estas usando el metodo POST enviando los valores a Contacto.php, entonces deberia de ser asi:

Primero que nada date cuenta en tu Formulario.php que en Direccion el campo input tiene el name=apellidos, para que no haya confusiones.

Código PHP:
$asunto="Contacto de cliente";
echo
"<br><br><br>";
echo
"Compruebe si su datos son correctos, de lo contario pulse en <a href=formulario.php>Volver</a>";
echo
"$nombre";
$texto=
"Nombre:"."\n".$_POST["nombre"]."<br>".
"Apellidos:"."\n".$_POST["apellidos"]."<br>".
"Direccion:"."\n".$_POST["direccion"]."<br>".
"Localidad:"."\n".$_POST["localidad"]."<br>".
"Provincia:"."\n".$_POST["provincia"]."<br>".
"Telefono:"."\n".$_POST["telefono"]."<br>".
"Email:"."\n".$_POST["email"]."<br>".
"Fecha:"."\n".$_POST["fecha"]."<br>".
"Hora:"."\n".$_POST["hora"];

echo 
"<br><br><br>";
echo 
$texto;
echo 
"<br><br>";
mail ($destinatario,$asunto,$texto); 
Con eso bastaria para que funcione tu pagina contacto.php
  #7 (permalink)  
Antiguo 26/08/2008, 18:18
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: ayuda con formulario php porfavor :)

GENIAL!! :D muchisimas gracias a ambos, el codigo ha servido muchas muchas gracias :D si os sirve de algo le dare una premium de RS como agradecimiento :P envio por mp grax
  #8 (permalink)  
Antiguo 26/08/2008, 19:20
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: ayuda con formulario php porfavor :)

perdon por el doble post es para que me puedan leer de nuevo

en mi formulario.php quiero agregar un list/menu (un menu desplegable) el codigo k me genera es:
Código PHP:
  <select name="productos" id="productos">
          <
option>Hoja membretada </option>
          <
option>Sobre bolsa </option>
          <
option>Sobre bolsa 2 </option>
          </
select
y quisiera que se viera dentro del mail intente ponerlo como los demas

$texto=
"Nombre:"."\n".$nombre."<br>".
"Apellidos:"."\n".$apellidos."<br>".
"Direccion:"."\n".$direccion."<br>".
"Producto:"."\n".$producto."<br>".

Pero no lo registra el campo aparece e blanco como puedo hacer para que me aparesca la opcion que el usuario ah escogido grax
  #9 (permalink)  
Antiguo 26/08/2008, 19:26
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: ayuda con formulario php porfavor :)

Es porque a cada Option tienes que darle un "value".

Seria dela siguiente manera:

Código PHP:
  <select name="productos" id="productos">
          <
option value="Hoja_membretada">Hoja membretada </option>
          <
option value="Sobre_bolsa">Sobre bolsa </option>
          <
option value="Sobre_bolsa_2">Sobre bolsa 2 </option>
          </
select>  
//el value puede contener espacios si lo deseas 
Lo que esta entre las etiquetas <option> y </option> es solo para visualizacion.
El $_POST procesa el value de dichas etiquetas.

Última edición por Ronruby; 26/08/2008 a las 19:36
  #10 (permalink)  
Antiguo 26/08/2008, 20:44
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: ayuda con formulario php porfavor :)

muchas gracias!!:D
  #11 (permalink)  
Antiguo 26/08/2008, 21:25
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: ayuda con formulario php porfavor :)

otra cosa mas ((sorry)
cuando la info me llega al mail me llega asi:

Código:
Nombre:
nombre<br>Empresa:
empresa<br>Apellido:
apellido<br>Telefono:
tel<br>Email:
[email protected]<br>Cantidad:
678<br>Producto:
Hoja membretada <br>Fecha:
26-08-08<br>Hora:
20:13
lo que esta en rojo es lo que capturo en el formulario y quisiera que se viera asi
Nombre: nombre
Empresa: empresa
Apellido:apellido
Telefono:tel
Email:[email protected]
Cantidad:678
Producto:Hoja membretada
Fecha:26-08-08
Hora:20:13

El codigo que tengo actrualmente en el contacto.php
Código PHP:
<?
$fecha
=date("d-m-y");
$hora=date("H:i");
$destinatario="[email protected]";

$asunto="Contacto de cliente";
echo
"<br><br><br>";
echo
"Compruebe si su datos son correctos, de lo contario pulse en <a href=formulario.php>Volver</a>";

$texto=
"Nombre:"."\n".$_POST["nombre"]."<br>".
"Empresa:"."\n".$_POST["empresa"]."<br>".
"Apellido:"."\n".$_POST["apellido"]."<br>".
"Telefono:"."\n".$_POST["telefono"]."<br>".
"Email:"."\n".$_POST["email"]."<br>".
"Cantidad:"."\n".$_POST["cantidad"]."<br>""Producto:"."\n".$_POST["producto"]."<br>".
"Fecha:"."\n".$fecha."<br>".
"Hora:"."\n".$hora;

echo 
"<br><br><br>";
echo 
$texto;
echo 
"<br><br>";
mail ($destinatario,$asunto,$texto);  
?>
gracias desde ya
  #12 (permalink)  
Antiguo 26/08/2008, 21:58
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: ayuda con formulario php porfavor :)

Tienes:
"Nombre:"."\n".$nombre."<br>".
"Apellidos:"."\n".$apellidos."<br>".
"Direccion:"."\n".$direccion."<br>".
"Producto:"."\n".$producto."<br>".

En la funcion mail los saltos de linea son representados por \n.
Solo reemplaza los <br> por \n.
y elimina los \n que tienes entre Nombre y $nombre

Queria algo como:
"Nombre: ".$nombre."\n".
ETC
ETC
  #13 (permalink)  
Antiguo 26/08/2008, 22:28
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: ayuda con formulario php porfavor :)

gracias me quedo asi y funcion gracias
Código PHP:

$texto
=
"Nombre:".$_POST["nombre"]."<br>"."\n".
"Empresa:".$_POST["empresa"]."<br>"."\n".
"Apellido:".$_POST["apellido"]."<br>"."\n".
"Telefono:".$_POST["telefono"]."<br>"."\n".
"Email:".$_POST["email"]."<br>"."\n".
"Cantidad:".$_POST["cantidad"]."<br>"."\n".
"Producto:".$_POST["producto"]."<br>"."\n".
"Fecha:"."\n".$fecha."<br>"."\n".
"Hora:"."\n".$hora
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:29.