Foros del Web » Programando para Internet » PHP »

tipo de programación de la pagina AdFly

Estas en el tema de tipo de programación de la pagina AdFly en el foro de PHP en Foros del Web. Hola gente, me entro la curiosidad de como funciona la pagina de AdFly en el empeño de acortar las url que son extensamente largas. Es ...
  #1 (permalink)  
Antiguo 12/03/2014, 20:23
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 10 meses
Puntos: 5
Pregunta tipo de programación de la pagina AdFly

Hola gente, me entro la curiosidad de como funciona la pagina de AdFly en el empeño de acortar las url que son extensamente largas.

Es que quiero hacer un script similar a como lo hace esa pagina, pero lo único que me falta es la ultima parte, es decir, cuando ya generé la URL acortada (que tmb la almacena en una base de datos); luego al querer ingresarlo desde un navegador, este me dice que no existe (y esta en la base de datos), no se como hacer la comparación.
Acá les dejo lo que tengo realizado
create.php
Código PHP:
[HTML]<form action="<?php echo $_SERVER['PHP_SELF'?>" method="post">
<div class="module_content">
   <fieldset>
   <label>Links de Redirección</label><br>
   <input name="link" type="text" size="45" required>
   </fieldset>
   <div class="clear"></div>
</div>
<footer>
<div class="submit_link">
<input type="submit" name="Publish" value="Crear URL" class="alt_btn">
</div>
</footer>
</form>[/HTML]

<?php
if(isset($_POST['Publish'])){
    
$redirect$_POST['link'];
        
/*Comienzo de la funcion de redireccion*/
    
$rand_linksubstr(md5(uniqid(rand())),0,5);
    
$URL'http://acceso10.com/?r='.$rand_link;
/*Fin de la funcion de redireccion*/

    
    
require('config/connect.php');
    
$escritura_BD"INSERT INTO $tabla1 (redirect url, identificado) VALUES ('$redirect',  '$URL', '$rand_link')";
    
$sqlmysql_query($escritura_BD);
    
    echo 
'<h4 class="alert_success">URL Generada con Exito!! <input name="URL" type="text" value="'.$URL.'" size="40" readonly onclick="this.focus();this.select()"> (Copie y pegue este links)</h4>';
    
mysql_close($connect);    
}
?>
Por ejemplo si en el formulario se ingreso
Código:
http://Tu_Sitio_Web.com.ar/una_carpetita/index.php/un_anito_o_fecha/2014-03-01/acaTermina.html
y la pagina luego le genero una url cortita tipo:
Código:
http://acceso10.com/?r=A4tx1
Pero luego no se como seguir

Alguna ayuda???
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #2 (permalink)  
Antiguo 12/03/2014, 21:07
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 10 meses
Puntos: 5
Exclamación Respuesta: tipo de programación de la pagina AdFly

Aca les dejo lo que tengo en el index.php
Código PHP:
<?php
require('config/connect.php');
$r $_GET['url'];
$identificador"SELECT * FROM $tabla1 WHERE identificado='$r'";
$consulta_BDmysql_query($identificador);
while(
$refmysql_fetch_array($consulta_BD)){
    
$red$ref['redirect'];
    
$uri$ref['url'];

if(
$r == $uri){
    echo 
"<META HTTP-EQUIV=Refresh CONTENT='5; URL='.$red.''>";
}else{
    echo 
"i es igual a 1";
}
//fin del If    
}//Fin del while
?>
evidentemente cuando abro http://localhost/acceso10/?r=ce4fb (que es donde tengo alojado el index de prueba), me arroja lo siguiente:

Código:
Notice: Undefined index: url in C:\xampp\htdocs\acceso10\index.php on line 3
No se como definir el $r

EDITO:
la url del post de arriba no es http://acceso10.mexima.com/?r= sino que es http://localhost/acceso10/?r=
Es que me equivoque al escribirlo; lo estoy ejecutando desde localhost no desde una pagina (asi se los aclaro, por cualquier cosa)
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.

Última edición por alette666; 12/03/2014 a las 21:13
  #3 (permalink)  
Antiguo 13/03/2014, 07:33
 
Fecha de Ingreso: octubre-2012
Mensajes: 135
Antigüedad: 12 años, 2 meses
Puntos: 8
Respuesta: tipo de programación de la pagina AdFly

Si tu dominio es xxx.com y el dominio que ingresan es yyy.com, el acrotador tiene que devolver xxx.com/cadena al azar de x digitos.
Tu archivo index tiene que recoger esos digitos recuperar de la base de datos la url yyy.com y redireccionar en x segundos para ver publicidad.

