Foros del Web » Programando para Internet » PHP »

Mandar formulario

Estas en el tema de Mandar formulario en el foro de PHP en Foros del Web. Hola amigos, tengo un formulario hecho y quiero configurar un archivo para que me lleguen las casillas que yo eliga. Digo las casillas que yo ...
  #1 (permalink)  
Antiguo 14/04/2007, 16:48
Avatar de adexedl  
Fecha de Ingreso: julio-2005
Mensajes: 326
Antigüedad: 18 años, 9 meses
Puntos: 2
Mandar formulario

Hola amigos, tengo un formulario hecho y quiero configurar un archivo para que me lleguen las casillas que yo eliga. Digo las casillas que yo elija puesto que los codigos que vienen para que recoga todo lo que sta y lo mande no me sirve puesto que me manda el formulario desordenado. Saludos.
  #2 (permalink)  
Antiguo 14/04/2007, 16:58
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
Re: Mandar formulario

podria ser con un contardor de caracteres escritos...
si el contador está en 0 entoces lo evaluas como nada.

Mas facil aun dale a cada campo el value="", para que cuando el cliente no escriba nada en ellos llegue solo vacio.

Si no respondi tu pregunta, por favor dime y explica mas lo que quieres lograr
__________________
Adios ...!!!!
  #3 (permalink)  
Antiguo 14/04/2007, 18:02
Avatar de aluminates  
Fecha de Ingreso: enero-2007
Ubicación: argentina
Mensajes: 19
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Mandar formulario

Creo que vos queres que se dirijan a tu correo los mensajes que sale de tu web discúlpame si entendí mal pero si entendí bien espero que te sirva
<?php

$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];

$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = 'tu correo;
$asunto = 'Consultas u opiniones';

mail($para, $asunto, utf8_decode($mensaje), $header);
  #4 (permalink)  
Antiguo 14/04/2007, 18:04
Avatar de adexedl  
Fecha de Ingreso: julio-2005
Mensajes: 326
Antigüedad: 18 años, 9 meses
Puntos: 2
Re: Mandar formulario

Hola amigo, ante nada gracias x responder. Mira te explico mejor. En esta pagina http://www.caesar-car.com/prueba/contactar.php puedes ver el ejemplo colgado. Si te fijas lo q me interesaria es que primero me mande El nombre, luego apellidos y asi ... Pues lo que me hace es que me manda primero el nombre y luego la consulta, despues apellidos ... sabes que me lo desordena. Saludos y gracias nuevamente.
  #5 (permalink)  
Antiguo 14/04/2007, 18:51
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Mandar formulario

la verdad te lo manda de esa forma porque lo pasa por orden de aparicion
Código HTML:
<tr>
                  <td width="10%">Nombre:</td>
                  <td width="45%"><label>
                    <input name="Nombre" type="text" class="textoempresa" id="Nombre" size="35" />

                  </label></td>
                  <td width="45%" rowspan="4"><label>
                    <textarea name="Consulta" cols="48" rows="6" class="textoempresa" id="Consulta"></textarea>
                  </label></td>
                </tr>
                <tr>
                  <td>Apellidos:</td>
                  <td><input name="Apellidos" type="text" class="textoempresa" id="Apellidos" size="35" /></td>

                  </tr>
                <tr>
                  <td>E-mail:</td>
<!--esto esta mal para nombre de input E-mail: mejor EMail-->
                  <td><input name="EMail" type="text" class="textoempresa" id="E-mail:" size="35" /></td>
                  </tr>
                <tr>
                  <td>Tel&eacute;fono:</td>
<!--esto esta mal para nombre de input Tel&eacute;fono mejor Telefono-->
                  <td><input name="Telefono" type="text" class="textoempresa" id="Tel&eacute;fono" size="35" /></td>
                  </tr>
                <tr> 
si te fijas en tu código esta primero nombre, luego consulta y sigue asi.
Sin embargo no entiendo, por que la necesidad de que te lo envie en un orden ya que tu lo puedes ordenar al momento de recibir en p.php
Código PHP:
echo $_POST['Nombre']."<br>";
echo 
$_POST['Apellidos']."<br>";
echo 
$_POST['EMail']."<br>";// no es recomendable mejor usa E-mail
echo $_POST['Telefono']."<br>";//no es correcto usar acentos
echo $_POST['Consulta']."<br>"
saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #6 (permalink)  
Antiguo 15/04/2007, 03:55
Avatar de adexedl  
Fecha de Ingreso: julio-2005
Mensajes: 326
Antigüedad: 18 años, 9 meses
Puntos: 2
Re: Mandar formulario

Y en que linae de mi codigo tendria que escribir esto ??? Saludos. Te pongo mi codigo aqui.

<?php
//Copyright © McAnam.com

function form_mail($sPara, $sAsunto, $sTexto, $sDe){

$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";

if ($sDe)$sCabeceras = "From:".$sDe."\n"; else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";

foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;

foreach ($_FILES as $vAdjunto){

if ($bHayFicheros == 0){

$bHayFicheros = 1;

$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";

$sCabeceraTexto = "----_Separador-de-mensajes_--\n";
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";

$sTexto = $sCabeceraTexto.$sTexto;

}

if ($vAdjunto["size"] > 0){

$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";

$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}

}

if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";

return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}

//Ejemplo de como usar:
if (form_mail("[email protected]",
"Activación de formulario",
"Los datos introducidos en el formulario son:\n\n",
"[email protected]"
)
)
echo "Su formulario ha sido enviado con exito";

?>
  #7 (permalink)  
Antiguo 16/04/2007, 08:40
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Mandar formulario

te explico brevemente, esa funcion utiliza un foreach del post formar el texto correspondiente en la salida, eso lo podemos ver aqui
Código PHP:
foreach ($_POST as $sNombre => $sValor)
$sTexto $sTexto."\n".$sNombre." = ".$sValor
por lo tanto, como el post viene descompuesto te lo muestra de la forma como planteabas nombre, consulta, etc.
lo que se me ocurre por el momento es modificar hacer algo como esto:
Código PHP:
//quitar el foreach
//foreach ($_POST as $sNombre => $sValor)
//y colocar todos los campos
$sTexto $sTexto."\n Nombre = ".$_POST['Nombre'];
$sTexto $sTexto."\n Apellido = ".$_POST['Apellidos'];
$sTexto $sTexto."\n E-Mail = ".$_POST['EMail'];
$sTexto $sTexto."\n Telefono = ".$_POST['Telefono'];
$sTexto $sTexto."\n Consulta = ".$_POST['Consulta']; 
suerte y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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 05:27.