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

  • Autor Autor Cicklow
  • Fecha de inicio Fecha de inicio
Cicklow

Cicklow

Admin
Épsilon
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
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:
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..
 
Muchas gracias :encouragement:
 
Muchas Gracias me servio mucho aquí lo tengo terminado Enlace eliminado
saludos!
 
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
 
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.
 
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 🙂
 
Si te fijas el "adsense" son imagenes, el usuario todavia no edito el codigo para poner adsense, sino que son imagenes de los banners 🙂

😛7: 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.
 
😛7: 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.
 
Vaya amigo, gracias por el aporte. Muy bueno. :encouragement:
 
Actualizado 😉
 
muchas gracias me sirvió de ayuda 🙂
 
Exelente aporte 😀

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

Saludos espero respuestas.
 
Muy buen aporte, me hacía bastante falta para mi blog. Gracias.
 
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
 
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🙂.
 
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:
 

Temas similares

Atrás
Arriba