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.