La tabla de la base de de datos puede ser:
Id
Url_original
Url_acortada
Usuario(opcional) para saber quien registra cada url

EDITO:
El error te da ya que cuando obtienes una variable con get, tienez que poner el nombre que tiene en el url.
Sería así:
Variable = $_GET["r"] ya que en la url que recibes tiene ese nombre
  #4 (permalink)  
Antiguo 13/03/2014, 18:45
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 10 meses
Puntos: 5
Pregunta Respuesta: tipo de programación de la pagina AdFly

botxii mira te dejaré como esta ahora, y como me aparece (también te dejaré la BD como la tengo construida y lo q tengo almacenado)

---------------------------------------------
ID | __REDIRECT_ | _URL _____________ | IDENTIFICADO |
---------------------------------------------
1 | facebook.com | localhost/?r=8f46d | 8f46d
---------------------------------------------
2 | google.com.ar | localhost/?r=ce4fb | ce4fb
---------------------------------------------

y esta es como queda index.php

Código PHP:
<?php
require('config/connect.php');
$r $_GET['r'];
$identificador"SELECT * FROM $tabla1 WHERE identificado='$r'";
$consulta_BDmysql_query($identificador);
while(
$refmysql_fetch_array($consulta_BD)){
    
$red$ref['redirect'];
    
$uri$ref['url'];

     if(
$r == $uri){
    echo 
$red;
       }else{
    echo 
"MMM creo que le erraste al links; acá no hay nada por lo que se ve a simple vista [volver a la pagina principal]";
     }
}
?>
Ahora el resultado:

Cuando coloco en el navegador localhost/?r=8f46d
me debería aparecer facebook.com , pero lo único que me aparece es "MMM creo que le erraste al links; acá no hay nada por lo que se ve a simple vista [volver a la pagina principal]".

Ahora, si modifico WHERE identificado='$r' por WHERE url='$r' en este caso no me aparece nada (pagina vacía y en blanco).

Que puede ser??
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #5 (permalink)  
Antiguo 13/03/2014, 20:23
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: tipo de programación de la pagina AdFly

Cita:
Iniciado por botxii Ver Mensaje
EDITO:
El error te da ya que cuando obtienes una variable con get, tienez que poner el nombre que tiene en el url.
Sería así:
Variable = $_GET["r"] ya que en la url que recibes tiene ese nombre
Bien creo que pude encontrar el error; definitivamente lo deje asi:

index.php
Código PHP:
<?php
require('config/connect.php');
$r $_GET['r'];
$identificador"SELECT * FROM $tabla1 WHERE identificado='$r'";
$consulta_BDmysql_query($identificador);
while(
$refmysql_fetch_array($consulta_BD)){
    
$red$ref['redirect'];
    
$uri$ref['url'];

if(
$r){
    echo 
"Te muestro .$red.";
}else{
    echo 
'UPS!! Creo que no existe tal enlace!';
}
//Fin del IF
}//Fin del While
?>
Y ahora al ingresar en el navegador:
localhost/?r=8f46d el resultado es Te muestro facebook.com
pero (hice pruebas para ver si al ingresarlo incorrectamente me mostraría el "UPS!! Creo que no existe tal enlace!"; pero no me aparece (me muestra una pagina en blanco y sin nada)
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #6 (permalink)  
Antiguo 14/03/2014, 11:43
 
Fecha de Ingreso: octubre-2012
Mensajes: 135
Antigüedad: 12 años, 2 meses
Puntos: 8
Respuesta: tipo de programación de la pagina AdFly

prueba a hacer el if para saber si existe así:
if($red == ""){
// no existe
}{
// existe
}
  #7 (permalink)  
Antiguo 14/03/2014, 19:07
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: tipo de programación de la pagina AdFly

Cita:
Iniciado por botxii Ver Mensaje
prueba a hacer el if para saber si existe así:
if($red == ""){
// no existe
}{
// existe
}
Hola botxii.
Y que pongo entre las comillas q estan vacias??
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #8 (permalink)  
Antiguo 15/03/2014, 01:16
 
Fecha de Ingreso: octubre-2012
Mensajes: 135
Antigüedad: 12 años, 2 meses
Puntos: 8
Respuesta: tipo de programación de la pagina AdFly

nada. Ese código mira si la variable $red, que es la que guarda el link sin acortar está vacía, en ese caso, es que no hay link, si no está vacío es que si que hay.
También se puede poner así:
if(empty($red)){
// no existe
}else{
// si existe
}

Etiquetas: scripts, urls
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:20.