Foros del Web » Programando para Internet » PHP »

redireccionar una web

Estas en el tema de redireccionar una web en el foro de PHP en Foros del Web. hola a todos, resulta que tengo una web en donde valido automaticamente el pais de la ip, eso ya lo tengo listo, lo unico que ...
  #1 (permalink)  
Antiguo 07/11/2006, 10:54
 
Fecha de Ingreso: marzo-2006
Mensajes: 194
Antigüedad: 18 años, 1 mes
Puntos: 1
redireccionar una web

hola a todos, resulta que tengo una web en donde valido automaticamente el pais de la ip, eso ya lo tengo listo, lo unico que on se como hacer, es que si mi ip es de colombia vaya automaticamente a una pagina que se llama indexco.php y asi sucesivamente dependiendo del pasi al que pertenezca.

agradezco la colaboracion.
  #2 (permalink)  
Antiguo 07/11/2006, 11:09
Avatar de iandrade  
Fecha de Ingreso: septiembre-2006
Ubicación: Xalapa, Veracruz, MÉXICO.
Mensajes: 171
Antigüedad: 17 años, 6 meses
Puntos: 6
Redireccionar

Código PHP:
$pais_ip //el pais que ya detectaste
switch($pais_ip){
    case 
"colombia" $URL "indexco";
        break;
    case 
"otropais"  $URL "idexpais";
        break;
}
header("Location : $URL.php"); 
  #3 (permalink)  
Antiguo 07/11/2006, 11:13
 
Fecha de Ingreso: marzo-2006
Mensajes: 194
Antigüedad: 18 años, 1 mes
Puntos: 1
problemas

hola, ya lo hice asi pero aparece en pantalla el siguiente error

Warning: Cannot modify header information - headers already sent by (output started at /furanet/sites/movilongo.com/web/htdocs/pagcontactos/index.php:74) in /furanet/sites/movilongo.com/web/htdocs/pagcontactos/index.php on line 127


no se que pueda ser.

gracias por tu ayuda
  #4 (permalink)  
Antiguo 07/11/2006, 11:27
Avatar de iandrade  
Fecha de Ingreso: septiembre-2006
Ubicación: Xalapa, Veracruz, MÉXICO.
Mensajes: 171
Antigüedad: 17 años, 6 meses
Puntos: 6
mira pasa lo siguiente:

Cuando envias un parametro header, no debiste enviar nunguna salida (ni echo ni html) antes de esta instruccion.

Dicho de otra manera
antes del primer <? no debe haber nada!!!
despues del mismo la primera(y unica) salida debe ser el header de lo contrario no funcionara!
  #5 (permalink)  
Antiguo 07/11/2006, 11:45
 
Fecha de Ingreso: marzo-2006
Mensajes: 194
Antigüedad: 18 años, 1 mes
Puntos: 1
hola

hola iandrade, antes que nada gracias por tu ayuda

te comento que ya revise y quite las salidas que habian, pero ahora no me muestra nada en pantalla, sale la pagina en blanco, y esa pagiina indexco tiene varias cosas, no se que estoy haciendo mal. anexo el codigo a ver si me puedes ayudar

gracias

Código PHP:
<?php


define
("HOST""localhost");
define("PORT"3306);
define("USER""relaciones");
define("PASS""relaciones");
define("DB""relaciones");

function 
getRealIP()
{
   
   if( 
$_SERVER['HTTP_X_FORWARDED_FOR'] != '' )
   {
      
$client_ip =
         ( !empty(
$_SERVER['REMOTE_ADDR']) ) ?
            
$_SERVER['REMOTE_ADDR']
            :
            ( ( !empty(
$_ENV['REMOTE_ADDR']) ) ?
               
$_ENV['REMOTE_ADDR']
               :
               
"unknown" );
   
      
// los proxys van añadiendo al final de esta cabecera
      // las direcciones ip que van "ocultando". Para localizar la ip real
      // del usuario se comienza a mirar por el principio hasta encontrar
      // una dirección ip que no sea del rango privado. En caso de no
      // encontrarse ninguna se toma como valor el REMOTE_ADDR
   
      
$entries split('[, ]'$_SERVER['HTTP_X_FORWARDED_FOR']);
   
      
reset($entries);
      while (list(, 
$entry) = each($entries))
      {
         
$entry trim($entry);
         if ( 
preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/"$entry$ip_list) )
         {
            
$private_ip = array(
                  
'/^0\./',
                  
'/^127\.0\.0\.1/',
                  
'/^192\.168\..*/',
                  
'/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/',
                  
'/^10\..*/');
   
            
$found_ip preg_replace($private_ip$client_ip$ip_list[1]);
   
            if (
$client_ip != $found_ip)
            {
               
$client_ip $found_ip;
               break;
            }
         }
      }
   }
   else
   {
      
$client_ip =
         ( !empty(
$_SERVER['REMOTE_ADDR']) ) ?
            
$_SERVER['REMOTE_ADDR']
            :
            ( ( !empty(
$_ENV['REMOTE_ADDR']) ) ?
               
$_ENV['REMOTE_ADDR']
               :
               
"unknown" );
   }
   
   return 
$client_ip;
   
}

$ipclient getRealIP();
$ipnumber ip2long($ipclient);
//$ipnumber = $ipnumber*-1;
$ipnumber2=sprintf("%u\n"ip2long($ipclient)); 

$conn mysql_connect(HOST ":" PORT USERPASS);
mysql_select_db(DB);

$sql "SELECT * FROM ips where num_ipinicial<='$ipnumber2' and num_ipfinal>='$ipnumber2'"
$consulta mysql_query($sql,$conn) or die ("No se pudo ejecutar la consulta"); 
while (
$registro=mysql_fetch_Array($consulta))
{
if (
$registro['pais']=='Colombia' or $registro['pais']=='Ecuador' or $registro['pais']=='Peru' or $registro['pais']=='Venezuela' or $registro['pais']=='Spain')
    {
        switch (
$registro['pais']) 
            {
                case 
'Colombia':
                
$control=1;
                break;
                case 
'Ecuador':
                
$control=2;
                break;
                case 
'Peru':
                
$control=3;
                break;
                case 
'Venezuela':
                
$control=4;
                break;
                case 
'Spain':
                
$control=5;
                break;
            }
        
$pais =  $registro['pais'];
        break;
    }
else
    {
        
$control 0;
    }
}

switch(
$pais)
    { 
    case 
"Colombia" 
        
$URL "indexco"
        break; 
    } 
header("Location : $URL.php");
  #6 (permalink)  
Antiguo 07/11/2006, 14:00
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
Código PHP:
<?php 
// AL INICIO
ob_start();

define("HOST""localhost"); 
define("PORT"3306); 
define("USER""relaciones"); 
define("PASS""relaciones"); 
define("DB""relaciones"); 

function 
getRealIP() 

    
   if( 
$_SERVER['HTTP_X_FORWARDED_FOR'] != '' 
   { 
      
$client_ip 
         ( !empty(
$_SERVER['REMOTE_ADDR']) ) ? 
            
$_SERVER['REMOTE_ADDR'
            : 
            ( ( !empty(
$_ENV['REMOTE_ADDR']) ) ? 
               
$_ENV['REMOTE_ADDR'
               : 
               
"unknown" ); 
    
      
// los proxys van añadiendo al final de esta cabecera 
      // las direcciones ip que van "ocultando". Para localizar la ip real 
      // del usuario se comienza a mirar por el principio hasta encontrar 
      // una dirección ip que no sea del rango privado. En caso de no 
      // encontrarse ninguna se toma como valor el REMOTE_ADDR 
    
      
$entries split('[, ]'$_SERVER['HTTP_X_FORWARDED_FOR']); 
    
      
reset($entries); 
      while (list(, 
$entry) = each($entries)) 
      { 
         
$entry trim($entry); 
         if ( 
preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/"$entry$ip_list) ) 
         { 
            
$private_ip = array( 
                  
'/^0\./'
                  
'/^127\.0\.0\.1/'
                  
'/^192\.168\..*/'
                  
'/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/'
                  
'/^10\..*/'); 
    
            
$found_ip preg_replace($private_ip$client_ip$ip_list[1]); 
    
            if (
$client_ip != $found_ip
            { 
               
$client_ip $found_ip
               break; 
            } 
         } 
      } 
   } 
   else 
   { 
      
$client_ip 
         ( !empty(
$_SERVER['REMOTE_ADDR']) ) ? 
            
$_SERVER['REMOTE_ADDR'
            : 
            ( ( !empty(
$_ENV['REMOTE_ADDR']) ) ? 
               
$_ENV['REMOTE_ADDR'
               : 
               
"unknown" ); 
   } 
    
   return 
$client_ip
    


$ipclient getRealIP(); 
$ipnumber ip2long($ipclient); 
//$ipnumber = $ipnumber*-1; 
$ipnumber2=sprintf("%u\n"ip2long($ipclient));  

$conn mysql_connect(HOST ":" PORT USERPASS); 
mysql_select_db(DB); 

$sql "SELECT * FROM ips where num_ipinicial<='$ipnumber2' and num_ipfinal>='$ipnumber2'";  
$consulta mysql_query($sql,$conn) or die ("No se pudo ejecutar la consulta");  
while (
$registro=mysql_fetch_Array($consulta)) 

if (
$registro['pais']=='Colombia' or $registro['pais']=='Ecuador' or $registro['pais']=='Peru' or $registro['pais']=='Venezuela' or $registro['pais']=='Spain'
    { 
        switch (
$registro['pais'])  
            { 
                case 
'Colombia'
                
$control=1
                break; 
                case 
'Ecuador'
                
$control=2
                break; 
                case 
'Peru'
                
$control=3
                break; 
                case 
'Venezuela'
                
$control=4
                break; 
                case 
'Spain'
                
$control=5
                break; 
            } 
        
$pais =  $registro['pais']; 
        break; 
    } 
else 
    { 
        
$control 0
    } 


switch(
$pais
    {  
    case 
"Colombia" :  
        
$URL "indexco";  
        break;  
    }  
header("Location : $URL.php"); 

ob_flush();
?>
Header

ob_start()

ob_flush();
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
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 09:31.