Tutorial: Crear un acortador de URL en PHP y MySQL - Parte 2

Cicklow Seguir
Seguidores
14

Admin
Épsilon
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
966
Bueno recordando el tutorial anterior (http://forobeta.com/tutoriales/116748-crear-acortador-de-url-php-y-mysql.html) vamos a hacerle unas modificaciones para poner publicidad estilo adf.ly y publicidad por click (ver ejemplo)

Mas que nada les servirá para uso propio. Ya que no se da esta opción al usuario

Primero editaremos el .htaccess con estos datos:
Insertar CODE, HTML o PHP:
RewriteRule ^p/([0-9-a-z-A-Z-_]+)$ /go2.php?id=$1&tipo=p [L]
RewriteRule ^i/([0-9-a-z-A-Z-_]+)$ /go2.php?id=$1&tipo=i [L]

Creamos un file llamado go2.php
PHP:
<?php
    @set_time_limit();
    include('db.php');
    include('noin.php');

    $SEC = new secure();
    $SEC->secureGlobals();

    //verificamos si el hash existe en nuestra base de datos
    $SQL = @mysql_query("SELECT * FROM `acortador` WHERE `char`='".$_GET['id']."'");
    $ROW = @mysql_fetch_array($SQL);

    //Verificamos que tipo de publicidad a mostrar
    if($ROW['url']!=""){
        _suma($_GET['id']);
	if($_GET['tipo']!="i") include('tpl/publi.php'); else include('tpl/publi2.php');
        die();
    }else{
        //sino existe el hash en nuestra BD redireccionamos al index de nuestro sitio
        header('location: http://cicklow.net/acortador/');
        die();
    }

    //funcion encargada de sumar una visita al hash
    function _suma($U){
        mysql_query("UPDATE `acortador` SET stat=(stat+1) WHERE `char`='".$U."'");
    }
?>
Lo que hacemos es mostrar publicidad estilo adf.ly (Enlace eliminado)
o publicidad por click (Enlace eliminado)

Como ven lo que cambia no tenemos que editar nada del acortador anterior, solo agregaremos una i antes del hash si queremos publiciad como iframe (adf.ly) o una p si queremos publicidad por click.

Ahora creamos publi.php (encargado de la publicidad por click)
HTML:
<!DOCTYPE html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<style>
	body {
		font: normal 15px auto Verdana, Arial, Helvetica, sans-serif,"Trebuchet MS";
		color: #4f6b72;
		background: #E6EAE9;
	}
	</style>
	<title>Acortador con publicidad</title>
</head>
<body>
	<center>
		<div style="width:700px;margin-top:105px;padding:15px;border:solid 1px #4682B4;">
			<div style="display:inline;width:600px;height:100px;padding:5px;">
				<img src="http://api1.thumbalizr.com/?url=<?=urlencode($ROW['url']);?>&width=250" style="float:left;padding:15px;">
				<div style="float:left;padding:15px;text-align:left;">
					<b>Visitas</b>: <?=$ROW['stat'];?><br/>
					<b>Link</b>: <a href="<?=$ROW['url'];?>" target="_blank"><?=substr($ROW['url'],0,400);?>...</a>
				</div>
			</div>
			<div style="clear: both;"></div>
			<div style="display:inline;width:336px;height:280px;padding:5px;"><img src="https://www.google.com/help/hc/images/adsense/adsense_185665_adformat-text_336x280_es.png"></div>
			<div style="display:inline;width:336px;height:280px;padding:5px;"><img src="https://www.google.com/help/hc/images/adsense/adsense_185665_adformat-text_336x280_es.png"></div>
		</div>
	</center>
</body>
</html>
Lo que hacemos aca es mostrar adsense (pueden usar otra publicidad) y una vista previa de la url, la cantidad de visitas y la url para que hagan click.

Ahora creamos publi2.php (encargado de publicidad por iframe)
HTML:
<!DOCTYPE html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<style>
	html, body { min-height: 100%; }
	body {
		font: normal 15px auto Verdana, Arial, Helvetica, sans-serif,"Trebuchet MS";
		color: #4f6b72;
		background: #E6EAE9;
		margin:0px;
		height:100%;
		min-width:980px;
		overflow:hidden; 
		padding:0px;
	}
	</style>
	<title>Acortador con publicidad 2</title>
	<script language="JavaScript">
		<!--
		if (top.location != self.location)top.location = self.location;
		//-->
	</script>
</head>
<body leftMargin='0' topMargin='0' marginwidth='0'  marginheight='0' scroll='no' style="overflow:hidden">
	<center>
		<div style="width:100%;height:40px;background-color:#B0C4DE;">
			<div style="padding:10px;float:left;">Logo</div>
			<div style="padding:10px;float:right;color:#FFFFFF;" id="contador"></div>
		</div>
		<div style="clear: both;"></div>
		<iframe src="http://cicklow.net/acortador/tpl/iframe.html" width="100%" height="100%" frameborder="0" allowtransparency="true" style="position:fixed;top:40px;left:0px;bottom:0px;width:100%;" scrolling="auto"></iframe>
	</center>
	<script type="text/javascript"> 
		var c = 6;
		var t;
		if(document.loaded) {
			Contar();
		} else {
			if (window.addEventListener) {
				window.addEventListener('load', Contar, false);
			} else {
				window.attachEvent('onload', Contar);
			}
		}


		function Contar(){
			c--;
			document.getElementById('contador').innerHTML = 'Espere <b>' + c + '</b> segundos';
			t = setTimeout(Contar,1000);
			if(c<=0){
				clearTimeout(t);
				document.getElementById('contador').innerHTML = '<a href="<?=$ROW['url'];?>" target="_top">Saltar Publicidad</a>';
			}
		}
	</script>
</body>
</html>
Usando un estilo parecido a adf-ly lo que hacemos es usar un contador de 5 segundos para luego cuando este contador llega a 0 mostrar el link. Y abajo mostramos una web en el iframe (editar tpl/iframe.html)

Saludos y espero que les guste :)
Descarga:
Insertar CODE, HTML o PHP:
http://www.mediafire.com/?o00n7l1smlwlf8f

