Foros del Web » Programando para Internet » PHP »

el Formulario me llega vacio

Estas en el tema de el Formulario me llega vacio en el foro de PHP en Foros del Web. Saludos amigos, tengo un problema cuando mando el formulario me llega el correo vacio, he probado el mismo codigo en otro hosting y sale ok, ...
  #1 (permalink)  
Antiguo 29/11/2008, 16:46
 
Fecha de Ingreso: febrero-2008
Mensajes: 21
Antigüedad: 16 años, 2 meses
Puntos: 0
De acuerdo el Formulario me llega vacio

Saludos amigos, tengo un problema cuando mando el formulario me llega el correo vacio, he probado el mismo codigo en otro hosting y sale ok, aqui les mando el codigo:

contacto
<form action="enviado.php" method="post" name="contacto" id="contacto" "multipart/form-data">
<table width="310" border="0" align="center" cellpadding="5" cellspacing="2">
<tr>
<td colspan="2" valign="bottom"><div align="center"><span class="Estilo2">Pongase en contacto con nosotros</span></div></td>
</tr>
<tr>
<td width="82" class="Estilo1">Empresa:</td>
<td width="202"><input name="mempresa" type="text" id="mempresa" size="28" /></td>
</tr>
<tr>
<td class="Estilo1">Nombre:</td>
<td><input name="mnombre" type="text" id="mnombre" size="28" /></td>
</tr>
<tr>
<td class="Estilo1">Email:</td>
<td><input name="mcorreo" type="text" id="mcorreo" size="28" /></td>
</tr>
<tr>
<td class="Estilo1">Teléfono:</td>
<td><input name="mtelefono" type="text" id="mtelefono" size="28" /></td>
</tr>
<tr>
<td class="Estilo1">Consulta:</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<textarea name="mcomentario" cols="35" rows="6" id="mcomentario"></textarea>
</div></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value=" Enviar " />
</div></td>
</tr>
</table>
</form>

enviado.php
<?
$mensaje .="EMPRESA: $mempresa\n";
$mensaje .="NOMBRE: $mnombre\n";
$mensaje .="TELEFONO: $mtelefono\n";
$mensaje .="CONSULTA: $mcomentario\n";

$cabeceras = "From:<$mcorreo>\n";

$body_top = "--Message-Boundary\n";
$body_top .= "Content-type: text/plain;charset=US-ASCII\n";
$body_top .= "Content-transfer-encoding: 7BIT\n";
$body_top .= "Content-description: Mail messagebody\n\n";
$cuerpo = $mensaje;

$destino = "[email protected]";

echo ("<center><b><font size='5' color='#999999' face='Trebuchet MS, Verdana'>");

if (mail($destino,$morigen,$cuerpo,$cabeceras))
{
echo ("Tu Mensaje fue enviado");
} else {
echo ("SE HA PRODUCIDO UN ERROR");
}

echo ("</center></font></b>");

?>

este es el info del servidor:
http://onduline.com.pe/phpinfo.php

Cual podria ser la solución

Gracias
  #2 (permalink)  
Antiguo 29/11/2008, 16:52
 
Fecha de Ingreso: julio-2005
Mensajes: 86
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: el Formulario me llega vacio

¿Has definido las variables $mempresa, $mnombre...?
Para ello, has de definirlas con $mempresa = $_POST["mempresa"]; ... Ya que el formulario es HTML i le insertamos el PHP, por eso, el PHP ha de saber que los datos son enviados a través de POST ( se vé en el <form>).

La próxima vez utiliza la clàusula [ php][/ php] para poner códigos PHP.
  #3 (permalink)  
Antiguo 29/11/2008, 16:59
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: el Formulario me llega vacio

Tiene razon hebo

tienes las register globlas en OFF y es necesario recibor las variables del form con $_POST

Un saludo
  #4 (permalink)  
Antiguo 29/11/2008, 17:31
 
Fecha de Ingreso: febrero-2008
Mensajes: 21
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

