Ayuda con PHP de geolocalizacion....

  • Autor Autor gowkster
  • Fecha de inicio Fecha de inicio
G

gowkster

Delta
Hola, estoy intentando hace una campaña en ADJAL y me he liado con el PHP de la geolocalización, el caso es que dreamweaver me da un error que no soy capaz de localizar.. y el la web me salen todas las campañas en lugar de salirme una con la geolocalización correcta, supongo que me he dejado algun parentesis por cerrar o algo así, pero no soy capaz de encontrarlo.. me hechais una mano??

PHP:
<?php

$IP = $_SERVER["REMOTE_ADDR"];

include("geo/geoip.inc");

$gi = geoip_open("geo/GeoIP.dat", GEOIP_MEMORY_CACHE);

$CountryCode = geoip_country_code_by_addr($gi, $IP);
geoip_close($gi);

// ****NO TOCAR POR ENCIMA DE ESTA LINEA****

if ($CountryCode=="ES"){
?>

<a href="http://track.adjal.com/aff_c?offer_id=2528&aff_id=19398&file_id=173602" target="_blank"><img src="http://media.adjal.com/brand/files/adjal/2528/Viaje_ES_3B_300x250.gif" width="300" height="250" border="0" /></a><img src="http://track.adjal.com/aff_i?offer_id=2528&aff_id=19398&file_id=173602" width="1" height="1" />

<?php
}
?>


				<?
				else if($CountryCode=="IT"){
				?>
				<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=" width="300" height="250">
<param name="movie" value="http://media.adjal.com/brand/files/adjal/2808/Gratta_IT_300x250.swf" />
<param name="quality" value="high" />
<param name="flashvars" value="&clickTag=http%3A%2F%2Ftrack.adjal.com%2Faff_c%3Foffer_id%3D2808%26aff_id%3D19398%26file_id%3D198796&clickTAG=http%3A%2F%2Ftrack.adjal.com%2Faff_c%3Foffer_id%3D2808%26aff_id%3D19398%26file_id%3D198796" />
<embed src="http://media.go2speed.org/brand/files/adjal/2808/Gratta_IT_300x250.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="250" flashvars="&clickTag=http%3A%2F%2Ftrack.adjal.com%2Faff_c%3Foffer_id%3D2808%26aff_id%3D19398%26file_id%3D198796&clickTAG=http%3A%2F%2Ftrack.adjal.com%2Faff_c%3Foffer_id%3D2808%26aff_id%3D19398%26file_id%3D198796"></embed></object><img src="http://track.adjal.com/aff_i?offer_id=2808&aff_id=19398&file_id=198796" width="1" height="1" />
				<?php
				}
				?>

				

				<?
				else if($CountryCode=="CO"){
				?>

				<a href="http://track.adjal.com/aff_c?offer_id=1476&aff_id=19398&file_id=164567" target="_blank"><img src="http://media.adjal.com/brand/files/adjal/1476/conquistawi5_1_300x250.gif" width="300" height="250" border="0" /></a><img src="http://track.adjal.com/aff_i?offer_id=1476&aff_id=19398&file_id=164567" width="1" height="1" />

				<?php
				}
				?>
                
               <?
				else if($CountryCode=="PA"){
				?>

				<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=" width="300" height="250">
<param name="movie" value="http://media.adjal.com/brand/files/adjal/814/Facebook_300x250.swf" />
<param name="quality" value="high" />
<param name="flashvars" value="&clickTag=http%3A%2F%2Ftrack.adjal.com%2Faff_c%3Foffer_id%3D814%26aff_id%3D19398%26file_id%3D130340&clickTAG=http%3A%2F%2Ftrack.adjal.com%2Faff_c%3Foffer_id%3D814%26aff_id%3D19398%26file_id%3D130340" />
<embed src="http://media.go2speed.org/brand/files/adjal/814/Facebook_300x250.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="250" flashvars="&clickTag=http%3A%2F%2Ftrack.adjal.com%2Faff_c%3Foffer_id%3D814%26aff_id%3D19398%26file_id%3D130340&clickTAG=http%3A%2F%2Ftrack.adjal.com%2Faff_c%3Foffer_id%3D814%26aff_id%3D19398%26file_id%3D130340"></embed></object><img src="http://track.adjal.com/aff_i?offer_id=814&aff_id=19398&file_id=130340" width="1" height="1" />

				<?php
				}
				?> 
                
                <?
				else if($CountryCode=="EC"){
				?>

				<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=" width="300" height="250">
<param name="movie" value="http://media.adjal.com/brand/files/adjal/816/Facebook_300x250.swf" />
<param name="quality" value="high" />
<param name="flashvars" value="&clickTag=http%3A%2F%2Ftrack.adjal.com%2Faff_c%3Foffer_id%3D816%26aff_id%3D19398%26file_id%3D130338&clickTAG=http%3A%2F%2Ftrack.adjal.com%2Faff_c%3Foffer_id%3D816%26aff_id%3D19398%26file_id%3D130338" />
<embed src="http://media.go2speed.org/brand/files/adjal/816/Facebook_300x250.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="250" flashvars="&clickTag=http%3A%2F%2Ftrack.adjal.com%2Faff_c%3Foffer_id%3D816%26aff_id%3D19398%26file_id%3D130338&clickTAG=http%3A%2F%2Ftrack.adjal.com%2Faff_c%3Foffer_id%3D816%26aff_id%3D19398%26file_id%3D130338"></embed></object><img src="http://track.adjal.com/aff_i?offer_id=816&aff_id=19398&file_id=130338" width="1" height="1" />

				<?php
				}
				?>
                <?
				else if($CountryCode=="US"){
				?>

				<a href="http://track.adjal.com/aff_c?offer_id=1126&aff_id=19398&file_id=174994" target="_blank"><img src="http://media.adjal.com/brand/files/adjal/1126/Banner_WEB_Tuning-3D-Racing-Plus_Binbit_EN_300x250.jpg" width="300" height="250" border="0" /></a><img src="http://track.adjal.com/aff_i?offer_id=1126&aff_id=19398&file_id=174994" width="1" height="1" />

				<?php
				}
				?>
                
                
				<?
				else if($CountryCode=="SP"){
				?>

				<a href="http://track.adjal.com/aff_c?offer_id=1126&aff_id=19398&file_id=174994" target="_blank"><img src="http://media.adjal.com/brand/files/adjal/1126/Banner_WEB_Tuning-3D-Racing-Plus_Binbit_EN_300x250.jpg" width="300" height="250" border="0" /></a><img src="http://track.adjal.com/aff_i?offer_id=1126&aff_id=19398&file_id=174994" width="1" height="1" />

				<?php
				}
				?>
                
			                
                <?
				else if($CountryCode=="AR"){
				?>

				<a href="http://track.adjal.com/aff_c?offer_id=1278&aff_id=19398&file_id=215994" target="_blank"><img src="http://media.adjal.com/brand/files/adjal/1278/New_Apple_Prize_ES_AR_300x250.gif" width="300" height="250" border="0" /></a><img src="http://track.adjal.com/aff_i?offer_id=1278&aff_id=19398&file_id=215994" width="1" height="1" />

				<?php
				}
				?>			
				
