Foros del Web » Programando para Internet » PHP »

redirigir automaticamente a una web

Estas en el tema de redirigir automaticamente a una web en el foro de PHP en Foros del Web. Hola chic@s, les escribo en esta oportunidad para hacer una pregunta ya que lo mio no es php sino flash. Bien estos días he colocado ...
  #1 (permalink)  
Antiguo 24/09/2009, 09:35
Avatar de oppjpp  
Fecha de Ingreso: octubre-2007
Mensajes: 304
Antigüedad: 16 años, 6 meses
Puntos: 2
redirigir automaticamente a una web

Hola chic@s, les escribo en esta oportunidad para hacer una pregunta ya que lo mio no es php sino flash. Bien estos días he colocado un formulario con upload de archivos en mi página web, bien todo funciona bien, pero me gustaría que cuando despues de darle al boton enviar y te salga el mensaje " formulario enviado con exito", pasaran 2 o 3 seg y se fuera directamente a una pagina en la cual tengo la plataforma de pago paypal, como se hace???


Un saludo y mil gracias
  #2 (permalink)  
Antiguo 24/09/2009, 09:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: redirigir automaticamente a una web

Eso lo tienes que hacer con javascript, ya que si rediriges con PHP esto se hace al momento, en cambio con javascript puedes usar window.setTimeOut() para ejecutar la función.

Saludos.
  #3 (permalink)  
Antiguo 24/09/2009, 09:59
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: redirigir automaticamente a una web

Hola opp, desde mi punto de vista, cualqueir cosa que la pagina web realice sin que el usuario tenga "el control", resulta repulsivo.

Es decir, que aparezca un popup, es repulsivo, dado que los odiamos y mas aun si YO COMO USUARIO, no llame dicho popup.. por ello, me parece medio chocante el hecho de decirle gracias, y despues justo lo redirecciona para PAGAR, cosa que nadie realmente quiere hacer... te doy una mano abajo, que creo puede serte util.. dame un segundo te lo escribo.. ya suponiendo que tenes el formulario construído, ok!!
  #4 (permalink)  
Antiguo 24/09/2009, 10:07
Avatar de oppjpp  
Fecha de Ingreso: octubre-2007
Mensajes: 304
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: redirigir automaticamente a una web

Hola loncho_rojas, gracias por tu respuesta, el formulario ya esta realizado y funcionando.
  #5 (permalink)  
Antiguo 24/09/2009, 10:07
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
donde empieza tu codigo PHP, ya sea en tu action, o dentro del mismo formulario, pones una variable que nos dara la pauta de si fue enviado o no..

algo asi al inicio:

Código PHP:
<?php
$enviado 
false;

// aca se supone que esta empezando tu gestor del formulario

//solo como ejemplo, pues no se como lo tienes
$to "[email protected], ";
        
$from "From:".stripslashes($_POST["name"])."  <".stripslashes($_POST["mail"]).">";
        
$subject "Consulta /Mensaje";
        
$body"El siguiente formulario se ha completado desde tu pagina We.\r\n";
/***
 repito, solo para que se entienda que esta es la parte que 
ya tenes hecha de tu formulario-- quiza si lo hiciste con la funcion PHPmailer
sea un poco distinto, pero ya lo tenes hecho, lo importante es 

**/

//ya despues de todo el codigo de envio, le generamos un IF
//le decimos, que si el mail fue enviado, nos devuelva como verdadero
// y mas abajo le tiramos un resultado

if(mail($to,$subject,utf8_decode($body),$from))//solo de ejemplo
        
{
            
$enviado true;
        }
Bueno, ya abajito o en tu form, antes de donde empieza tu formulario podemos simularlo asi

Código PHP:
<td valign="top">
     <?
          
if($enviado==true)//si se envio el form, nos devolvera esta linea de abajo
          
{
              
?>
               <div style="height:345px; padding-top:10px;">
                  <div align="center">
                    <p class="txtDescripcionBuscador"><strong>Gracias por enviar tus consultas. <br />
                En breve te responderemos.</strong></p> 
                 </div>
           </div>
            <?
          
}else{
//caso contrario el formulario se seguira mostrando hasta que 
//se envie correctamente
//entonces hacemos que se siga viendo el form normalmente
            
?>
    <form action="consultas.php" method="post" name="formContactos" onSubmit="return ValidarEnvio();">......continua
Es importante que si el form no se ha enviado, que los datos del usuario no se pierdan al refrescar la pagina, por ello, en los campor siempre importante imprimir los datos que se enviaron antes del error o falta de datos para dar como valido el mensaje..

por ejemplo, para uno de los campos siga mostrando los datos, sobre todo si usas un captcha.

Código PHP:
<td>
<span class="obligatorioInputs">*</span> Nombre:<br />
      <input type="text" name="name" id="name" class="contactsInputs" value="<?= (isset($_POST["name"]))?$_POST["name"]:""?>" /></td>

ok.. mas abajo terminamos el mensaje, dado que mas arriba abrimos un IF .. ELSE debemos cerrar el ELSE, pues quedo abierto

algo asi al final del fform

Código PHP:
</form>
    <? 
        
}

        
?>
Esto es netamente conceptual, no se si ha de aplicarse exactamente asi en tu caso, pues siempre las sintaxis cambian, tambien puedes tirarnos los scripts de tu form, y seguro te ayudamos en lo que se pueda..

