Foros del Web » Programando para Internet » PHP »

Ayuda con un pequeño Formulario

Estas en el tema de Ayuda con un pequeño Formulario en el foro de PHP en Foros del Web. tengo echo es te formulario , pero quisiera mejorar algunas cosilla a ver si podeis darme algun consejo, el codigo es este: Código PHP: <? ...
  #1 (permalink)  
Antiguo 19/07/2007, 14:14
 
Fecha de Ingreso: septiembre-2003
Mensajes: 288
Antigüedad: 20 años, 6 meses
Puntos: 0
Ayuda con un pequeño Formulario

tengo echo es te formulario , pero quisiera mejorar algunas cosilla a ver si podeis darme algun consejo,

el codigo es este:
Código PHP:
<?
/* aqui se incializan variables de PHP */
if (phpversion() >= "4.2.0") {
        if ( 
ini_get('register_globals') != ) {
                
$supers = array('_REQUEST',
                                
'_ENV',
                                
'_SERVER',
                                
'_POST',
                                
'_GET',
                                
'_COOKIE',
                                
'_SESSION',
                                
'_FILES',
                                
'_GLOBALS' );
                                                                                
                foreach( 
$supers as $__s) {
                        if ( (isset($
$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__sEXTR_OVERWRITE );
                }
                unset(
$supers);
        }
} else {
        if ( 
ini_get('register_globals') != ) {
                                                                                
                
$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( $$__sEXTR_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.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";
$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'>";
}

?>
yo quisiera que en lugar de que cuando no se ponga e-mail o se envie correctamente no vaya a una pagina html que lo diga si no que salga una ventana emergente de windows que lo diga.
esto es lo que me gustaria cambiar pero no se como:

Código PHP:
/*  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.htm"
y este seria el otro:

Código PHP:
/* 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'>";

gracias y un salu2.
  #2 (permalink)  
Antiguo 19/07/2007, 14:21
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 16 años, 11 meses
Puntos: 6
Re: Ayuda con un pequeño Formulario

Hola tal vez te puede servir esto:

echo "<script languaje=javascript>".
"alert(\"NO SE PUDO MANDAR EL MENSAJE!!!!\");".
"location.href=\"lapaginaalaketekieresdireccionar. php\";".
"</script>";
__________________
"Eres grande por que caminas entre gigantes"
  #3 (permalink)  
Antiguo 20/07/2007, 08:17
 
Fecha de Ingreso: septiembre-2003
Mensajes: 288
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: Ayuda con un pequeño Formulario

gracias ferbux todo perfecto.un salu2.
  #4 (permalink)  
Antiguo 20/07/2007, 08:23
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 16 años, 11 meses
Puntos: 6
Re: Ayuda con un pequeño Formulario

sax, suerte
__________________
"Eres grande por que caminas entre gigantes"
  #5 (permalink)  
Antiguo 20/07/2007, 11:10
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Re: Ayuda con un pequeño Formulario

una cosa más cambia eso de HTTP_POST_VARS por $_POST
__________________
Hospedaje Web al mejor costo!
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 18:15.