<?php

else {
?>

<script type="text/javascript"><!--
google_ad_client = "ca-pub-6851324750609619";
/* Facebook login barra lateral grande 1 */
google_ad_slot = "3110743234";
google_ad_width = 250;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

<?php
}
?>
 
Adjal geolocaliza ya las campañas automaticamente, no tienes por que hacer nada de esto ya.
 
toda la mañana rompiéndome la cabeza para nada?? :ambivalence:, bueno, de todas maneras agradecería que si alguien ve el fallo me lo comunique o que me lo corrija.... gracias
 
Última edición:
Es cierto ya no hace falta, igual no tiene sentido hacer nada si puedes usar el servicio gratuito de google el DFP Small Business donde no usas tu servidor y evitas el consumo innesesario, siempre lo use con adjal, y lo sigo usando para rotar publicidades de distintas empresas
 

Me podrías explicar un poco coma funciona??

---------- Post agregado el 08-mar-2013 hora: 17:52 ----------

alguien me puede remitir a algun tutorial o explicarme como puedo usar.. google DFP Small Business con ADJAL?
 
Me podrías explicar un poco coma funciona??

---------- Post agregado el 08-mar-2013 hora: 17:52 ----------

alguien me puede remitir a algun tutorial o explicarme como puedo usar.. google DFP Small Business con ADJAL?


Vale entonces intentas geolocalizar la persona que entra para despues mandarlo o ingresar ciertas campañas publicitarías pues bien he hecho este codigo para ti ... pues salio de mi mente por lo que leei intentar evitar la sobrecarga del servidor con ese archivo, y ademas que sea tecnicamente mas rapido asi que me salio esto:

PHP:
<?php

