InicioCiencia EducacionCrear 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]:
<?php
#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']);
    }
}
}
?>
<!DOCTYPE html>
<html>
<head>
    <title>Redirecciones</title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <meta charset="utf-8">
    <style type="text/css">
    body {
        padding: 0px;
        margin: 0px;
        text-align: center;
        background-color: #cececE;
    }

    * {
        margin: 0px;
        padding: 0px;
    }

    .form {
        box-shadow: 3px 3px 3px;
        padding: 10px;
        width: 500px;
        margin-left: 35%;
        background-color: white;
    }

    .form input[type='text'] {
        width: 400px;
    }
    </style>
</head>
<body>
<div class="form">
    <h2>Crear Redireccion:</h2>
    <form id="acortar" method="get" action="create_redirect.php">
        Acortar: <input type="text" id="url" placeholder="http://" name="url" required/><input type="submit" value="=> <=" />
    </form>
    <script type="text/javascript">
    $('#acortar').submit(function(e) {
        e.preventDefault();
        $.ajax({
            url: $(this).attr('action'),
            type: 'get',
            data: $(this).serialize(),
            beforeSend: function(){
                $('#url').val('Acortando...');
            },
            success: function(data){
                $('#url').val(data);
            }
        });
    });
    </script>
</div>
</body>
</html>


Esta es mi pagina con el mismo sistema:
re.vv.si


link taringa:
http://re.vv.si/?r=Kixtt

nos vemos


Datos archivados del Taringa! original
15puntos
520visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

l
lynx1499🇦🇷
Usuario
Puntos0
Posts43
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.