Foros del Web » Programando para Internet » PHP »

ayuda con un formulario.

Estas en el tema de ayuda con un formulario. en el foro de PHP en Foros del Web. Buenas , necesito ayuda con un formulario , no es muy largo solo tendria ,nombre,telefono,e-mail e informacion requerida lo tengo echo y funciona bien , ...
  #1 (permalink)  
Antiguo 26/01/2009, 10:24
 
Fecha de Ingreso: septiembre-2003
Mensajes: 288
Antigüedad: 20 años, 7 meses
Puntos: 0
De acuerdo ayuda con un formulario.

Buenas , necesito ayuda con un formulario , no es muy largo solo tendria ,nombre,telefono,e-mail e informacion requerida lo tengo echo y funciona bien , pero la complicacion para mi viene ahora que el cliente me ha dicho que ese mismo formulario le gustaria que tuviera un desplegable con diferentes departamentos y que al enviar el correo fuera a ese departamente que estuviera en el desplegable, pero ni idea a ver si alguien me puede echar un cable.gracias y un salu2.
  #2 (permalink)  
Antiguo 26/01/2009, 10:34
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: ayuda con un formulario.

Bueno, podría sugerir algo, haz la lista desplegable de este modo:

<select name="departamento">
<option value="[email protected]">Departamento1</option>
...
...
</select>

Coge entonces el valor del campo departamento haz que ese sea el correo al cual se envíe el mensaje, así de simple.
  #3 (permalink)  
Antiguo 26/01/2009, 10:35
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 2 meses
Puntos: 27
Respuesta: ayuda con un formulario.

y hay una tabla que contiene los departamentos?

o los valores se introducen manualmente, ya que para un combobox o desplegable

lo puedes cargar manualmente o obtener los datos a traves de una consulta y que lo vaya guardando como los valores que tendra el desplegable

salu2
  #4 (permalink)  
Antiguo 26/01/2009, 10:49
Avatar de JoniJnm  
Fecha de Ingreso: mayo-2007
Ubicación: Madrid
Mensajes: 264
Antigüedad: 16 años, 11 meses
Puntos: 4
Respuesta: ayuda con un formulario.

Haces un select con sus opciones:
Código PHP:
<select name="departamento">
    <
option value="[email protected]">Quejas</option>
    <
option value="[email protected]">Soporte t&#233;cnico</option>
    
<option value="[email protected]">Otros</option>
</
select
Y luego, en el archivo php a dónde se dirige el formulario pones a dónde quieres que se envie:

Código PHP:
mail($_POST['departamento'], $_POST['asunto'], $_POST['mensaje']); 
__________________
JoniJnm.es
  #5 (permalink)  
Antiguo 26/01/2009, 12:49
 
Fecha de Ingreso: septiembre-2003
Mensajes: 288
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: ayuda con un formulario.

gracias por contestar yo tenia algo asi no se si este codigo me valdria ya o tendria que hacerlo de nuevo aqui lo pongo:

codigo php:
Cita:
<?
/* aqui se incializan variables de PHP */
if (phpversion() >= "4.2.0") {
if ( ini_get('register_globals') != 1 ) {
$supers = array('_REQUEST',
'_ENV',
'_SERVER',
'_POST',
'_GET',
'_COOKIE',
'_SESSION',
'_FILES',
'_GLOBALS' );

foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
} else {
if ( ini_get('register_globals') != 1 ) {

$supers = array('HTTP_POST_VARS',
'HTTP_GET_VARS',
'HTTP_COOKIE_VARS',
'GLOBALS',
'HTTP_SESSION_VARS',
'HTTP_SERVER_VARS',
'HTTP_ENV_VARS'
);

foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
}

/* DE AQUI EN ADELANTE PUEDES EDITAR EL ARCHIVO */

if($email=="")
{
/* reclama si no se ha rellenado el campo email en el formulario */
echo "<script languaje=javascript>".
"alert(\"¡¡¡¡EL E-MAIL NO ES CORRECTO!!!!\");".
"location.href=\"contactar.html\";".
"</script>";

}

/* aquí se especifica la pagina de respuesta en caso de envío exitoso */
$respuesta="respuesta.htm";
// la respuesta puede ser otro archivo, en incluso estar en otro servidor

/* AQUÍ ESPECIFICAS EL CORREO AL CUAL QUEIRES QUE SE ENVÍEN LOS DATOS
DEL FORMULARIO, SI QUIERES ENVIAR LOS DATOS A MÁS DE UN CORREO,
LOS PUEDES SEPARAR POR COMAS */
$para ="[email protected]";

/* AQUI ESPECIFICAS EL SUJETO (Asunto) DEL EMAIL */
$sujeto = "Formulario de Informacion Solicitada";

/* aquí se construye el encabezado del correo, en futuras
versiones del script explicaré mejor esta parte */
$encabezado = "From: $nombre <$email>";
$encabezado .= "\nReply-To: $email";
$encabezado .= "\nX-Mailer: PHP/" . phpversion();

/* con esto se captura la IP del que envío el mensaje */
$ip=$REMOTE_ADDR;

/* las siguientes líneas arman el mensaje */
$mensaje .= "NOMBRE: $nombre\n";
$mensaje .= "Telefono: $telefono\n";
$mensaje .= "EMAIL: $email\n";
$mensaje .= "COMENTARIOS: $comentarios\n";


/* aqui se intenta enviar el correo, si no se
tiene éxito se da un mensaje de error */
foreach($para as $email_destino){
if(!mail($email_destino, $sujeto, $mensaje, $encabezado))
}

{
echo "<script languaje=javascript>".
"alert(\"THE MESSAGE COULD NOT BE COMMANDED!!!!\");".
"location.href=\"contactar.html\";".
"</script>";

}
else
{
/* aqui redireccionamos a la pagina de respuesta */
echo "<script languaje=javascript>".
"alert(\"Su Mensaje se ha enviado Correctamente!!!!\");".
"location.href=\"../index.html\";".
"</script>";
}

?>
y este seria el codigo html:
Cita:
<img src="http://www.forosdelweb.com/f18/imagenes/contactar .jpg" width="760" height="576" />
<FORM METHOD="GET" ACTION="file:///E|/paginas webs 9_12_2007/club jarapalo/html/enviacorreo.php">
<div id="Layer2">
<input name="nombre" type="text" id="nombre" size="42" class="tempo" />
</div>
<div id="Layer3">
<input name="telefono" type="text" id="telefono" size="42" maxlength="9" class="tempo" />
</div>
<div id="Layer4">
<input name="email" type="text" id="email" size="42" class="tempo" />
</div>
<div id="Layer5">
<textarea name="comentarios" cols="65" rows="7" id="comentarios" class="tempo"></textarea>
</div>
<div id="Layer6">
<label>
<select name="enviar" size="1" id="enviar">
<option value="enviar">Presidente</option>
<option value="enviar">oficina</option>
<option value="enviar">Tesorer&iacute;a</option>
</select>
</label>
</div>
<div id="Layer8">
<input name="limpiar" type="reset" id="limpiar" value="Limpiar " />
</div>


</FORM>
gracias por vuestra ayuda y un salu2.
  #6 (permalink)  
Antiguo 26/01/2009, 13:09
Avatar de dART  
Fecha de Ingreso: enero-2009
Ubicación: Madrid
Mensajes: 246
Antigüedad: 15 años, 2 meses
Puntos: 7
Respuesta: ayuda con un formulario.

Hola,

Código HTML:
<select name="enviar" size="1" id="enviar">
<option value="enviar">Presidente</option>
<option value="enviar">oficina</option>
<option value="enviar">Tesorer&iacute;a</option>
</select> 


Cambialo por:

Código HTML:
<select name="departamento" size="1">
<option value="email del presidente">Presidente</option>
<option value="email de oficina">oficina</option>
<option value="email de tesoreria">Tesorer&iacute;a</option>
</select> 
  #7 (permalink)  
Antiguo 26/01/2009, 13:15
 
Fecha de Ingreso: septiembre-2003
Mensajes: 288
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: ayuda con un formulario.

gracias por contestar:
supongo que incluiendo el codigo php que me puso el compañero Jonijnm:

Cita:

<select name="departamento">
<option value="[email protected]">Quejas</option>
<option value="[email protected]">Soporte técnico</option>
<option value="[email protected]">Otros</option>
</select>
Cita:

mail($_POST['departamento'], $_POST['asunto'], $_POST['mensaje']);
supongo que sera asi, yo de php pegado aqui tengo un cursillo haber si lo empiezo por que la verdad que esto es bastante interesante.gracias y un salu2.
  #8 (permalink)  
Antiguo 26/01/2009, 13:52
 
Fecha de Ingreso: septiembre-2003
Mensajes: 288
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: ayuda con un formulario.

bueno ongo aqui como quedaria , el caso es que esta mal por que no me lo envia:

código php:

Cita:

<?
/* aqui se incializan variables de PHP */
if (phpversion() >= "4.2.0") {
if ( ini_get('register_globals') != 1 ) {
$supers = array('_REQUEST',
'_ENV',
'_SERVER',
'_POST',
'_GET',
'_COOKIE',
'_SESSION',
'_FILES',
'_GLOBALS' );

foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
} else {
if ( ini_get('register_globals') != 1 ) {

$supers = array('HTTP_POST_VARS',
'HTTP_GET_VARS',
'HTTP_COOKIE_VARS',
'GLOBALS',
'HTTP_SESSION_VARS',
'HTTP_SERVER_VARS',
'HTTP_ENV_VARS'
);

foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
}

/* DE AQUI EN ADELANTE PUEDES EDITAR EL ARCHIVO */

if($email=="")
{
/* reclama si no se ha rellenado el campo email en el formulario */
echo "<script languaje=javascript>".
"alert(\"¡¡¡¡EL E-MAIL NO ES CORRECTO!!!!\");".
"location.href=\"contactar.html\";".
"</script>";

}

/* aquí se especifica la pagina de respuesta en caso de envío exitoso */
$respuesta="respuesta.htm";
// la respuesta puede ser otro archivo, en incluso estar en otro servidor

/* AQUÍ ESPECIFICAS EL CORREO AL CUAL QUEIRES QUE SE ENVÍEN LOS DATOS
DEL FORMULARIO, SI QUIERES ENVIAR LOS DATOS A MÁS DE UN CORREO,
LOS PUEDES SEPARAR POR COMAS */
<select name="departamento">
<option value="xxxxxx.xxxxxxl.es">Presidente</option>
<option value="xxxxxxx.xxxxxx.es">Oficina</option>
<option value="[email protected]">Otros</option>
</select>


/* AQUI ESPECIFICAS EL SUJETO (Asunto) DEL EMAIL */
$asunto = "Formulario de Informacion Solicitada";

/* aquí se construye el encabezado del correo, en futuras
versiones del script explicaré mejor esta parte */
$encabezado = "From: $nombre <$email>";
$encabezado .= "\nReply-To: $email";
$encabezado .= "\nX-Mailer: PHP/" . phpversion();

/* con esto se captura la IP del que envío el mensaje */
$ip=$REMOTE_ADDR;

/* las siguientes líneas arman el mensaje */
$mensaje .= "NOMBRE: $nombre\n";
$mensaje .= "Telefono: $telefono\n";
$mensaje .= "EMAIL: $email\n";
$mensaje .= "COMENTARIOS: $comentarios\n";


/* aqui se intenta enviar el correo, si no se
tiene éxito se da un mensaje de error */
mail($_POST['departamento'], $_POST['asunto'], $_POST['mensaje']);


{
echo "<script languaje=javascript>".
"alert(\"THE MESSAGE COULD NOT BE COMMANDED!!!!\");".
"location.href=\"contactar.html\";".
"</script>";

}
else
{
/* aqui redireccionamos a la pagina de respuesta */
echo "<script languaje=javascript>".
"alert(\"Su Mensaje se ha enviado Correctamente!!!!\");".
"location.href=\"../index.html\";".
"</script>";
}

?>
y este código html:

Cita:
<FORM METHOD="GET" ACTION="file:///E|/paginas webs 9_12_2007/club jarapalo/html/enviacorreo.php">
<div id="Layer2">
<input name="nombre" type="text" id="nombre" size="42" class="tempo" />
</div>
<div id="Layer3">
<input name="telefono" type="text" id="telefono" size="42" maxlength="9" class="tempo" />
</div>
<div id="Layer4">
<input name="email" type="text" id="email" size="42" class="tempo" />
</div>
<div id="Layer5">
<textarea name="comentarios" cols="65" rows="7" id="comentarios" class="tempo"></textarea>
</div>
<div id="Layer6">
<label>
<select name="departamento" size="1" id="enviar">
<option value="email al presidente">Presidente</option>
<option value="email a la oficina">Oficina</option>
<option value="email a la tesoreria">Tesorer&iacute;a</option>
<option value="email d.tiro plato">D.tiro al plato</option>
<option value="email d.tiro pichon" selected="selected">D.tiro pichón</option>
</select>
</label>
</div>
<div id="Layer7">
<input name="Enviar" type="submit" id="enviar" value="Enviar" />
</div>
<div id="Layer8">
<input name="limpiar" type="reset" id="limpiar" value="Limpiar " />
</div>


</FORM>
algo hay mal por que no me va.gracias y un salu2.
  #9 (permalink)  
Antiguo 26/01/2009, 13:57
Avatar de JoniJnm  
Fecha de Ingreso: mayo-2007
Ubicación: Madrid
Mensajes: 264
Antigüedad: 16 años, 11 meses
Puntos: 4
Respuesta: ayuda con un formulario.

Pon el código php dentro de la etiqueta PHP y el código html en HTML!!!
__________________
JoniJnm.es
  #10 (permalink)  
Antiguo 26/01/2009, 16:29
Avatar de dART  
Fecha de Ingreso: enero-2009
Ubicación: Madrid
Mensajes: 246
Antigüedad: 15 años, 2 meses
Puntos: 7
Respuesta: ayuda con un formulario.

Sería bueno que hicieses lo que dice JoniJnm, porque ese código es un caos.

¿Te da algún error en concreto o simplemente no lo envía?


PD.: ¿Esta variable es correcta? ($$__s)

Código PHP:
foreach($supers as $__s){
   if((isset($
$__s) == true) && (is_array( $$__s) == true) ) extract( $$__sEXTR_OVERWRITE );


Última edición por dART; 26/01/2009 a las 16:35
  #11 (permalink)  
Antiguo 27/01/2009, 08:31
 
Fecha de Ingreso: septiembre-2003
Mensajes: 288
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: ayuda con un formulario.

gracias por contestar lo que hace es que le doy a enviar y no lo envia, en cuanto a lo que dice jonijnm es como lo tengo un archivo php y otro html con el diseño del formulario.gracias y un salu2
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 19:27.