Foros del Web » Programando para Internet » PHP »

Problemas con formulario php

Estas en el tema de Problemas con formulario php en el foro de PHP en Foros del Web. Hola Amigos. Un problema simple para las mentes diestras. He hecho un formulario en dos partes una html y otra en php donde aparecen los ...
  #1 (permalink)  
Antiguo 18/10/2006, 11:02
 
Fecha de Ingreso: octubre-2003
Ubicación: Murcia
Mensajes: 128
Antigüedad: 20 años, 6 meses
Puntos: 0
Problemas con formulario php

Hola Amigos. Un problema simple para las mentes diestras.
He hecho un formulario en dos partes una html y otra en php donde aparecen los datos del formulario rellenado. Tengo problemas porque ni aparece los datos en la pagina en php y ni me llega el correo.

Estas son las etiquetas del formulario:

<td width="472" height="721" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="474" height="721" valign="top">
<div><form action="04_contacto_01.php" method="post" >
<div class="texto_blanco"><strong>Empresa:</strong></div>
<div style="padding-bottom:5px"><input name="empresa" id="empresa" type="text" class="form" /></div>
<div class="texto_blanco"><strong>Persona de contacto:</strong></div>
<div style="padding-bottom:5px"><input name="persona" id="persona" type="text" class="form" /></div>
<div class="texto_blanco"><strong>Direcci&oacute;n de env&iacute;o: </strong></div>
<div style="padding-bottom:5px"><input name="envio" id="envio" type="text" class="form" /></div>
<div class="texto_blanco"><strong>C&oacute;digo Postal: </strong></div>
<div style="padding-bottom:5px"><input name="codigo" id="codigo" type="text" class="form" /></div>
<div class="texto_blanco"><strong>Poblaci&oacute;n: </strong></div>
<div style="padding-bottom:5px"><input name="poblacion" id="poblacion" type="text" class="form" /></div>
<div class="texto_blanco"><strong>Tel&eacute;fono: </strong></div>
<div style="padding-bottom:5px"><input name="telefono" id="telefono" type="text" class="form" /></div>
<div class="texto_blanco"><strong>Fax: </strong></div>
<div style="padding-bottom:5px"><input name="fax" id="fax" type="text" class="form" /></div>
<div class="texto_blanco"><strong>Email: </strong></div>
<div style="padding-bottom:5px"><input name="email" id="email" type="text" class="form" /></div>
<div class="texto_blanco"><strong>Web: </strong></div>
<div style="padding-bottom:5px"><input name="web" id="web" type="text" class="form" /></div>
<div class="texto_blanco"><strong>Mensaje:</strong></div>
<div><textarea name="mensaje" id="mensaje" class="form_textera"></textarea></div>
<div align="center" style="padding-top:10px"><input name="enviar" type="submit" id="enviar" value="Enviar"></div>
</form></div></td>
</tr>
</table></td>


Y esta es la parte en PHP:

<?
$msg = "ESTOS SON LOS DATOS RECIBIDOS:\n";
$msg .= "Empresa: $empresa\n";
$msg .= "Persona de contacto: $persona\n";
$msg .= "Direccion de envio: $envio\n";
$msg .= "Código Postal: $codigo\n";
$msg .= "Población: $poblacion\n";
$msg .= "Teléfono: $telefono\n";
$msg .= "Fax: $fax\n";
$msg .= "Email: $email\n";
$msg .= "Web: $web\n";
$msg .= "Mensaje: $mensaje\n\n";

$to = "[email protected]";
$subject = "Contacto";
$mailheaders = "From: Tiene nuevos contactos <> \n";
$mailheaders .= "Reply-To: $empresa\n\n";

mail($to, $subject, $msg, $mailheaders);
?>


Más abajo aparecen los datos rellenados de esta forma:

<td width="293" valign="top"><? echo "$empresa"; ?> </td>

El tema es que esta misma programacion la he realizado en otras webs y si pirula, pero solo rellenando 3 campos; empresa, email, mensaje.

Como vereis esta tiene muchos mas campos para rellenar y quizas sea por eso que no funcione como dios manda.

Me podeis ayudar?, Muchas gracias¡¡¡
  #2 (permalink)  
Antiguo 18/10/2006, 11:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No deberías acceder a tus variables que vienen del formulario HTML como "globales" ... es decir tipo: $empresa. Debes usar los arrays supergloblales:

$_POST['empresa'] (si es que usastes como method en tu formulario POST ... o $_GET si usastes GET ..) y así con el resto.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 19/10/2006, 01:41
 
Fecha de Ingreso: octubre-2003
Ubicación: Murcia
Mensajes: 128
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias Cluster.. voy a probar a ver si pirula esto..
  #4 (permalink)  
Antiguo 19/10/2006, 02:44
 
Fecha de Ingreso: octubre-2003
Ubicación: Murcia
Mensajes: 128
Antigüedad: 20 años, 6 meses
Puntos: 0
Bueno. pues lo he probado como tu digistes y sigo teniendo el mismo error....

Conoceis otra forma de enviar un email, con el mismo sistema? osea, un html para rellenar datos y un php donde apazcan los dato rellenado y el correspondiente envio del email?
  #5 (permalink)  
Antiguo 19/10/2006, 05:09
 
Fecha de Ingreso: octubre-2003
Ubicación: Murcia
Mensajes: 128
Antigüedad: 20 años, 6 meses
Puntos: 0
Seguimos con el formularo de los...

Por favor... alguien me puede decir que le ocurre a esto que no va bien:

Código PHP:
<?php
$msg 
"ESTOS SON LOS DATOS RECIBIDOS:\n";
$msg.=$_POST['empresa'];
$msg.=$_POST['persona'];
$msg.=$_POST['envio'];
$msg.=$_POST['codigo'];
$msg.=$_POST['poblacion'];
$msg.=$_POST['telefono'];
$msg.=$_POST['fax'];
$msg.=$_POST['mail'];
$msg.=$_POST['web'];
$msg.=$_POST['mensaje'];

$email"[email protected]";
$asunto "Contacto";
$mailheaders "From: Tiene nuevos contactos <> \n";
$mailheaders .= "Reply-To: Nuevo mensaje\n\n";

mail($email$asunto$msg$mailheaders);
?>
-----------------------

Código PHP:
<tr>
            <td width="177" height="19" align="right" valign="top"><div class="texto_blanco">Empresa:</div></td>
            <td width="293" valign="top"><?php echo $_POST['empresa']; ?></td>
            <td width="2"></td>
          </tr>
-----------------
la parte html es esta:


Código PHP:
<td width="474" height="721" valign="top">
              <
div><form  action="04_contacto_02.php" method="POST" name="formulario" id="formulario" >
                <
div class="texto_blanco"><strong>Empresa:</strong></div>
                  <
div style="padding-bottom:5px"><input  name="empresa"  type="text" class="form" /></div>
                  <
div class="texto_blanco"><strong>Persona de contacto:</strong></div>
                  <
div style="padding-bottom:5px"><input  name="persona"  type="text" class="form" /></div>
                  <
div class="texto_blanco"><strong>Direcci&oacute;n de env&iacute;o: </strong></div>
                  <
div style="padding-bottom:5px"><input  name="envio" type="text" class="form" /></div>
                  <
div class="texto_blanco"><strong>C&oacute;digo Postal: </strong></div>
                  <
div style="padding-bottom:5px"><input  name="codigo"  type="text" class="form" /></div>
                  <
div class="texto_blanco"><strong>Poblaci&oacute;n: </strong></div>
                  <
div style="padding-bottom:5px"><input  name="poblacion"  type="text" class="form" /></div>
                  <
div class="texto_blanco"><strong>Tel&eacute;fono: </strong></div>
                  <
div style="padding-bottom:5px"><input  name="telefono"  type="text" class="form" /></div>
                  <
div class="texto_blanco"><strong>Fax: </strong></div>
                  <
div style="padding-bottom:5px"><input  name="fax"  type="text" class="form" /></div>
                  <
div class="texto_blanco"><strong>Email: </strong></div>
                  <
div style="padding-bottom:5px"><input  name="email"  type="text" class="form" /></div>
                  <
div class="texto_blanco"><strong>Web: </strong></div>
                  <
div style="padding-bottom:5px"><input  name="web"  type="text" class="form" /></div>
                  <
div class="texto_blanco"><strong>Mensaje:</strong></div>
                  <
div><textarea name="mensaje"   class="form_textera"></textarea></div>
                  <
div align="center" style="padding-top:10px"><input name="enviar" type="submit"  value="Enviar"></div>
                </
form></div></td

Me estoy rompiendo la sesera, buscando informacion, y no hay manena.

Ni me envia el email, y ni rellena los datos en la parte php.

Última edición por Cluster; 19/10/2006 a las 06:58
  #6 (permalink)  
Antiguo 19/10/2006, 05:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Shargo Ver Mensaje
Bueno. pues lo he probado como tu digistes y sigo teniendo el mismo error....

Conoceis otra forma de enviar un email, con el mismo sistema? osea, un html para rellenar datos y un php donde apazcan los dato rellenado y el correspondiente envio del email?
A ver .. no se trata de "probar cosas y dejar ahí el tema" .. Se trata de evaluar el problema.

Yo no sé que pruebas haces tú para averigüar un problema en tu código (al parecer ninguna).

No indicas el código que usastes (completo ).. yo sólo te dí una recomendación .. no sé como lo aplicastes. Tampoco indicas si verificas antes de enviar tu e-mail si tu $msg tiene el valor esperado, es decir, ... tu texto + variables con sus valores representados. Tampoco se vé tu formulario HTML completo .. además que todo ese "HTML" de definición de tus tablas HTML no importa para este problema y enreda más el código, aisla lo que nos interesa: el formulario HTML en sí .. sus campos, su definición .. etc.

Esto sería "evaluar el problema" y es lo que debes hacer siempre .. no cruzarte de brazos y esperar otro código!. Lo que pretendo es que "aprendas" a evaluar un problema o por lo menos "acotar" el problema para hacer preguntas más directas y enfocadas al problema real.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 19/10/2006, 07:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Vamos por partes:

Supongo que 04_contacto_02.php será el código que expones primero .. No sé que o a qué pertenece el 2° bloque de código que indicas .. Por favor, no pongas código fuera de contexto o indica textualmente a que "scripts" (nombre) pertenecen para que no nos confundamos!.

** Haces un echo a $msg para ver que obtienes?

** Por qué no indicas una dirección de e-mail en:
Código PHP:
$mailheaders "From: Tiene nuevos contactos <> \n"
algo tipo:
Código PHP:
$mailheaders "From: [email][email protected][/email]\n"
** Que versión de PHP usas? .. no sea que uses una versión 4.0.x nomeacuerdo o inferior donde no existían los arrays superglobales $_POST y afines ...

Un saludo,

PD: Uní ambos temas .. usé el botón "PHP" para que quede el código más "legible" como ahora veras.
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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:01.