Nuevo Código 17/09/2012
Plugin: http://forobeta.com/plugins-wp/129225-convertir-links-externos-dinero.html
Lo que agregaremos ahora es otro complemento que solo le pasaremos la url como parámetro. Ejemplo:
Insertar CODE, HTML o PHP:
http://url.ly/go3.php?url=http://www.google.com.ar
Y se usara el tipo de acortador con publicidad:
Creamos go3.php
PHP:
<?php
    @set_time_limit();
    include('noin.php');

    $SEC = new secure();
    $SEC->secureGlobals();

    if($_GET['url']!=""){
	include('tpl/publi3.php');
        die();
    }else{
        //sino existe el hash en nuestra BD redireccionamos al index de nuestro sitio
        header('location: http://cicklow.net/acortador/');
        die();
    }
?>

Creamos tpl/publi3.php
HTML:
<!DOCTYPE html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<style>
	body {
		font: normal 15px auto Verdana, Arial, Helvetica, sans-serif,"Trebuchet MS";
		color: #4f6b72;
		background: #E6EAE9;
	}
	</style>
	<title>Acortador con publicidad</title>
</head>
<body>
	<center>
		<div style="width:700px;margin-top:105px;padding:15px;border:solid 1px #4682B4;">
			<div style="display:inline;width:600px;height:100px;padding:5px;">
				<img src="http://api1.thumbalizr.com/?url=<?=urlencode($_GET['url']);?>&width=250" style="float:left;padding:15px;">
				<div style="float:left;padding:15px;text-align:left;">
					<b>Link</b>: <a href="<?=$_GET['url'];?>" target="_blank"><?=substr($_GET['url'],0,400);?>...</a>
				</div>
			</div>
			<div style="clear: both;"></div>
			<div style="display:inline;width:336px;height:280px;padding:5px;"><img src="https://www.google.com/help/hc/images/adsense/adsense_185665_adformat-text_336x280_es.png"></div>
			<div style="display:inline;width:336px;height:280px;padding:5px;"><img src="https://www.google.com/help/hc/images/adsense/adsense_185665_adformat-text_336x280_es.png"></div>
		</div>
	</center>
</body>
</html>
 
