Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/02/2012, 05:18
J0RG325
 
Fecha de Ingreso: febrero-2012
Mensajes: 34
Antigüedad: 12 años, 3 meses
Puntos: 0
Sistema de Usuarios AVATARES

Hola amigos nuevamente saludando por aca y con unas dudas.

Tengo mi sistema de usuarios que incluye Avatar, el primero problema que tengo es el siguiente en el area del registro yo puse que los usuarios puedan poner un avatar, pero como mi sistema no es tan avanzado tu foto de perfil no la puedes subir desde tu pc, sera la url de una imagen de google, este es mi codigo:

Código PHP:
<?php
    
include('config.php'); // incluimos el archivo de conexión a la Base de Datos
    
if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario
        // creamos una función que nos parmita validar el email
        
function valida_email($correo) {
        if (
preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4}$/'$correo)) return true;
        else return 
false;
        } 
        
// Procedemos a comprobar que los campos del formulario no estén vacíos
        
$sin_espacios count_chars($_POST['usuario_nombre'], 1);
        if(!empty(
$sin_espacios[32])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco
            
echo "El campo <em>usuario_nombre</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a>";
        }elseif(empty(
$_POST['usuario_nombre'])) { // comprobamos que el campo usuario_nombre no esté vacío
            
echo "".text_register_username."";
        }elseif(empty(
$_POST['usuario_clave'])) { // comprobamos que el campo usuario_clave no esté vacío
            
echo "".text_register_password."";
        }elseif(
$_POST['usuario_clave'] != $_POST['usuario_clave_conf']) { // comprobamos que las contraseñas ingresadas coincidan
            
echo "".text_register_password_match."";
        }elseif(!
valida_email($_POST['usuario_email'])) { // validamos que el email ingresado sea correcto
            
echo "".text_register_email_used."";
        }elseif(empty(
$_POST['usuario_avatar'])) { // validamos que el email ingresado sea correcto
            
echo "SE TE OLVIDO PONER EL AVATAR MEN! <a href='javascript:history.back();'>Reintentar</a>";
        }else {
            
// "limpiamos" los campos del formulario de posibles códigos maliciosos
            
$usuario_nombre mysql_real_escape_string($_POST['usuario_nombre']);
            
$usuario_clave mysql_real_escape_string($_POST['usuario_clave']);
            
$usuario_email mysql_real_escape_string($_POST['usuario_email']);
            
$usuario_avatar mysql_real_escape_string($_POST['usuario_avatar']);
            
// comprobamos que el usuario ingresado no haya sido registrado antes
            
$sql mysql_query("SELECT usuario_nombre FROM usuarios WHERE usuario_nombre = '$usuario_nombre'"
            or die (
mysql_error());
            if(
mysql_num_rows($sql) > 0) {
                echo 
"".text_register_user_used."";
            }else {
                
$usuario_clave md5($usuario_clave); // encriptamos la contraseña ingresada con md5
                // ingresamos los datos a la BD
                
$reg mysql_query("INSERT INTO usuarios (usuario_nombre, usuario_clave, usuario_email, usuario_avatar, usuario_freg) VALUES ('".$usuario_nombre."', '".$usuario_clave."', '".$usuario_email."', '".$usuario_avatar."', NOW())");
                if(
$reg) {
                    echo 
"".text_register_successfully."";
                }else {
                    echo 
"".text_register_error."";
                }
            }
        }
    }else {
?>
    <form action="index.php?page_id=registro" method="post">
        <label><?php echo text_register_username?></label><br />
        <input type="text" name="usuario_nombre" maxlength="15" /><br />
        <label><?php echo text_register_password?></label><br />
        <input type="password" name="usuario_clave" maxlength="15" /><br />
        <label><?php echo text_register_password_repeat?></label><br />
        <input type="password" name="usuario_clave_conf" maxlength="15" /><br />
        <label><?php echo text_register_email?></label><br />
        <input type="text" name="usuario_email" maxlength="50" /><br />
        <label>AVATAR</label><br />
        <input type="text" name="usuario_avatar" maxlength="250" /><br />
        <input type="submit" name="enviar" value="<?php echo text_button_account_create?>" />
        <input type="reset" value="<?php echo text_button_register_cleaner?>" />
    </form>
<?php
    
}
?>
Pero yo dije y si la persona no tiene una imagen en ese momento pues que mi sistema le ponga una imagen de vatar por default y mi sistema me quedo de la siguiente forma:

Código PHP:
<?php
    
include('config.php'); // incluimos el archivo de conexión a la Base de Datos
    
if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario
        // creamos una función que nos parmita validar el email
        
function valida_email($correo) {
        if (
preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4}$/'$correo)) return true;
        else return 
false;
        } 
        
// Procedemos a comprobar que los campos del formulario no estén vacíos
        
$sin_espacios count_chars($_POST['usuario_nombre'], 1);
        if(!empty(
$sin_espacios[32])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco
            
echo "El campo <em>usuario_nombre</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a>";
        }elseif(empty(
$_POST['usuario_nombre'])) { // comprobamos que el campo usuario_nombre no esté vacío
            
echo "".text_register_username."";
        }elseif(empty(
$_POST['usuario_clave'])) { // comprobamos que el campo usuario_clave no esté vacío
            
echo "".text_register_password."";
        }elseif(
$_POST['usuario_clave'] != $_POST['usuario_clave_conf']) { // comprobamos que las contraseñas ingresadas coincidan
            
echo "".text_register_password_match."";
        }elseif(!
valida_email($_POST['usuario_email'])) { // validamos que el email ingresado sea correcto
            
echo "".text_register_email_used."";
        }elseif(empty(
$_POST['usuario_avatar'])) { // validamos que el email ingresado sea correcto
            
echo "SE TE OLVIDO PONER EL AVATAR MEN! <a href='javascript:history.back();'>Reintentar</a>";
        }else {            
// "limpiamos" los campos del formulario de posibles códigos maliciosos
            
$usuario_nombre mysql_real_escape_string($_POST['usuario_nombre']);
            
$usuario_clave mysql_real_escape_string($_POST['usuario_clave']);
            
$usuario_email mysql_real_escape_string($_POST['usuario_email']);
            
// comprobamos que el usuario ingresado no haya sido registrado antes
            
$sql mysql_query("SELECT usuario_nombre FROM usuarios WHERE usuario_nombre = '$usuario_nombre'"
            or die (
mysql_error());
            if(
mysql_num_rows($sql) > 0) {
                echo 
"".text_register_user_used."";
            }else {
                
$usuario_clave md5($usuario_clave); // encriptamos la contraseña ingresada con md5
                // ingresamos los datos a la BD
                
$reg mysql_query("INSERT INTO usuarios (usuario_nombre, usuario_clave, usuario_email, usuario_avatar, usuario_freg) VALUES ('".$usuario_nombre."', '".$usuario_clave."', '".$usuario_email."', 'images/no_avatar.jpg', NOW())");
                if(
$reg) {
                    echo 
"".text_register_successfully."";
                }else {
                    echo 
"".text_register_error."";
                }
            }
        }
    }else {
?>
    <form action="index.php?page_id=registro" method="post">
        <label><?php echo text_register_username?></label><br />
        <input type="text" name="usuario_nombre" maxlength="15" /><br />
        <label><?php echo text_register_password?></label><br />
        <input type="password" name="usuario_clave" maxlength="15" /><br />
        <label><?php echo text_register_password_repeat?></label><br />
        <input type="password" name="usuario_clave_conf" maxlength="15" /><br />
        <label><?php echo text_register_email?></label><br />
        <input type="text" name="usuario_email" maxlength="50" /><br />
        <label>AVATAR</label><br />
        <input type="text" name="usuario_avatar" maxlength="250" /><br />
        <input type="submit" name="enviar" value="<?php echo text_button_account_create?>" />
        <input type="reset" value="<?php echo text_button_register_cleaner?>" />
    </form>
<?php
    
}
?>
El problema que se sucita esque si la persona SI tiene una imagen de avatar y la pone el sistema de registra pero no te agarra tu imagen, registra la imagen que el sistema pone por default que se llama no_avatar.jpg pero yo quiero que la persona tenga la posibilidad de poner la url de su imagen, espero me puedan ayudar con esto.