Foros del Web » Programando para Internet » PHP »

Circulo sin fin!

Estas en el tema de Circulo sin fin! en el foro de PHP en Foros del Web. Hola a todos. Tengo una website en la cual se puede cargar y descargar archivos. Y como los archivos se hacen por Descarga Directa, decidí ...
  #1 (permalink)  
Antiguo 25/01/2011, 10:27
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Circulo sin fin!

Hola a todos.
Tengo una website en la cual se puede cargar y descargar archivos.
Y como los archivos se hacen por Descarga Directa, decidí aplicar un poco de SEO y hacer que los visitantes visiten la web porlomenos una ves por seción así ven de donde descargan los archivos.

Para ello pensé usar cookies ya que tengo un problema por los subdominios y no puedo pasar variables de otra manera.

Probé de diferentes formas y lo que sucede es esto:

> Se ejecuta el link para descargar el archivo > Va al sitio que quiero mostrar > Vuelve a cargar el mismo link solamente que esta ves deberá comenzar a descargar y no volver a redireccionar a la web que quiero mostrar

Ese justamente es el problema, recarga la web infinitas veces.

¿Que estoy haciendo mal?
Aca les dejo un poco del code para ver si pueden echarme una mano (lo cambie 40 veces así que tiene algunos problemas de sintáxis básicos)


Archivo que ejecuta la descarga o determina redireccionar

Código PHP:

$CD 
$_GET["cd"];

    
setcookie("CookieDePrueba"1time()+3600); 
    
    if(isset(
$_COOKIE['CookieDePrueba'])){ 
    
        
// Cookies Activadas
            
if(isset($_COOKIE['Publicidad'])){
            
// Nada
            
}else{
            
                 
setcookie('CookieDescarga'$CD);
                 
header"Location: http://subdominio.miweb.com/step1/" );
                 
            }
            
            
        }


// DEBAJO DE TODO ESTO ESTÁN TODOS LOS HEAD QUE INICAN LA DESCARGA, ES MUCHO CODIGO POR ESO NO LO PEGUÉ 

Sitio que quiero mostrar

Código PHP:

if (isset($_COOKIE['CookieDescarga'])){        
setcookie('Publicidad'1);
echo 
'<body onLoad="location.href=\'http://miweb.com/r.php?cd='.$_COOKIE['CookieDescarga'].'\'">';                
}else{
echo 
'<body>';

  #2 (permalink)  
Antiguo 25/01/2011, 11:17
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Respuesta: Circulo sin fin!

Ya lo pude solucionar.
Dejo el code por si a alguno les sirve:

Código PHP:

$CD 
$_GET["cd"];

            
// Publicidad
            
if($_SESSION['publicidad'] != 'OK'){
            
$_SESSION['publicidad'] = 'OK';
            
header"Location: http://subdominio.miweb.com/step1/?cd=$CD" );
            } 

Código PHP:

        
if ($_GET["cd"] != ''){
        
                echo 
'<body onLoad="location.href=\'http://miweb.com/r.php?cd='.$_GET["cd"].'\'">';
                
        }else{
                echo 
'<body>';
        } 
Saludos, gracias a todos!
  #3 (permalink)  
Antiguo 25/01/2011, 11:21
 
Fecha de Ingreso: diciembre-2008
Mensajes: 69
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Circulo sin fin!

Capaz no entendí mucho, pero si ya estás colocando body onLoad, lo va a hacer permanentemente. En todo caso deberías crear una cookie que cancele esta operación, pero convengamos que no soy muy amigo de las cookies.
¿Por qué no usar sesiones?
  #4 (permalink)  
Antiguo 25/01/2011, 11:21
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
Respuesta: Circulo sin fin!

Código PHP:
Ver original
  1. if(isset($_COOKIE['Publicidad'])){
esto determina que cookie publicidad no existe, pero tampoco la creas en el else por eso cada vez que entra a la página los if son true el primero y false el segundo.

saludos.

EDITADO: llegue tarde XD
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #5 (permalink)  
Antiguo 25/01/2011, 11:24
 
Fecha de Ingreso: diciembre-2008
Mensajes: 69
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Circulo sin fin!

ajajajaj está bien. Buena solución!

Saludos

Etiquetas: Ninguno
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 04:32.