saludos le agrege lo q me indicaron no se si lo hice bien

$mensaje .="EMPRESA: $mempresa = $_POST["mempresa"]\n";
$mensaje .="NOMBRE: $mnombre = $_POST["mnombre"]\n";
$mensaje .="TELEFONO: $mtelefono = $_POST["mtelefono"]\n";
$mensaje .="CONSULTA: $mcomentario = $_POST["mcomentario"]\n";

$cabeceras = "From:<$mcorreo> = $_POST["mcorreo"]\n";

lo cargue y me sale una página en blanco y no llega ningun mensaje
  #5 (permalink)  
Antiguo 29/11/2008, 18:39
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: el Formulario me llega vacio

No, asi no esta bien, prueba asi:

Código PHP:
<?php 
//primero recibes las variables del form con POST
$mempresa $_POST["mempresa"];
$mnombre $_POST["mnombre"];
$mtelefono $_POST["mtelefono"];
$mcomentario $_POST["mcomentario"];
$mcorreo $_POST["mcorreo"];

//y ahora incluyes las variables del form en el mensaje
$mensaje .="EMPRESA:"$mempresa ."\n";
$mensaje .="NOMBRE: ".$mnombre." \n";
$mensaje .="TELEFONO:".$mtelefono." \n";
$mensaje .="CONSULTA: ".$mcomentario." \n";

$cabeceras "From:<$mcorreo>\n";


?>
Un saludo
  #6 (permalink)  
Antiguo 29/11/2008, 18:52
 
Fecha de Ingreso: febrero-2008
Mensajes: 21
Antigüedad: 16 años, 2 meses
Puntos: 0
De acuerdo Respuesta: el Formulario me llega vacio

Gracias Jaruno, me salio ok.. otra consulta xfavor le quiero agregar una lista en contactanos.html:

<select name="mlista" id="mlista">
<option>Dpto de Ventas</option>
<option>Dpto de Administracion</option>
<option>Dpto Tecnico y arquitectura</option>
</select>

cuando el usuario seleccione por ejem: "Dpto de ventas" q los datos sean enviados al correo de ventas@..... o si seleccionar Dpto de Administracion q vaya al correo de adminitracion@.....

como podria hacerlo, q tengo q agregarle, muchas gracias
  #7 (permalink)  
Antiguo 29/11/2008, 18:54
 
Fecha de Ingreso: febrero-2008
Mensajes: 21
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Sorry Jaronu
  #8 (permalink)  
Antiguo 29/11/2008, 20:40
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: el Formulario me llega vacio

Pues con un IF,
if($_POST['campo'] == 'talvalor') $remitente = '[email protected]';
  #9 (permalink)  
Antiguo 29/11/2008, 20:49
 
Fecha de Ingreso: noviembre-2008
Ubicación: lima
Mensajes: 148
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Hola mico 1980.
Bueno, para que puedas enviar un correo pon un value a cada opcion de tu lista por ejemplo:
Código PHP:
<select name="mlista" id="mlista">
  <
option value="1">Dpto de Ventas</option>
  <
option value="2">Dpto de Administracion</option>
  <