pero queres que se redireccione dijiste.. creo que en el if, podes agregarle un detalle para que el usuario termine el registro o compra

codigo retocado:
Código PHP:
<td valign="top">
     <?
          
if($enviado==true)
          {
              
?>
               <div style="height:345px; padding-top:10px;">
                  <div align="center">
                    <p class="txtDescripcionBuscador">
<strong>Gracias por enviar tus consultas. 
<!--Esta es la parte que agregamos, para que el usuario termine el registro-->
<p><a href="pagina_pay_pal.php"> Terminar Registro</a></p>
                En breve te responderemos.</strong></p> 
                 </div>
           </div>
            <?
          
}else{
            
?>
    <form action="consultas.php" method="post" name="formContactos" onSubmit="return ValidarEnvio();">
Te lo pongo asi, pues no se va a ningun lugar, hasta que el usuario de click en el link que direge a tu pagina de pagos.. espero en algo te pueda a yudar

pero queres que se redireccione dijiste.. creo que en el if, podes agregarle un detalle para que el usuario termine el registro o compra

codigo retocado:
Código PHP:
<td valign="top">
     <?
          
if($enviado==true)
          {
              
?>
               <div style="height:345px; padding-top:10px;">
                  <div align="center">
                    <p class="txtDescripcionBuscador">
<strong>Gracias por enviar tus consultas. 
<!--Esta es la parte que agregamos, para que el usuario termine el registro-->
<p><a href="pagina_pay_pal.php"> Terminar Registro</a></p>
                En breve te responderemos.</strong></p> 
                 </div>
           </div>
            <?
          
}else{
            
?>
    <form action="consultas.php" method="post" name="formContactos" onSubmit="return ValidarEnvio();">
Te lo pongo asi, pues no se va a ningun lugar, hasta que el usuario de click en el link que direge a tu pagina de pagos.. espero en algo te pueda a yudar

Última edición por GatorV; 24/09/2009 a las 11:34
  #6 (permalink)  
Antiguo 24/09/2009, 11:30
Avatar de oppjpp  
Fecha de Ingreso: octubre-2007
Mensajes: 304
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: redirigir automaticamente a una web

Si entendi bien solo tengo que poner este cuadro verdad? y donde pone <a href="pagina_pay_pal.php"> puedo cambiarlo por un direccion web? un saludo


Cita:
Iniciado por loncho_rojas Ver Mensaje
pero queres que se redireccione dijiste.. creo que en el if, podes agregarle un detalle para que el usuario termine el registro o compra

codigo retocado:
Código PHP:
<td valign="top">
     <?
          
if($enviado==true)
          {
              
?>
               <div style="height:345px; padding-top:10px;">
                  <div align="center">
                    <p class="txtDescripcionBuscador">
<strong>Gracias por enviar tus consultas. 
<!--Esta es la parte que agregamos, para que el usuario termine el registro-->
<p><a href="pagina_pay_pal.php"> Terminar Registro</a></p>
                En breve te responderemos.</strong></p> 
                 </div>
           </div>
            <?
          
}else{
            
?>
    <form action="consultas.php" method="post" name="formContactos" onSubmit="return ValidarEnvio();">
Te lo pongo asi, pues no se va a ningun lugar, hasta que el usuario de click en el link que direge a tu pagina de pagos.. espero en algo te pueda a yudar
  #7 (permalink)  
Antiguo 24/09/2009, 11:47
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: redirigir automaticamente a una web

Y si, en teoria, si el ejemplo te sirve, si, las etiquetas del tipo <a> en html, actuan de anclas o como enlaces, y el href, es la dirección a la cual sera enviada.. deberias leer alguito de "Links en html," nada complicado, es decir, esa es la flexibilidad el php, que puede interactuar con codigos html o lo que sea

es decir..
<a href="tupagina" target="_parent">
Terminar el registo
</a>

en las lineas de href, si se refiere a un site, es similar a flash, es decir, debes incluir la url completa, incluso con el H T T P : // w w w.. lo escribo asi, pues no puedo incluir links

La palabra Terminar Registro la vera el usuario, y al darle clic ira a tu pagina de registro.. al menos es lo que se me ocurre rapidamente, seguro que lo que deseabas hacer al principio se puede lograr, pero esto me parece mas etico
  #8 (permalink)  
Antiguo 24/09/2009, 12:29
Avatar de oppjpp  
Fecha de Ingreso: octubre-2007
Mensajes: 304
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: redirigir automaticamente a una web

bueno probaremos a ver que tal, gracias
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 22:09.