Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/04/2011, 16:27
naruto261195
 
Fecha de Ingreso: abril-2011
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Ayuda-script de acortador

Cita:
Iniciado por GrupoC Ver Mensaje
El error te da en hjurl.php, no en el script que has colgado.

Un saludo
aqui agrego el codigo de hjurl.php
Código PHP:
<?php /* lilurl.php ( lilURL class file ) */

class lilURL
{
    
// constructor
    
function lilURL()
    {
        
// open mysql connection
        
mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) or die('Could not connect to database');
        
mysql_select_db(MYSQL_DB) or die('Could not select database');    
    }

    
// return the id for a given url (or -1 if the url doesn't exist)
    
function get_id($url)
    {
        
$q 'SELECT id FROM '.URL_TABLE.' WHERE (url="'.$url.'")';
        
$result mysql_query($q);

        if ( 
mysql_num_rows($result) )
        {
            
$row mysql_fetch_array($result);
            return 
$row['id'];
        }
        else
        {
            return -
1;
        }
    }

    
// return the url for a given id (or -1 if the id doesn't exist)
    
function get_url($id)
    {
        
$q 'SELECT url FROM '.URL_TABLE.' WHERE (id="'.$id.'")';
        
$result mysql_query($q);

        if ( 
mysql_num_rows($result) )
        {
            
$row mysql_fetch_array($result);
            return 
$row['url'];
        }
        else
        {
            return -
1;
        }
    }
    
    
// add a url to the database
    
function add_url($url)
    {
        
// check to see if the url's already in there
        
$id $this->get_id($url);
        
        
// if it is, return true
        
if ( $id != -)
        {
            return 
true;
        }
        else 
// otherwise, put it in
        
{
            
$id $this->get_next_id($this->get_last_id());
            
$q 'INSERT INTO '.URL_TABLE.' (id, url, date) VALUES ("'.$id.'", "'.$url.'", NOW())';

            return 
mysql_query($q);
        }
    }

    
// return the most recent id (or -1 if no ids exist)
    
function get_last_id()
    {    
        
$q 'SELECT id FROM '.URL_TABLE.' ORDER BY date DESC LIMIT 1';
        
$result mysql_query($q);

        if ( 
mysql_num_rows($result ) )
        {
            
$row mysql_fetch_array($result);
            return 
$row['id'];
        }
        else
        {
            return -
1;
        }
    }    

    
// return the next id
    
function get_next_id($last_id)
    { 
    
        
// if the last id is -1 (non-existant), start at the begining with 0
        
if ( $last_id == -)
        {
            
$next_id 0;
        }
        else
        {
            
// loop through the id string until we find a character to increment
            
for ( $x 1$x <= strlen($last_id); $x++ )
            {
                
$pos strlen($last_id) - $x;

                if ( 
$last_id[$pos] != 'z' )
                {
                    
$next_id $this->increment_id($last_id$pos);
                    break; 
// <- kill the for loop once we've found our char
                
}
            }

            
// if every character was already at its max value (z),
            // append another character to the string
            
if ( !isSet($next_id) )
            {
                
$next_id $this->append_id($last_id);
            }
        }

        
// check to see if the $next_id we made already exists, and if it does, 
        // loop the function until we find one that doesn't
        //
        // (this is basically a failsafe to get around the potential dangers of
        //  my kludgey use of a timestamp to pick the most recent id)
        
$q 'SELECT id FROM '.URL_TABLE.' WHERE (id="'.$next_id.'")';
        
$result mysql_query($q);
        
        if ( 
mysql_num_rows($result) )
        {
            
$next_id $this->get_next_id($next_id);
        }

        return 
$next_id;
    }

    
// make every character in the string 0, and then add an additional 0 to that
    
function append_id($id)
    {
        for ( 
$x 0$x strlen($id); $x++ )
        {
            
$id[$x] = 0;
        }

        
$id .= 0;

        return 
$id;
    }

    
// increment a character to the next alphanumeric value and return the modified id
    
function increment_id($id$pos)
    {        
        
$char $id[$pos];
        
        
// add 1 to numeric values
        
if ( is_numeric($char) )
        {
            if ( 
$char )
            {
                
$new_char $char 1;
            }
            else 
// if we're at 9, it's time to move to the alphabet
            
{
                
$new_char 'a';
            }
        }
        else 
// move it up the alphabet
        
{
            
$new_char chr(ord($char) + 1);
        }

        
$id[$pos] = $new_char;
        
        
// set all characters after the one we're modifying to 0
        
if ( $pos != (strlen($id) - 1) )
        {
            for ( 
$x = ($pos 1); $x strlen($id); $x++ )
            {
                
$id[$x] = 0;
            }
        }

        return 
$id;
    }

}

?>