Check the new version here

Popular channels

Crear acortador de urls[php, mysql, jquery]


Crear acortador de urls en php, mysql y jquery

creamos la tabla redirects:
CREATE TABLE IF NOT EXISTS `redirects` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `code` varchar(30) COLLATE utf8_spanish_ci NOT NULL,
  `url` longtext COLLATE utf8_spanish_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=11 ;


creamos el archivo de conexion[connect.php]:
<?php
#conectamos con la base datos
$con mysql_connect("localhost"'tu usuario''tu contraseña');
mysql_select_db('tu base de datos'$con);


creamos archivo para crear redirecciones[create_redirect.php]:
<?php
#le pedimos el archivo de conexion
require_once('connect.php');

#obtenemos el url a acortar
$url 'http://' $_GET["url"];

#creamos clave inrrepetible
function crypto_rand_secure($min$max) {
        
$range $max $min;
        if (
$range 0) return $min;
        
$log log($range2);
        
$bytes = (int) ($log 8) + 1;
        
$bits = (int) $log 1
        
$filter = (int) (<< $bits) - 1;
        do {
            
$rnd hexdec(bin2hex(openssl_random_pseudo_bytes($bytes)));
            
$rnd $rnd $filter;
        } while (
$rnd >= $range);
        return 
$min $rnd;
}

#generamos coodigo  a partir de la clave secreta
function getToken($length=32){
    
$token "";
    
$codeAlphabet "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    
$codeAlphabet.= "abcdefghijklmnopqrstuvwxyz";
    
$codeAlphabet.= "0123456789";
    for(
$i=0;$i<$length;$i++){
        
$token .= $codeAlphabet[crypto_rand_secure(0,strlen($codeAlphabet))];
    }
    return 
$token;
}

$code getToken(5);

#lo insertamos el url y el codigo y en la tabla y lo imprimos el url
mysql_query("INSERT INTO redirects(code, url) VALUES('{$code}', '{$url}')"$con);
echo 
'http://localhost/?r='$code;


creamos el index el inicio[index.php]:
[code]#si existe el codigo para redireccionar
if(isset($_GET['r']))
{
#pedimos el archivo de conexion
require_once("connect.php");

#obtenemos el codigo
$code = $_GET["r"];

#lo buscamos en la base de datos
$result = mysql_query("SELECT * FROM redirects WHERE code='$code'", $con);

#si esta lo redireccionamos hacia al url de lo contrario lo mandamos al index
if($result) {
while($row = mysql_fetch_array($result)) {
header("Location: ".$row['url']);
}
}
}
?>



Redirecciones