// /* AD , IP DETECTOR, CAMPAÑAS ADJAL 
// COPYRIGHT (C) 2013 SURKAISER PARA FOROBETA.
			
			//funcion obtener ip
			    function obtenerIP() {
        if (!empty($_SERVER['HTTP_CLIENT_IP']))
            return $_SERVER['HTTP_CLIENT_IP'];
           
        if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
            return $_SERVER['HTTP_X_FORWARDED_FOR'];
       
        return $_SERVER['REMOTE_ADDR'];
    }
			$ip = obtenerIP();
			
			$ch = curl_init();
		curl_setopt($ch,CURLOPT_URL,'http://'.$ip.'.ipaddress.com/#ipinfo');
		curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
		curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
		$return = curl_exec($ch);
		curl_close($ch);
		$pais = strstr($return,'<th>Country:</th>');
		$pais = str_replace('<th>Country:</th>','',$pais);
		preg_match("'<td>(.*?)<img'si",$pais,$match);
			$match[1] = htmlentities($match[1]);
			$country = str_replace(' ','',$match[1]);
			$quitar = strstr($country,"<img");
			$country = str_replace($quitar,'',$country);
			switch($country)
			{
				case 'Spain':
				$adjal = 'tu link adjal';
	           
				break;
				case 'Mexico':
			  $adjal = 'tu link adjal';
				
				break;
				case 'Argentina':
				$adjal = 'tu link adjal';
				break;
				case 'Colombia':
				$adjal = 'tu link adjal';
				break;
				case 'United States':
				$adjal = 'tu link adjal';
				break;
				case 'Uruguay':
				$adjal = 'tu link adjal';
				break;
				case 'Paraguay':
				$adjal = 'tu link adjal';
				break;
				case 'Peru':
				
				$adjal = 'tu link adjal';
				break;
				case 'Ecuador':
				$adjal = 'tu link adjal';
				break;
				case 'Chile':
				$adjal = 'tu link adjal';
				break;
			}
			// CIERRE ADJAL */
?>

Posteriormente tendriamos el link adjal dependiendo del país supongo que de ahi es facil y lo puedes usar de diferentes maneras, lo que hacemos en este codigo mio es simple, usamos la web de ipaaddress y obtenemos el país con Curl, posteriormente hacemos un condicional switch para poder hacer nuestro link dependiendo al país.

Un saludo :encouragement:
 

Para incorporar este código hace falta meter alguna cosa mas? o simplemente lo implemento donde debería de ir el anuncio? otra cosa, los códigos de los países?? no deberían ser ES y no Spain??

Perdona mi desconocimiento pero yo de programación nada de nada... es una asignatura que tengo pendiente
 
Mira ese codigo lo puedes poner en un archivo separado e incluirlo a donde ingresaras el anuncio de esta manera:

include("archivo.php");

Posteriormente en donde dice $adjal=" tu link adjal"; ahi pondras tu codigo de anuncio o link obviamente dentro de las comillas $adjal="" , posteriormente en donde quieras poner el anuncio es decir la localizacion simplemente haz esto

echo $adjal;

Y listo

Luego solo decir que me molesta un poco que viendo el codigo que he hecho para ti creas que me equivoco en un simple spain y ES ... falta poner mas atencion al mensaje ya que he puesto que el pais lo obtiene por metodo curl de la web ipaddress y en esa web el pais lo muestra asi Spain ... eso realmente me molesta solo lo digo para tener mas precaucion en cuanto lo que se responde pero descuida solo digo lo que me molesta.

Un saludo cualquier duda por aqui estoy.
 
Última edición:

Ante todo muchisimas gracias por el código, pero mas que duda por mi parte, es ignorancia completa, ya que como te digo el PHP es una de mis asignaturas pendientes.....

Siento que te haya molestado mi duda pero repito que no es mas que pura ignorancia.. La gente como tu hace que participar en estos foros valga la pena, un saludo Surkaiser
 
Última edición por un moderador:

No descuida, estaba con algunos problemas personales en ese momento y lo tome ha insulto ya puedes olvidarlo que fue error mio. Y vale que me di cuenta que falta gente que ayude en la enseñansa de lenguajes de programacion por aqui asi que decidi solo ayudar ya que ahora veo que mucha gente esta cobrando por cualquier cosa, el conocimiento es libre. Ademas por la lectura a tus temas note esa cierta desesperacion de querer saber u obtener o lograr algo en ese momento mira que he sentido muchas veces y nadie me ha ayudado o regalado por eso quiero que no le pase a la gente esa misma desesperacion que a mi asi que cualquier duda por aquí andare intentando resolver cualquier problema ha la comunidad de forobeta. Y vale creo que esta demás decirlo pero ¿Si te funciono mi codigo? ... es que lo hize directo en el mensaje de respuesta rapida y no lo probe lo hize conforme la marcha ... ¿Te funciono?.

Un saludo :encouragement:
 
Última edición por un moderador:
todo correcto... muchisimas gracias por el codigo... 😛8: