Foros del Web » Programando para Internet » PHP »

imagenes aleatoria de usuario en comentarios

Estas en el tema de imagenes aleatoria de usuario en comentarios en el foro de PHP en Foros del Web. hola resulta que hice un sistema de comentarios, con area de texto de comentarios y su avatar lo que pasa es que tengo un avatar ...
  #1 (permalink)  
Antiguo 15/11/2013, 12:10
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 10 años, 6 meses
Puntos: 0
imagenes aleatoria de usuario en comentarios

hola

resulta que hice un sistema de comentarios, con area de texto de comentarios y su avatar

lo que pasa es que tengo un avatar el cual esta en la carpeta imagenes
y lo pongo en comentarios, lo que quisiera es que cuando todos comenten
no tengan el mismo avatar del muñequito, si no que salga un diseño diferente
cada vez que se comenta

Como podría hacer esto?
  #2 (permalink)  
Antiguo 15/11/2013, 12:15
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: imagenes aleatoria de usuario en comentarios

Eso lo tiene que hacer el lenguaje de servidor con el que programes, y se soluciona utilizando varias imágenes de avatar "por defecto".
En cada comentario de usuario sin avatar, escoge aleatoriamente una de esas imágenes.
O para el primer comentario sin avatar, escoge la primera, para el siguiente, la segunda, etc. Cuando llegues ala última imagen, la siguiente volverá a ser la primera. Y así todo el rato de manera cíclica.
  #3 (permalink)  
Antiguo 15/11/2013, 12:28
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: imagenes aleatoria de usuario en comentarios

Cita:
Iniciado por marlanga Ver Mensaje
Eso lo tiene que hacer el lenguaje de servidor con el que programes, y se soluciona utilizando varias imágenes de avatar "por defecto".
En cada comentario de usuario sin avatar, escoge aleatoriamente una de esas imágenes.
O para el primer comentario sin avatar, escoge la primera, para el siguiente, la segunda, etc. Cuando llegues ala última imagen, la siguiente volverá a ser la primera. Y así todo el rato de manera cíclica.
ok entiendo, pero por donde empezaría, no te digo que me des un tutorial completo,
solo quiero saber que herramientas debería utilizar para partir se alli
gracias
  #4 (permalink)  
Antiguo 15/11/2013, 13:04
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: imagenes aleatoria de usuario en comentarios

¿Herramientas? Con el bloc de notas que viene con windows se puede programar, aunque yo utilizo un editor que colorea el código, sublime text 2.

Lo que creo que te falta son conocimientos. ¿Has hecho un sistema de login de usuarios con comentarios, y no sabes hacer lo que te dije? Suena raro.
  #5 (permalink)  
Antiguo 15/11/2013, 13:44
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: imagenes aleatoria de usuario en comentarios

Cita:
Iniciado por marlanga Ver Mensaje
¿Herramientas? Con el bloc de notas que viene con windows se puede programar, aunque yo utilizo un editor que colorea el código, sublime text 2.

Lo que creo que te falta son conocimientos. ¿Has hecho un sistema de login de usuarios con comentarios, y no sabes hacer lo que te dije? Suena raro.
perdona si me hice entender mal

lo que pasa es que tengo un archivo php en el cual dentro tiene
el código html que va a insertar en el dom, una vez que el usuario envié el comentario

dentro de este la imagen solo esta vinculada hacia la carpeta imágenes
ej: img="img/user.jpg" y asi se muestra pero solo esa imagen

en otro achivo html tengo este ejemplo que cambia cada vez que se actualiza
[URL="http://redcrear.com/avatar/avatar"]http://redcrear.com/avatar/avatar[/URL]
pero no se como lo integraría con el sistema de comentarios

aunque creo que me esto complicando
  #6 (permalink)  
Antiguo 15/11/2013, 14:05
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: imagenes aleatoria de usuario en comentarios

Apenas entiendo nada de tu último comentario. Pon todo el código involucrado, o explícalo mejor.
  #7 (permalink)  
Antiguo 15/11/2013, 14:11
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: imagenes aleatoria de usuario en comentarios

Cita:
Iniciado por marlanga Ver Mensaje
Apenas entiendo nada de tu último comentario. Pon todo el código involucrado, o explícalo mejor.

aca esta el codigo que inserta el comentario
Código PHP:
<?php

class Comment
{
    private 
$data = array();
    
    public function 
__construct($row)
    {
                
        
$this->data $row;
    }
    
    public function 
markup()
    {        

        
$d = &$this->data;
        
        
$link_open '';
        
$link_close '';
        
        if(
$d['url']){
                
            
            
$link_open '<a href="'.$d['url'].'">';
            
$link_close =  '</a>';
        }
        
    
        
$d['dt'] = strtotime($d['dt']);
        
        
// Needed for the default gravatar image:
        
$url 'http://'.dirname($_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]).'/img/default_avatar.gif';
        
        return 
'
        
            <div class="comment">
                <div class="avatar">
                    '
.$link_open.'
                    <img src="img/user.png" />
                    '
.$link_close.'
                </div>
                
               <div class="name">'
.$link_open.$d['name'].$link_close.'</div>
                <div class="date" title="Added at '
.date('H:i \o\n d M Y',$d['dt']).'">'.date('d M Y',$d['dt']).'</div>
                <p> Dice:</p> <p>'
.$d['body'].'</p>
            </div>
        '
;
    }
    
    public static function 
validate(&$arr)
    {
                
        
$errors = array();
        
$data    = array();
        
        
        if(!(
$data['email'] = filter_input(INPUT_POST,'email',FILTER_VALIDATE_EMAIL)))
        {
            
$errors['email'] = 'Por favor digita un correo valido.';
        }
        
        if(!(
$data['url'] = filter_input(INPUT_POST,'url',FILTER_VALIDATE_URL)))
        {
            
            
            
$url '';
        }
        
    
        
        if(!(
$data['body'] = filter_input(INPUT_POST,'body',FILTER_CALLBACK,array('options'=>'Comment::validate_text'))))
        {
            
$errors['body'] = 'Debes comentar anes de enviar.';
        }
        
        if(!(
$data['name'] = filter_input(INPUT_POST,'name',FILTER_CALLBACK,array('options'=>'Comment::validate_text'))))
        {
            
$errors['name'] = 'Por favor digita tu nombe.';
        }
        
        if(!empty(
$errors)){
            
            
            
            
$arr $errors;
            return 
false;
        }
            
        
        foreach(
$data as $k=>$v){
            
$arr[$k] = mysql_real_escape_string($v);
        }
        
        
// Ensure that the email is lower case:
        
        
$arr['email'] = strtolower(trim($arr['email']));
        
        return 
true;
        
    }

    private static function 
validate_text($str)
    {
        
        
        if(
mb_strlen($str,'utf8')<1)
            return 
false;
        
    
        
$str nl2br(htmlspecialchars($str));
        
        
// Remove the new line characters that are left
        
$str str_replace(array(chr(10),chr(13)),'',$str);
        
        return 
$str;
    }

}

?>
  #8 (permalink)  
Antiguo 15/11/2013, 14:29
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: imagenes aleatoria de usuario en comentarios

Código PHP:
Ver original
  1. public function markup()
  2.     {        
  3.  
  4.         $d = &$this->data;
  5.          
  6.         $link_open = '';
  7.         $link_close = '';
  8.          
  9.         if($d['url']){
  10.                  
  11.              
  12.             $link_open = '<a href="'.$d['url'].'">';
  13.             $link_close =  '</a>';
  14.         }
  15.          
  16.      
  17.         $d['dt'] = strtotime($d['dt']);
  18.          
  19.         // Needed for the default gravatar image:
  20.         $url = 'http://'.dirname($_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]).'/img/default_avatar.gif';
  21.          
  22.         return '
  23.        
  24.            <div class="comment">
  25.                <div class="avatar">
  26.                    '.$link_open.'
  27.                    <img src="img/user.png" />
  28.                    '.$link_close.'
  29.                </div>
  30.                
  31.               <div class="name">'.$link_open.$d['name'].$link_close.'</div>
  32.                <div class="date" title="Added at '.date('H:i \o\n d M Y',$d['dt']).'">'.date('d M Y',$d['dt']).'</div>
  33.                <p> Dice:</p> <p>'.$d['body'].'</p>
  34.            </div>
  35.        ';
  36.     }

Ahí siempre estás usando como avatar una imagen fija:
<img src="img/user.png" />

Eso no debería ser así. Tendrías que comprobar si el usuario de ese comentario tiene una imagen como avatar, y si no la tiene, poner por ejemplo una imagen aleatoria de un conjunto de imágenes que tu pongas para los que no tengan avatar. Si no quieres liarte con las rutas, utiliza "/" al principio de la url, que es un apuntador al dominio absoluto donde está alojada la página (por ejemplo, www.ejemplo.com), y a partir de ahí, pon la ruta a las imágenes.

Código PHP:
Ver original
  1. // Needed for the default gravatar image:
  2.         $url = 'http://'.dirname($_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]).'/img/default_avatar.gif';
Aquí el tipo al que le has robado el código ya hizo un amago de poner una imagen para avatar por defecto, pero después no la pone como SRC del imagen dentro del DIV de avatar, porque parace que se quedó a medio.
  #9 (permalink)  
Antiguo 15/11/2013, 16:01
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: imagenes aleatoria de usuario en comentarios

Cita:
Iniciado por marlanga Ver Mensaje
Código PHP:
Ver original
  1. public function markup()
  2.     {        
  3.  
  4.         $d = &$this->data;
  5.          
  6.         $link_open = '';
  7.         $link_close = '';
  8.          
  9.         if($d['url']){
  10.                  
  11.              
  12.             $link_open = '<a href="'.$d['url'].'">';
  13.             $link_close =  '</a>';
  14.         }
  15.          
  16.      
  17.         $d['dt'] = strtotime($d['dt']);
  18.          
  19.         // Needed for the default gravatar image:
  20.         $url = 'http://'.dirname($_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]).'/img/default_avatar.gif';
  21.          
  22.         return '
  23.        
  24.            <div class="comment">
  25.                <div class="avatar">
  26.                    '.$link_open.'
  27.                    <img src="img/user.png" />
  28.                    '.$link_close.'
  29.                </div>
  30.                
  31.               <div class="name">'.$link_open.$d['name'].$link_close.'</div>
  32.                <div class="date" title="Added at '.date('H:i \o\n d M Y',$d['dt']).'">'.date('d M Y',$d['dt']).'</div>
  33.                <p> Dice:</p> <p>'.$d['body'].'</p>
  34.            </div>
  35.        ';
  36.     }

Ahí siempre estás usando como avatar una imagen fija:
<img src="img/user.png" />

Eso no debería ser así. Tendrías que comprobar si el usuario de ese comentario tiene una imagen como avatar, y si no la tiene, poner por ejemplo una imagen aleatoria de un conjunto de imágenes que tu pongas para los que no tengan avatar. Si no quieres liarte con las rutas, utiliza "/" al principio de la url, que es un apuntador al dominio absoluto donde está alojada la página (por ejemplo, [url]www.ejemplo.com[/url]), y a partir de ahí, pon la ruta a las imágenes.

Código PHP:
Ver original
  1. // Needed for the default gravatar image:
  2.         $url = 'http://'.dirname($_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]).'/img/default_avatar.gif';
Aquí el tipo al que le has robado el código ya hizo un amago de poner una imagen para avatar por defecto, pero después no la pone como SRC del imagen dentro del DIV de avatar, porque parace que se quedó a medio.
cierto solo queria que esa imagen po default sea aleatoria osea un imagen por default diferente, fuera de la imagen real del usuario
  #10 (permalink)  
Antiguo 15/11/2013, 20:50
 
Fecha de Ingreso: julio-2010
Mensajes: 127
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: imagenes aleatoria de usuario en comentarios

Puedes poner el siguiente código donde tienes: <img src="img/user.png" />

Código PHP:
$default_images = Array ("image1.jpg","photo3.jpg","colors.png");
$rand_image rand count$default_images ) - );
echo 
"<img src=\"" $default_images[$rand_image] . "\" />"
En el array pon la dirección de cada imagen que vas a usar; Otra cosa recuerda que esto solo escoge imágenes al azar, no toma en cuenta si el usuario tiene o no una imagen pre-establecida.
__________________
Mi ultima web.

Última edición por rodojpm; 15/11/2013 a las 20:53 Razón: El código estaba incorrecto

Etiquetas: avatar, javascript, query
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 22:10.