option value="3">Dpto Tecnico y arquitectura</option>
</
select
De ahi, con un IF.
Código PHP:
if ($_POST['mlista']==1)
{
   
$correo="[email protected]";
}
if (
$_POST['mlista']==2)
{
   
$correo="[email protected]";
}
if (
$_POST['mlista']==3)
{
   
$correo="[email protected]";

Espero, resuelva tu problema.

Saludos
  #10 (permalink)  
Antiguo 01/12/2008, 07:01
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Hola buenas,

estoy intentando poner en práctica este formulario que dejó mico1980 pero el mensaje que envia el php me llega en blanco. He seguido todas las indicaciones pero no doy con ello.

Tambien me gustaría que el mensaje de "tu mensaje fue enviado" aparezca en la misma pantalla donde tengo el formulario, no en una ventana nueva. Cómo puedeo hacerlo?

Gracias
  #11 (permalink)  
Antiguo 01/12/2008, 07:15
 
Fecha de Ingreso: mayo-2005
Ubicación: Muy lejos de aquí
Mensajes: 367
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Quítale el action="enviado.php".

Postea tu código a ver que pasa que no te recoge las variables.
__________________
Saludos!
  #12 (permalink)  
Antiguo 01/12/2008, 07:18
 
Fecha de Ingreso: mayo-2005
Ubicación: Muy lejos de aquí
Mensajes: 367
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Queda más elegante con un switch:

Código PHP:
switch ($_POST['mlista']) {
  case 
1$correo '[email protected]'; break;
  case 
2$correo '[email protected]'; break;
  case 
3$correo '[email protected]'; break;

__________________
Saludos!
  #13 (permalink)  
Antiguo 01/12/2008, 09:53
Avatar de drecker  
Fecha de Ingreso: noviembre-2008
Ubicación: keretarock
Mensajes: 44
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

mira Desprogramadror a mi tambien me aparecio en blanco

pero mi error era que puse en enviado.php nadamas esto

Código PHP:
<?php  
//primero recibes las variables del form con POST 
$mempresa $_POST["mempresa"]; 
$mnombre $_POST["mnombre"]; 
$mtelefono $_POST["mtelefono"]; 
$mcomentario $_POST["mcomentario"]; 
$mcorreo $_POST["mcorreo"]; 

//y ahora incluyes las variables del form en el mensaje 
$mensaje .="EMPRESA:"$mempresa ."\n"
$mensaje .="NOMBRE: ".$mnombre." \n"
$mensaje .="TELEFONO:".$mtelefono." \n"
$mensaje .="CONSULTA: ".$mcomentario." \n"

$cabeceras "From:<$mcorreo>\n";
?>

pero despues vi mi error y es que el codigo deberia de quedar asi

bueno ami me funciono y me quito el error que tu tienes que me mando

el mensaje de php en blanco no se si se tu caso como el mio

pero asi deje mi codigo

Código PHP:
<?
$mempresa 
$_POST["mempresa"]; 
$mnombre $_POST["mnombre"]; 
$mtelefono $_POST["mtelefono"]; 
$mcomentario $_POST["mcomentario"]; 
$mcorreo $_POST["mcorreo"]; 

$mensaje .="EMPRESA: $mempresa\n";
$mensaje .="NOMBRE: $mnombre\n";
$mensaje .="TELEFONO: $mtelefono\n";
$mensaje .="CONSULTA: $mcomentario\n";

$cabeceras "From:<$mcorreo>\n";

$body_top "--Message-Boundary\n";
$body_top .= "Content-type: text/plain;charset=US-ASCII\n";
$body_top .= "Content-transfer-encoding: 7BIT\n";
$body_top .= "Content-description: Mail messagebody\n\n";
$cuerpo $mensaje;

$destino "[email protected]";

echo (
"<center><b><font size='5' color='#999999' face='Trebuchet MS, Verdana'>");

if (
mail($destino,$morigen,$cuerpo,$cabeceras))
{
echo (
"Tu Mensaje fue enviado");
} else {
echo (
"SE HA PRODUCIDO UN ERROR");
}

echo (
"</center></font></b>");

?>
  #14 (permalink)  
Antiguo 01/12/2008, 10:44
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Muchas gracias por vuestras respuestas. Parece que ahora funciona.

Sí me gustaría que me orientárais para ver cómo poner el mensaje de"enviado" en la misma pantalla.

hasta pronto
  #15 (permalink)  
Antiguo 01/12/2008, 10:52
Avatar de drecker  
Fecha de Ingreso: noviembre-2008
Ubicación: keretarock
Mensajes: 44
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

de nada en lo que pueda ayudar uno

y lo mostrar el mensaje de enviado yo ando en eso ya que yo tambien quiero que me aparesca en la misma pantalla pero no puedo hacerlo no me queda ya he intentado muchas formas pero no me sale

ajala alguien mas pueda ayudarnos con eso ya que se mal una pagina en blanco y el mensaje
  #16 (permalink)  
Antiguo 01/12/2008, 11:44
 
Fecha de Ingreso: febrero-2008
Mensajes: 21
Antigüedad: 16 años, 2 meses
Puntos: 0
De acuerdo Respuesta: el Formulario me llega vacio

Gracias a todos, me salio todo ok, aqui les envio el codigo, derepente ha alguien le sirva de ayuda:

Contactanos.html

Código HTML:
<form  action="enviado.php" method="post" name="contacto" id="contacto" "multipart/form-data">
<table width="330" border="0" align="center" cellpadding="5" cellspacing="2">
<tr>
<td colspan="2" valign="bottom"><div align="center"><span class="Estilo2">Pongase en contacto con nosotros</span></div></td>
</tr>
<tr>
<td width="71" class="Estilo1">Empresa:</td>
<td width="233"><input name="mempresa" type="text" class="Estilo1" id="mempresa" size="32" /></td>
</tr>
<tr>
<td class="Estilo1">Nombre:</td>
<td><input name="mnombre" type="text" class="Estilo1" id="mnombre" size="32" /></td>
</tr>
<tr>
<td class="Estilo1">Email:</td>
<td><input name="mcorreo" type="text" class="Estilo1" id="mcorreo" size="32" /></td>
</tr>
<tr>
<td class="Estilo1">Teléfono:</td>
<td><input name="mtelefono" type="text" class="Estilo1" id="mtelefono" size="32" /></td>
</tr>
<tr>
<td class="Estilo1">Area:</td>
<td><label>
<select name="mlista" class="Estilo1" id="mlista">
<option value="1">Dpto. de Ventas</option>
<option value="2">Dpto. de Administración</option>
<option value="3">Dpto. Técnico y Arquitectura</option>
</select>
</label></td>
</tr>
<tr>
<td class="Estilo1">Consulta:</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<textarea name="mcomentario" cols="51" rows="6" class="Estilo1" id="mcomentario"></textarea>
</div></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="Submit" type="submit" class="Estilo1" value="    Enviar    " />
</div></td>
</tr>
</table>
</form> 
enviado.php

Código PHP:
<?php

//Se recogen los datos del formulario para montar el cuerpo del mensaje.
//primero recibes las variables del form con POST 

$mempresa $_POST["mempresa"]; 
$mnombre $_POST["mnombre"]; 
$mtelefono $_POST["mtelefono"]; 
$mcomentario $_POST["mcomentario"]; 
$mcorreo $_POST["mcorreo"]; 
$mlista $_POST["mlista"];

//y ahora incluyes las variables del form en el mensaje 
$mensaje .="EMPRESA:"$mempresa ."\n"
$mensaje .="NOMBRE: ".$mnombre." \n"
$mensaje .="TELEFONO:".$mtelefono." \n"
$mensaje .="CONSULTA: ".$mcomentario." \n"
         

// Se monta la cabecera del mensaje.
         
$cabeceras "From:<$mcorreo>\n";

//Se configuran las propiedades del cuerpo del mensaje
            
$body_top "--Message-Boundary\n";
            
$body_top .= "Content-type: text/plain;charset=US-ASCII\n";
            
$body_top .= "Content-transfer-encoding: 7BIT\n";
            
$body_top .= "Content-description: Mail messagebody\n\n";
          
$cuerpo $mensaje;

/*Se establece el destino del mensaje. que dependera de la opcion de la lista*/

if ($_POST['mlista']==1

   
$destino="[email protected]"

if (
$_POST['mlista']==2

   
$destino="[email protected]"

if (
$_POST['mlista']==3

   
$destino="[email protected]"
}  


         echo (
"<center><b><font size='5' color='#999999' face='Trebuchet MS, Verdana'>");

         if (
mail($destino,$morigen,$cuerpo,$cabeceras))
         {
            echo (
"Tu Mensaje fue enviado");
         } else {
            echo (
"SE HA PRODUCIDO UN ERROR");
         }

       echo (
"</center></font></b>");

 
?>
Bendiciones
  #17 (permalink)  
Antiguo 01/12/2008, 12:33
Avatar de drecker  
Fecha de Ingreso: noviembre-2008
Ubicación: keretarock
Mensajes: 44
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

alguien pudiera ayudarme

a que el mensaje de enviado aparesca en la misma pagina donde esta mi formulario

ojala alguien pueda ayudarme
  #18 (permalink)  
Antiguo 01/12/2008, 14:08
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Cita:
Iniciado por drecker Ver Mensaje
alguien pudiera ayudarme

a que el mensaje de enviado aparesca en la misma pagina donde esta mi formulario

ojala alguien pueda ayudarme
Código PHP:
en la parte del boton del formulario puedes mandar llamar una funcion:

<script>
function mensaje(pag2)
{
alert("informacion enviada!");
document.frm1.action=pag2;
document.frm1.submit();

}
</script>



<html>

<?php 
<form  action="enviado.php" method="post" name="contacto" id="contacto" "multipart/form-data">

........

<
input name="boton" type="button" class="Estilo1" value="    Enviar    " onclick="mensaje('enviado.php');" />

?>

</html>
y al momento de que se le de click al boton te va a mandar el mensaje..

checalo.. no lo probé..
  #19 (permalink)  
Antiguo 01/12/2008, 16:10
 
Fecha de Ingreso: noviembre-2008
Mensajes: 4
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Código PHP:
<?PHP
/**
 *Envia un formulario simple con el nombre de los campos de formulario.
 * @author Alejandro Zanlongo 
 * @example este script tiene que estar dentro de cualquier archivo con extensión .php ej. form.php
Incluye en el mismo archivo la parte HTML
 */

//Si se encuentra presente la variable del formulario 'EnviarForm', comenzar.
if($_POST['EnviarForm']){

    
//Aquí la dirección donde quieras que el form vaya.
    
$formPara="[email protected]";
    
    
//Asunto del Mensaje
    
$formAsunto="Formulario de contacto";
        
    
//archivo donde quieras redirigir al navegante luego de completar el form.
    
$formGracias="gracias.html";

    
//mensaje de agradecimiento. Este mensaje se verá sólo si no se ha definido $formGracias
    
$formGraciasMsg='<script languaje=\'javascrit\'>alert("Gracias por completar el formulario");</script>';
    
    
//Toma todos los datos que están dentro de la SuperGlobal $_POST y crea una variable tipo
    //String para pasarla a la función mail().
    
foreach ($_POST as $key=>$value){
        (
$key!='EnviarForm'?$StrMsj.="$key: $value\n":null);
    }
    
    
//Si no se ha definido la dirección destino $formPara, imprime un mensaje y establece la variable $errForm a 1(true);
    
if(empty($formPara)){
        echo 
'<script languaje=\'javascrit\'>alert("Hey, creo que le has definido la direccion al formulario\n$formPara=\"[email protected]\";");</script>';
        
$errForm=1;
    }
    
    
//Si detecta que $errForm es igual a 1, reconoce que hay un error presente y no intenta enviar
    
if (empty($errForm)){
        if(
mail($formPara,$formAsunto,$StrMsj)){
            
            
//si se ha definido un archivo donde se quiera redirigir el formulario lo hace. De lo contrario imprime el msj de $formGraciasMsg
            
if(!empty($formGracias)){
                echo 
'<script language="javascript">window.location.href="'.$formGracias.'"</script>';
            }else{
                echo 
$formGraciasMsg;
            }
        }
    }
}
?>
Código HTML:
<HTML>
<HEAD>
<TITLE>ChiquiForm</TITLE>
<FORM method="POST" action="">
<!--campos de formulario Comienzo-->

<!-- Puedes copiar los campos que se encuentra aquí debajo tantas veces como datos
necesites que tu formulario envíe. Recuerda cambiar el valor de 'name' no puede haber dos iguales
--> 

<div><LABEL>Nombre:</LABEL><input type="text" name="Nombre"></div>
<div><LABEL>Apellido:</LABEL><input type="text" name="Apellido"></div>
<div><LABEL>Comentarios:</LABEL><TEXTAREA name="Comentarios"></TEXTAREA></div>

<!--campos de formulario Fin-->
<div><input type="submit" name="EnviarForm"></div>
</FORM>
</HEAD>
</HTML> 
  #20 (permalink)  
Antiguo 02/12/2008, 03:33
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Gracias por vuestras aportaciones. Una cosa, para validar al menos el mail, el tfno y el nombre, cómo debo hacerlo? He intentado hacerlo con este script que encontré en el foro pero nada, no sé qué estoy haciendo mal porque no me valida nada. Tambien he visto que dreamweaver tiene una opcion de validar los formularios pero tampoco lo he conseguido...hasta pronto...
Código PHP:
   <script type="text/javascript">
    function 
validar(formulario) {
if (
formulario.mnombre.value.length 4) {
alert("Escriba por lo menos 4 caracteres en el campo "Nombre".");
formulario.nombre.focus();
return (
false);
}
var 
checkOK "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" "abcdefghijklmnñopqrstuvwxyzáéíóú ";
var 
checkStr formulario.nombre.value;
var 
allValid true;
for (
0checkStr.lengthi++) {
ch checkStr.charAt(i);
for (
0checkOK.lengthj++)
if (
ch == checkOK.charAt(j))
break;
if (
== checkOK.length) {
allValid false;
break;
}
}
if (!
allValid) {
alert("Escriba sólo letras en el campo "Nombre".");
formulario.nombre.focus();
return (
false);
}
var 
checkOK "0123456789";
var 
checkStr formulario.edad.value;
var 
allValid true;
var 
decPoints 0;
var 
allNum "";

for (
0checkStr.lengthi++) {
ch checkStr.charAt(i);
for (
0checkOK.lengthj++)
if (
ch == checkOK.charAt(j))
break;
if (
== checkOK.length) {
allValid false;
break;
}
allNum += ch;
}
if (!
allValid) {
alert("Escriba sólo dígitos en el campo "Edad".");
formulario.edad.focus();
return (
false);
}
var 
chkVal allNum;
var 
prsVal parseInt(allNum);
if (
chkVal != "" && !(prsVal >= "18" && prsVal <= "30")) {
alert("Escriba un valor mayor o igual que 18 y menor o igual que 30 en el campo "Edad".");
formulario.edad.focus();
return (
false);
}
if ((
formulario.correo.value.indexOf ('@'0) == -1)||(formulario.correo.value.length 5)) {
alert("Escriba una dirección de correo válida en el campo "Direcci&#243;n de correo".");
return (false);
}
return (
true);
}
</script> 
  #21 (permalink)  
Antiguo 02/12/2008, 07:14
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Kukamonga, he estado probando tu aportación y no me da el resultado que busco.

$formGraciasMsg necesito que siempre aparezca y que aparezca sobre la página que yo quiera que es dónde mandaré al visitante.

Gracias por tu tiempo.

  #22 (permalink)  
Antiguo 03/12/2008, 10:55
Avatar de drecker  
Fecha de Ingreso: noviembre-2008
Ubicación: keretarock
Mensajes: 44
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

psss oye kukamonga si me sirvio tu aporte ya lo arregle amis necesidades

y me funciono a la perfeccionn

bueno me despido gracias

a y por ultimo me podrias explicar estas lineas

lo que pas es lo necesito para explicarlo por el codigo lo tengo en un proyecto

mas que nada por si me preguntan

Código PHP:
foreach ($_POST as $key=>$value){
        (
$key!='EnviarForm'?$StrMsj.="$key: $value\n":null);
    } 
que es foreach que es esta instruccion

espero tu respuesta y disculpa pero soy novato en esto
  #23 (permalink)  
Antiguo 03/12/2008, 20:47
 
Fecha de Ingreso: noviembre-2008
Mensajes: 4
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Hola Drecker:

foreach es constructor que sirve para pasar por cada uno de los registros de una matriz(array).

Por ej: cuando haces clic en enviar formulario todos los campos que este contiene (nombre, telefono, comentario y cualquiera que hayas definido) son pasados en forma de array.

El array es una variable que dentro de si contiene varios valores. Para este caso la variable array donde llegan todos los datos del formulario se llama: $_POST(todos los valores pasados por el método de envío POST)
por ejemplo, si quisiéramos imprimir en pantalla el valor "nombre" que envió nuestro formulario y que ahora es parte en la matriz $_POST, tendríamos que hacerlo de la sig. manera:

Código PHP:
echo $_POST['nombre']; 
El resultado será el nombre que hayamos ingresado en el form. para este campo.

fijate que estoy usando la matriz $_POST agregándo corchetes[] al final, entre los corchetes indiqué cuál es el valor al que quiero acceder, para el caso anterior 'nombre'. Esto que va entre corchetes se llama key(llave).
Si ahora quisiéramos imprimir lo que nos envió el campo "comentario" sólo debemos cambiar el key(llave) por 'comentario' Ej.:

Código PHP:
echo $_POST['comentario']; 
Bien, volviendo a la pregunta original... foreach pasa por cada uno de los registros de esta matriz para realizar algo con los registros.
En el ejemplo que está a continuación verás que se define para todos los valores de
$_POST "devolver" su llave en la variable $key => y el valor de esa llave en va laviable $value.

por ej, nuestro primer ejempo $key='nombre' $value='pepe'(lo que hayamos ingresado en el formulario)
Código PHP:
foreach($_POST as $key=>$value){
   (
$key!='EnviarForm'?$StrMsj.="$key: $value\n":null);

Luego lo que ves dentro de foreach es una condición IF común, a continuación la escribo de otra forma:

Código PHP:
if($key!='EnviarForm'){ // Si $key es distinto a 'EnviarForm' hacer lo siguiente.
   
$StrMsj.="$key: $value\n"//Graba todos los valores como string(cadena) dentro de $StrMsj sin remplazar lo que anteriormente estaba, esto se define con un concatenador .=
}else{ //Sino
    //No hacer nada

Luego la variable $StrMsj es la que se envía por correo.
Intenta lo siguiente, agrega un texto(que no sea comillas o \) luego de $key o antes para probar cual sería el resultado.

Bueno, espero se entienda y te ayude a comprender un poco más el lenguaje.
Saludos,
Alejandro
  #24 (permalink)  
Antiguo 04/12/2008, 12:56
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Drecker, conseguiste que el msj de "enviado" te apareciera en la misma pantalla? a mi no me sale y mira que le estoy dando vueltas y vueltas...
  #25 (permalink)  
Antiguo 04/12/2008, 16:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 4
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Cita:
Iniciado por Desprogramadror Ver Mensaje
Drecker, conseguiste que el msj de "enviado" te apareciera en la misma pantalla? a mi no me sale y mira que le estoy dando vueltas y vueltas...
simplemente pegá el sig. código en la página donde va a ser redirigido el navegante:


Código HTML:
<script language="javascrit">alert("Gracias por completar el formulario");</script> 
y voilà!
  #26 (permalink)  
Antiguo 08/12/2008, 10:07
Avatar de drecker  
Fecha de Ingreso: noviembre-2008
Ubicación: keretarock
Mensajes: 44
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: el Formulario me llega vacio

Desprogramadror ya no segui trabajando en eso


por que el ejemplo que dio kukamonga era lo que yo buscaba
y me funciono perfectamente pero deja veo que puedo hacer ya sea con el primer codigo o con el que dio kukamonga y no habia contestado por el trabajo pero deja veo que puedo hacer
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 03:43.