Última edición:

editor

Gamma
Verificación en dos pasos desactivada
Desde
28 Feb 2012
Mensajes
199
para mi esta complicado todo esto, pero nada es imposible.. siempre he querido saber como hacerlo este es mi oportunidad voy a probarlo... gracias por la tuto..
 

yoee12

Beta
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
14 Jul 2011
Mensajes
134
Muchas Gracias me servio mucho aquí lo tengo terminado Enlace eliminado
saludos!
 

NetReyes

Eta
Verificación en dos pasos desactivada
Desde
16 Ago 2012
Mensajes
1.347
Gracias amigo, pero puedo hacer como adf.ly que pongo un script en mi web y convierte todos los enlaces automaticamente para que los lleve al acortador, o que pueda excluir los dominios que no necesito.

Enlace eliminado@cicklow
 

Cicklow

Admin
Épsilon
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
966
Gracias amigo, pero puedo hacer como adf.ly que pongo un script en mi web y convierte todos los enlaces automaticamente para que los lleve al acortador, o que pueda excluir los dominios que no necesito.

Enlace eliminado@cicklow

Si tienes WP es facil. Sino con jQuery tmb se puede.
 

Cicklow

Admin
Épsilon
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
966
Hola, te ha quedado muy bien. ¿Como le hiciste para poner adsense?

Si te fijas el "adsense" son imagenes, el usuario todavia no edito el codigo para poner adsense, sino que son imagenes de los banners :)
 
U

Usuario eliminado 24959

Si te fijas el "adsense" son imagenes, el usuario todavia no edito el codigo para poner adsense, sino que son imagenes de los banners :)

:p7: Es verdad jeje. Pero... ¿es aceptado por Adsense poner anuncios en esta clase de acortadores? Sino, también se pudiera usar otro tipo de publicidad.
 

Cicklow

Admin
Épsilon
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
966
:p7: Es verdad jeje. Pero... ¿es aceptado por Adsense poner anuncios en esta clase de acortadores? Sino, también se pudiera usar otro tipo de publicidad.

no creo que tengas problema. Ya que no estas infringiendo nada. Lo unico que seria es que no tiene mucho contenido... pero por lo demas no hay drama.
 

Joker

Beta
Social Media
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
10 Jun 2012
Mensajes
62
Vaya amigo, gracias por el aporte. Muy bueno. :encouragement:
 

Cicklow

Admin
Épsilon
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
966

Irrepetible

Beta
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
7 Sep 2012
Mensajes
61
muchas gracias me sirvió de ayuda :)
 

deskpro123

VIP
Iota
Verificación en dos pasos activada
Verificado por Whatsapp
Suscripción a IA
Desde
5 Jun 2012
Mensajes
2.014
Exelente aporte :D

Alguien lo usa con adsense??? Que tal??? ningun banneo??? He visto que en scriptmafia lo usan y no los bannean jeje.

Saludos espero respuestas.
 

jerelesi

1
Lambda
Social Media
Verificación en dos pasos activada
Verificado por Whatsapp
Suscripción a IA
Desde
4 Nov 2011
Mensajes
2.955
Muy bueno gracias, pero me uno a la pregunta, de quien lo a utilizado sin que lo baneen de adsense

Enviado desde mi XT615 usando Tapatalk 2
 

Jorge Slayer

Delta
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
5 Jul 2011
Mensajes
619
Buen aporte, sin duda :encouragement:

Sobre el ban de Adsense, siempre es recomendable consultar antes con Adsense si es o no compatible este sistema con su publicidad, para evitar complicaciones (y para no perder horas de sueño de paso :welcoming:).
 

sondeoh

Eta
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
23 Nov 2012
Mensajes
1.411
unas criticas constructivas:

algunas cosas malas:

1. El uso de comillas dobles en el codigo php

2. El uso de comillas dobles en las querys

3. El tapar errores usando @

4. la mezcla de OOP con estructurada

5. al utilizar mysql_fetch_array se extrae la información en un array el doble de largo.

6. en los IFS podrias haber usado isset() or empty()


eso es todo :encouragement:

no lo hago ni para bardear ni nada solo es una critica constructiva :encouragement:
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba