Foros del Web » Programando para Internet » PHP »

Formulario PHP

Estas en el tema de Formulario PHP en el foro de PHP en Foros del Web. Buenas tardes a todos, y muchisimas gracias anticipadas por la ayuda prestada anteriormente, mi problema es el siguiente. Tengo un formulario reserva.html y otro archivo ...
  #1 (permalink)  
Antiguo 02/11/2009, 10:13
 
Fecha de Ingreso: octubre-2009
Mensajes: 9
Antigüedad: 14 años, 6 meses
Puntos: 0
Formulario PHP

Buenas tardes a todos, y muchisimas gracias anticipadas por la ayuda prestada anteriormente, mi problema es el siguiente.

Tengo un formulario reserva.html y otro archivo enviareserva.php
el problema es que no puedo hacer que se puedan marcar las dos opciones y en segundo lugar que he probado tal cual esta y va bien exepto que no me recoge el nº de personas ni la IP y los checkbox que no los capta.

Alguien me puede hechar una mano?

reserva.htm
<FORM METHOD="GET" ACTION="enviareserva.php">
Nombre<INPUT TYPE="text" NAME="nombre" SIZE="32"> Apellidos:<input name="apellidos" type="text" id="apellidos"> Dirección:<input name="direccion" type="text" id="direccion"> Nºinput name="numero" type="text" id="numero" size="5"> Localidad: <input name="localidad" type="text" id="localidad" size="30
Llegada<input name="llegada" type="text" id="llegada">
Salida: <input name="salida" type="text" id="salida">
Nº Pax:<input name="pax" type="text" id="pax" size="5
Teléfono:<input name="telefono" type="text" id="telefono">
E-mail:<INPUT TYPE="text" NAME="email" SIZE="34
Elige las opciones:
Telf. <input name="portelf" type="checkbox" id="portelf" value="checkbox">
por mail: <input name="pormail" type="checkbox" id="pormail" value="checkbox
<INPUT name="submit2" TYPE="submit" VALUE="ENVIAR"> <INPUT name="reset" TYPE="reset" VALUE="LIMPIAR"> </font></h1></center>
</FORM>
enviareserva.php
<?
/* 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 "No ingresaste la dirección de correo electrónico";
exit();
}

/* aquí se especifica la pagina de respuesta en caso de envío exitoso */
$respuesta="respuesta.html";
// 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 ="…….";

/* AQUI ESPECIFICAS EL SUJETO (Asunto) DEL EMAIL */
$sujeto = "Reserva on line";
/* 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 .= "APELLIDOS: $apellidos\n";
$mensaje .= "DIRECCION: $direccion\n";
$mensaje .= "NUMERO: $numero\n";
$mensaje .= "LOCALIDAD: $localidad\n";
$mensaje .= "LLEGADA: $llegada\n";
$mensaje .= "SALIDA: $salida\n";
$mensaje .= "PERSONAS: $personas\n";
$mensaje .= "TELEFONO: $telefono\n";
$mensaje .= "EMAIL: $email\n";
$mensaje .= "PORMAIL: $pormail\n";
$mensaje .= "PORTELEFONO: $portelefono\n";
$mensaje .= "IP: $ip\n";

/* aqui se intenta enviar el correo, si no se
tiene éxito se da un mensaje de error */
if(!mail($para, $sujeto, $mensaje, $encabezado))
{
echo "<h1>No se pudo enviar el Mensaje</h1>";
exit();
}
else
{
/* aqui redireccionamos a la pagina de respuesta */
echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>";
}

?>


Saludos
Juanma
  #2 (permalink)  
Antiguo 02/11/2009, 10:58
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Formulario PHP

1.- no te llega el num. de personas por q tienes:
Nºinput name="numero" type="text" id="numero" size="5">
y debe ser: Nº<input name="numero" type="text" id="numero" size="5">

2.- cambia:
Telf. <input name="portelf" type="checkbox" id="portelf" value="checkbox">
por mail: <input name="pormail" type="checkbox" id="pormail" value="checkbox

por:

Telf. <input name="telefono" type="checkbox" id="telefono" value="checkbox">
por mail: <input name="mail" type="checkbox" id="mail" value="checkbox
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 02/11/2009, 14:07
 
Fecha de Ingreso: octubre-2009
Mensajes: 9
Antigüedad: 14 años, 6 meses
Puntos: 0
Muchisimas gracias Sr. Urgido voy a probarlo y le dire algo.

Saludos
Juanma

Buenos días Sr. Urgido, perfecto es usted un artista, muchisimas gracias, podria hacerle otras dos cuestiones?
1 La IP no me la captura.
2 como podria validar algunos datos del formulario?

Saludos
Juanma

Última edición por GatorV; 03/11/2009 a las 10:27
  #4 (permalink)  
Antiguo 03/11/2009, 09:58
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Formulario PHP

para lo de la ip intenta cambiar:
/* con esto se captura la IP del que envío el mensaje */
$ip=$REMOTE_ADDR;

por:
/* con esto se captura la IP del que envío el mensaje */
$ip=$_SERVER['REMOTE_ADDR'];


----------

para lo de la validación de campos, pues con IF-ELSE IF-ELSE ;D
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 04/11/2009, 09:16
 
Fecha de Ingreso: octubre-2009
Mensajes: 9
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Formulario PHP

Buenas tardes Sr. Urgido, todo funciona a la perfección, la de IF-ELSE IF-ELSE voy a leer algo por ahi porque no me sale nada.

De nuevo muchisimas gracias
Juanma Saludos
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 20:30.