Foros del Web » Programando para Internet » PHP »

mostrar datos bd según tipo de usuario

Estas en el tema de mostrar datos bd según tipo de usuario en el foro de PHP en Foros del Web. Hola: Estoy creando un sitio web de animales con javascript, php y base de datos. Sé como mostrar los datos de la bd en un ...
  #1 (permalink)  
Antiguo 04/03/2012, 06:41
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Pregunta mostrar datos bd según tipo de usuario

Hola:

Estoy creando un sitio web de animales con javascript, php y base de datos. Sé como mostrar los datos de la bd en un perfil general.
Mi problema es el siguiente, hay un campo del formulario de registro que te permite elegir "perro", "gato" u "otros animales". Bien, se supone que al ingresar los datos del registro, debe llevar al usuario a diferentes perfiles en función de qué tipo de animal ha elegido (no es el mismo perfil para todos). Es decir, si has seleccionado "perro" te lleva a una página de perfil con fondos y fotos de perros.
Tengo las imágenes y los diferentes perfiles, pero no tengo ni idea de cómo hacer para que se muestre un perfil u otro en función de la opción seleccionada. He estado buscando, pero no he encontrado una solución parecida a lo que necesito. ¿Alguien puede ayudarme, darme una orientación o decirme dónde puedo encontrar alguna referencia a mis necesidades? Muchas Gracias.
  #2 (permalink)  
Antiguo 04/03/2012, 07:19
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: mostrar datos bd según tipo de usuario

Pasa una variable por parámetro en la url y obténla con $_GET.

Algo muy básico para que entiendas:
Código PHP:
if( isset($_GET['categoria']) )
{

switch (
$_GET['categoria']) {
    case 
'perros':
        
//cargar el ontenido con las fotos de los perros
        
break;
    case 
'lagartos':
        
//cargar el ontenido con las fotos de los largatos
        
break;
    case 
'peces':
        
//cargar el ontenido con las fotos de los peces
        
break;
}


Y ¿De dónde sale esta variable? De tus enlaces:
www.tupagina.com?categoria=perro
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #3 (permalink)  
Antiguo 04/03/2012, 09:01
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Respuesta: mostrar datos bd según tipo de usuario

A ver si lo he entendido bien. Esto tendría que ponerlo en la misma página del formulario de registro encerrado entre las llaves php. Y donde pone // poner la dirección del perfil a donde será remitido dependiendo del tipo de animal seleccionado, ¿no? Perdona mi ignorancia.
  #4 (permalink)  
Antiguo 04/03/2012, 09:21
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: mostrar datos bd según tipo de usuario

Como bien te ha explicado IEKK, lo uqe te ha puesto ha sido un ejemplo para hacerte una idea. Sí no lo comprendes creo que deberías de repasar PHP ya que es algo muy básico

Cita:
Y donde pone // poner la dirección del perfil a donde será remitido dependiendo del tipo de animal seleccionado, ¿no? Perdona mi ignorancia.
Sí.

Saludos,
  #5 (permalink)  
Antiguo 04/03/2012, 09:25
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Respuesta: mostrar datos bd según tipo de usuario

Sí, sí, claro que sé que es un ejemplo básico, preguntaba para entender la dinámica de ese if en concreto y del switch, ya que nunca lo he usado. Tengo poca experiencia, aunque creía que lo había entendido, pero nunca está de más para salir de dudas. Gracias.
  #6 (permalink)  
Antiguo 04/03/2012, 09:41
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: mostrar datos bd según tipo de usuario

Cita:
Sí, sí, claro que sé que es un ejemplo básico, preguntaba para entender la dinámica de ese if en concreto y del switch, ya que nunca lo he usado.
Viene a decir, si la variable $_GET['categoria'] existe, entra en el switch y dependiendo del valor que lleve el $_GET (perros, lagartos o peces xD ) pues ejecutas uno u otro

Saludos,
  #7 (permalink)  
Antiguo 04/03/2012, 13:02
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 14 años, 4 meses
Puntos: 32
Respuesta: mostrar datos bd según tipo de usuario

IKKE lo que esplico es que tomes las variables pasadas por url para que apliques condiciones a tu web la manera de de pasarlas en el formulario principal donde seleccionan el tipo de animal y se manda a la URL por eso te puso

www.tupaginaweb.com?animal=perro

la web es tu dominio animal es una variable y el valor seria perro
  #8 (permalink)  
Antiguo 05/03/2012, 12:07
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Respuesta: mostrar datos bd según tipo de usuario

Pensaba que mirando el manual respecto a switch me había enterado. Pero me parece, que ahora con esta última respuesta jmabreu, me he liado... :P
  #9 (permalink)  
Antiguo 05/03/2012, 18:24
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 14 años, 4 meses
Puntos: 32
Respuesta: mostrar datos bd según tipo de usuario

se mas explicita y se te ayuda mas rapido
  #10 (permalink)  
Antiguo 09/03/2012, 14:51
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Respuesta: mostrar datos bd según tipo de usuario

A ver si lo he entendido bien, ¿el código sería así teniendo en cuenta que el campo se llama "especie" y las opciones a elegir son : "perro", "gato" y "otro"?:
Código PHP:
<?php
if( isset($_GET['especie']) )
{

switch (
$_GET['especie']) {
    case 
'perro':
        
//cargar el ontenido con las fotos de los perros
        
header("Refresh: 3; URL=http://www.animalmeeting.com/perfilperro.php?especie=perro"); 
        break;
    case 
'gato':
        
//cargar el ontenido con las fotos de los gatos
        
header("Refresh: 3; URL=http://www.animalmeeting.com?especie=gato"); 
        break;
    case 
'otro':
        
//cargar el ontenido con las fotos de los otros animales
        
header("Refresh: 3; URL=http://www.animalmeeting.com?especie=otro"); 
        break;
}

}  

?>
  #11 (permalink)  
Antiguo 09/03/2012, 15:22
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: mostrar datos bd según tipo de usuario

Sí, aunque en vez de switch mejor usar if. Llega a ser algo más rápido aunque no lo aprecies

Saludos,
  #12 (permalink)  
Antiguo 10/03/2012, 05:47
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: mostrar datos bd según tipo de usuario

Cita:
Iniciado por OsSk4R Ver Mensaje
Sí, aunque en vez de switch mejor usar if. Llega a ser algo más rápido aunque no lo aprecies

Saludos,
¿Qué un if es más rápido que un swicth? Si es 1 puede, cuando sean muchos NO.

Bueno entre otras cosas el SWITCH una vez encuentra coincidencia deja de evaluar (con sus correspondientes breaks en los case por supuesto).

En cambio si pones 100 if pasará por cada uno de ellos.

Dicho esto me parece que el tema de la rápidez está aclarado.
Aparte ahorras código y es más limpio que tener mil if, elseif, else...

Hay casos y casos( a veces es útil el if otras el swicth ) y tantos gustos como colores, que use el que le convenga, pero tener 100 if no es más rápido ni mejor que un simple swicth.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #13 (permalink)  
Antiguo 10/03/2012, 05:52
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: mostrar datos bd según tipo de usuario

Cita:
Iniciado por cheterporras2 Ver Mensaje
A ver si lo he entendido bien, ¿el código sería así teniendo en cuenta que el campo se llama "especie" y las opciones a elegir son : "perro", "gato" y "otro"?:
Código PHP:
<?php
if( isset($_GET['especie']) )
{

switch (
$_GET['especie']) {
    case 
'perro':
        
//cargar el ontenido con las fotos de los perros
        
header("Refresh: 3; URL=http://www.animalmeeting.com/perfilperro.php?especie=perro"); 
        break;
    case 
'gato':
        
//cargar el ontenido con las fotos de los gatos
        
header("Refresh: 3; URL=http://www.animalmeeting.com?especie=gato"); 
        break;
    case 
'otro':
        
//cargar el ontenido con las fotos de los otros animales
        
header("Refresh: 3; URL=http://www.animalmeeting.com?especie=otro"); 
        break;
}

}  

?>
No era eso. Aunque otro usuario te dijera que sí era eso lo que quise decirte.

Me refería a que con los parámentros de URL podías hacerte una web modular.
Cargando X contenido dependiendo del parámentro que le pasaras. (más limpio, menos trabajo)
¿Para que redireccionas si ya tienes el parámetro?

No lo veo con mucho sentido que una vez vas a una url y obtengas el valor vuelvas a redireccionar.
Vaya jaleo así...

Edito:
Ahora no puedo pero cuando tenga un rato te pongo un ejemplo sencillo para que lo entiendas.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #14 (permalink)  
Antiguo 10/03/2012, 07:08
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Respuesta: mostrar datos bd según tipo de usuario

Sí, por favor, te lo agradecería mucho. :) Lo que quería hacer era que una vez obtenido el parámetro deseado del formulario de registro, es decir, saber de qué especie es el animal, fuera a la página que contiene el perfil de perro, a la de gato u a la de otro. No se me ocurrió otra forma de hacerlo...
  #15 (permalink)  
Antiguo 10/03/2012, 07:27
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Respuesta: mostrar datos bd según tipo de usuario

A ver, he estado buscando lo que me has comentado sobre crear la web modular, creo que se quedaría así, corrígeme si me equivoco:
Código PHP:
<?php
if( isset($_GET['especie']) )
{

switch (
$_GET['especie']) {
    case 
'perro':
        
//cargar el ontenido con las fotos de los perros
        
include("perfilperro.php");
        break;
    case 
'gato':
        
//cargar el ontenido con las fotos de los gatos
     
include("perfilgato.php");
        break;
    case 
'otro':
        
//cargar el ontenido con las fotos de los otros animales
       
include("perfilotro.php");       
       break;
}

}  

?>
He usado el include anteriormente, pero no sabía que servía en estos casos, en los que quiero que vaya a otra página en la que se cargan los datos de la bd mysql.
  #16 (permalink)  
Antiguo 10/03/2012, 11:52
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: mostrar datos bd según tipo de usuario

Lo prometido es deuda, así que te dejo un ejemplo, pero, como usas BD... mejor olvidar los ifs y los switch para las categorías.

Es un ejemplo, evidentemente es mejorable.
Cambia lo que necesites y no dejes la conexión y las consultas tan cutres. Y por supuesto recuerda poner seguridad al recoger el parámetro con $_GET.

¿Qué hace el ejemplo?
Crea varios enlaces con las categorías que tienes en la tabla Categorías.
Al hacer clic en cada enlace verás sólo las fotos de los animales escogidos.

Dirás: pero es que yo lo quería para los usuarios...
Es el mismo planteamiento. Sólo adáptalo a tu página.

¿Por qué las categorías están en una tabla y no en una columna?
Normalización de tablas (aquí no entro, cada cual que empolle lo suyo)

¿Por qué hay una subconsulta?
Por que el valor que se pasa por parámetro es el nombre pero buscamos las categorías por id (número)

¿Y porque no usar el número de id?
URL amigables y mejor indexación de las webs (Aquí tampoco entro en detalle por el mismo motivo)


Tabla categorías:
Código MySQL:
Ver original
  1. --
  2. -- Estructura de tabla para la tabla `categorias`
  3. --
  4.  
  5. CREATE TABLE IF NOT EXISTS `categorias` (
  6.   `id` int(11) NOT NULL AUTO_INCREMENT,
  7.   `nombre` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  8.   PRIMARY KEY (`id`)
  9. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;
  10.  
  11. --
  12. -- Volcado de datos para la tabla `categorias`
  13. --
  14.  
  15. INSERT INTO `categorias` (`id`, `nombre`) VALUES
  16. (1, 'perros'),
  17. (2, 'largatos'),
  18. (3, 'peces');

Tabla imágenes:
Código MySQL:
Ver original
  1. --
  2. -- Estructura de tabla para la tabla `imagenes`
  3. --
  4.  
  5. CREATE TABLE IF NOT EXISTS `imagenes` (
  6.   `id` int(11) NOT NULL AUTO_INCREMENT,
  7.   `titulo` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
  8.   `ruta` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  9.   `categoria` tinyint(4) NOT NULL,
  10.   PRIMARY KEY (`id`)
  11. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;
  12.  
  13. --
  14. -- Volcado de datos para la tabla `imagenes`
  15. --
  16.  
  17. INSERT INTO `imagenes` (`id`, `titulo`, `ruta`, `categoria`) VALUES
  18. (1, '54645645654', 'img/labrador.jpg', 1),
  19. (2, 'rewrewrewrw', 'img/caniche_02.jpg', 1),
  20. (3, 'iguana al sol', 'img/lagarto.png', 2),
  21. (4, 'pez tropical', 'img/pez-león.gif', 3);

Página php:

Código PHP:
<!DOCTYPE HTML>
<html>

<head>

</head>

<body>

<?php

    $conexion 
mysql_connect("127.0.0.1","root","") or die ( "No se ha podido establecer la conexi&oacute;n con el servidor"); 
    
mysql_select_db("deprueba",$conexion); 

    
//Función q cargara cada contenido dependiendo del parámentro por URL
    
function cargarImagenes($categoria='')
    {                        
        if( 
$con=mysql_query("SELECT titulo, ruta FROM imagenes WHERE categoria=
                            (SELECT id FROM categorias WHERE nombre LIKE '"
.$categoria."')") or die("Error en la consulta: ".mysql_error()) )
        {
            while(
$rs mysql_fetch_assoc($con))
            {
                echo 
'Titulo: '.$rs['titulo'].'<br />
                      <img src="'
.$rs['ruta'].'" /><br /><br />';    
            }
        }        
    }
    
    
//Unos enlaces de prueba mostrando todas las categorias que tienes en la BD
    
if( $con=mysql_query("SELECT nombre FROM categorias") or die("Error en la consulta: ".mysql_error()) )
    {
        while(
$rs mysql_fetch_assoc($con))
        {    
            
$categorias[] = $rs['nombre'];
            echo 
'Enlace: <a href="'.$_SERVER['PHP_SELF'].'?categoria='.$rs['nombre'].'">'.$rs['nombre'].'</a><br />';    
        }

        if(isset(
$_GET['categoria']) )
        {        
            
cargarImagenes($_GET['categoria']);
        }
        elseif(
count($categorias) > 0)
        {
            
cargarImagenes($categorias[0]);
        }
    }
    else{
    echo 
'Ups no hay categorias en nuestra BD';
    }
?>
    
</body>
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(

Última edición por IEKK; 10/03/2012 a las 12:03
  #17 (permalink)  
Antiguo 15/03/2012, 08:43
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Respuesta: mostrar datos bd según tipo de usuario

Perdón por no haber contestado antes. Lo que me propones está bien para mostrar los datos según el tipo de animal, pero lo que necesito es que, según el tipo de animal me direccione a una página de perfil u otra, ¿por qué? porque los perfiles son diferentes para perro, gato y otro, es decir, los css son diferentes, los fondos e imagenes de fondo de cada perfil son diferentes... Por eso pensaba que lo switch me servía, ahora ya no sé qué hacer, ¿alguien me ayuda?. (No sé si me he explicado correctamente, ne es sólo que cambien los datos de cada usuario, los de la bd, el entorno donde se muestran es diferente, las imágenes que adornan la página son diferentes, de ahí que quiera que vaya a otra página).
  #18 (permalink)  
Antiguo 15/03/2012, 10:53
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: mostrar datos bd según tipo de usuario

Cita:
...lo que necesito es que, según el tipo de animal me direccione a una página de perfil u otra...
Y esto no te sirve?:
Código PHP:
Ver original
  1. <?php
  2. if( isset($_GET['especie']) )
  3. {
  4.  
  5. switch ($_GET['especie']) {
  6.     case 'perro':
  7.         //cargar el ontenido con las fotos de los perros
  8.         include("perfilperro.php");
  9.         break;
  10.     case 'gato':
  11.         //cargar el ontenido con las fotos de los gatos
  12.      include("perfilgato.php");
  13.         break;
  14.     case 'otro':
  15.         //cargar el ontenido con las fotos de los otros animales
  16.        include("perfilotro.php");        
  17.        break;
  18. }
  19.  
  20. }  
  21.  
  22. ?>

Evidentemente (en caso de que te sirvierá) debes de sustituir los include por redirecciones. Ya que include no te redirecciona.

Saludos,
  #19 (permalink)  
Antiguo 15/03/2012, 14:47
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Respuesta: mostrar datos bd según tipo de usuario

Si miras un poco más arriba, eso es lo que hice, pero alguien me dijo que estaba mal, ya es que no sé qué es lo que hacer...
De todas formas, pongamos que estuviera bien, que es lo que busco. Tengo un formulario php y otro php que procesa la seguridad del formulario. Coloqué lo del switch en el formulario php, justo después del </html>, ¿eso es correcto o debería meterlo dentro de la tabla del formulario o incluso debería ponerlo en el otro php de seguridad? Si pregunto esto, que puede parecer tan básico es porque, evidentemente, no me funcionó bien. Un saludo
  #20 (permalink)  
Antiguo 15/03/2012, 15:06
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: mostrar datos bd según tipo de usuario

Ésta bien, siempre y cuando quieras que al pasar el parametro "perro" por ejemplo, te redireccione a perfilperro.php, si pasas el parametro "gato" te redireccione a perfilgato.php y así sucesivamente.

Cita:
Lo que me propones está bien para mostrar los datos según el tipo de animal, pero lo que necesito es que, según el tipo de animal me direccione a una página de perfil u otra, ¿por qué? porque los perfiles son diferentes para perro, gato y otro...
Cita:
Si pregunto esto, que puede parecer tan básico es porque, evidentemente, no me funcionó bien. Un saludo
¿Porqué no te funcionó? ¿Qué estas haciendo?
El último código que te puse hace lo que quieres siempre y cuando (como te dije) sustituyas los include.

Se supone que si tu pasas por url: www.tuweb.com/archivo.php?especie=perro
te redirecciona a perfil perro. Luego ahí supongo que querrás mostrar los datos concretos de un perro? Para eso deberías de pasar otro parametro con la id del perro a consultar y esa id meterla en la consulta.

Saludos,
  #21 (permalink)  
Antiguo 17/03/2012, 12:03
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Respuesta: mostrar datos bd según tipo de usuario

Pues no sé qué es lo que pasa. Los datos los envía a mysql, pero direcciona a la misma página del registro y me sale como si el dato imagen estuviera vacío o fuera un formato incorrecto. Al final, en el registro he puesto al final:
Código PHP:
<?php
if( isset($_GET['especie']) )
{

switch (
$_GET['especie']) {
    case 
'perro':
        
//cargar el ontenido con las fotos de los perros
        
header("Refresh: 3; URL=http://www.mipagina.com/perfilperro.php?especie=perro"); 
        break;
    case 
'gato':
        
//cargar el ontenido con las fotos de los gatos
        
header("Refresh: 3; URL=http://www.mipagina.com?especie=gato"); 
        break;
    case 
'otro':
        
//cargar el ontenido con las fotos de los otros animales
        
header("Refresh: 3; URL=http://www.mipagina.com?especie=otro"); 
        break;
}

}  

?>
Puede que el error esté en el php de seguridad:
Código PHP:
<?php
//se conecta a la base de datos hace la conexion
include("conexion.php");
function 
formRegistro(){}

//el codigo isset es para verificar si se ha enviado el fomulario ya que esta incluido en el php de insertar registro
if(isset ($_POST["usuario"])){
//recojemos los datos del dueño
$nombreamo trim($_POST["nombreamo"]); $telefono $_POST["telefono"]; $email trim($_POST["email"]);
$usuario trim($_POST["usuario"]); $contrasenna trim($_POST["contrasenna"]); $repcontrasenna trim($_POST["repcontrasenna"]); 
$pais $_POST["pais"]; $provincia $_POST["provincia"]; $zona $_POST["zona"];
$ciudad $_POST["ciudad"];

//recojemos los datos del animal
$raza $_POST["raza"]; $edad $_POST["edad"]; $sexo $_POST["sexo"]; $capa $_POST["capa"];
$pedigri $_POST["pedigri"]; $especie $_POST["especie"];

//comprobamos que los campos criticos no esten en blanco y limpiamos la variables de error

$error_amo "";  $error_email ""$error_user ""$error_contr "";
$error_repcontr ""$error_prov ""$error_raza ""$error_edad ""$error_tel "";

//ejecutamos la consulta en busqueda de usuario o email
$sqluser mysql_query("SELECT usuario, email FROM usuarios WHERE usuario = '$usuario' OR email = '$email'"); 
$total mysql_num_rows($sqluser);

if(
$nombreamo==''){$error_amo "error";}elseif($telefono==''){$error_tel "error";}elseif($email=='' or $total>0){$error_email "error";}elseif($usuario=='' or $total>0){$error_user "error";}elseif($contrasenna=='' && $repcontrasenna==''){$error_contr "error"$error_repcontr "error";}elseif($contrasenna<>$repcontrasenna){$error_contr "error"$error_repcontr "error";}elseif($provincia==''){$error_prov "error";}elseif($raza==''){$error_raza "error";}elseif($edad==''){$error_edad "error";}else{

//comprobamos la imagen y la extension
  //array de archivos disponibles
  
$archivos_disp_ar = array('jpg''jpeg''gif''png''tif''tiff''bmp');
  
//carpteta donde vamos a guardar la imagen
  
$carpeta 'imagen/';
  
//recibimos el campo de imagen
  
$imagen $_FILES['imagen']['tmp_name'];
  
//guardamos el nombre original de la imagen en una variable
  
$nombrebre_orig $_FILES['imagen']['name'];
 
  
//el proximo codigo es para ver que extension es la imagen
  
$array_nombre explode('.',$nombrebre_orig);
  
$cuenta_arr_nombre count($array_nombre);
  
$extension strtolower($array_nombre[--$cuenta_arr_nombre]);
  
//recibimos el tamaño
  
$tamano$_FILES['imagen']['size'];
  
//limitamos el tamaño de la imagen
if($tamano 100000 && $archivos_disp_ar==true )
   
$error "Este tipo de archivo no es permitido"$error_img "error"

  
//validamos la extension
  
if(!in_array($extension$archivos_disp_ar))
 
   
$error "Este tipo de archivo no es permitido"$error_img "error"
  
  if(empty(
$error)){
  
      
//creamos nuevo nombre para que tenga nombre unico
      
$nombre_nuevo time().'_'.rand(0,100).'.'.$extension;
      
//nombre nuevo con la carpeta
      
$nombre_nuevo_con_carpeta $carpeta.$nombre_nuevo;
      
//por fin movemos el archivo a la carpeta de imagenes
      
$mover_archivos move_uploaded_file($imagen $nombre_nuevo_con_carpeta);
      
//de damos permisos 777
      
chmod($nombre_nuevo_con_carpeta,0777);
      
       
// finalmente guardamos todo
       
mysql_query("INSERT INTO usuarios(nombreamo, telefono, email, usuario, contrasenna, ciudad, provincia, pais, zona)
VALUES('{$nombreamo}','{$telefono}','{$email}','{$usuario}','{$clave}','{$ciudad}','{$provincia}','{$pais}','{$zona}')"
);

$idusuario mysql_insert_id(); 
    
mysql_query("INSERT INTO animal(idusuario, usuario, raza, edad, sexo, capa, pedigri, especie, nombreamo)
VALUES('{$idusuario}','{$usuario}','{$raza}','{$edad}','{$sexo}','{$capa}','{$pedigri}','{$especie}','{$nombreamo}')"
);


mysql_query("INSERT INTO fotos(idusuario,nombre_nuevo_con_carpeta)VALUES('{$idusuario}','{$nombre_nuevo_con_carpeta}')");


    }



}
}else{}
?>
  #22 (permalink)  
Antiguo 17/03/2012, 12:46
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: mostrar datos bd según tipo de usuario

A ver, ahora me he perdido
¿No te redirecciona bien? Cuando le pasas "perro", ¿no te lleva a http://www.mipagina.com/perfilperro.php?especie=perro ?
Yo creo que, ¿no debería de ser, que cuando le pases "perro" te lleve a:
http://www.mipagina.com/perfilperro.php ? No comprendo la necesidad de pasarle otra vez "perro" a perfilperro.php, ¿sabes?

Cita:
...y me sale como si el dato imagen estuviera vacío o fuera un formato incorrecto.
¿Quieres decir que $imagen esta vacía?

Saludos,
  #23 (permalink)  
Antiguo 17/03/2012, 13:26
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Respuesta: mostrar datos bd según tipo de usuario

Lo he hecho de esa manera igualmente y el resultado es el mismo. Sí, sale como si no hubiera pasado la segurdad, aunque ingresa correctamente la ruta en la bd y la foto en el servidor. Antes, cuando no tenía lo del switch puesto en el registro y tenía esto en el archivo de seguridad php, justo a continuación del insert into fotos (es el último insert)
Código PHP:
echo "<head><meta http-equiv='refresh' content='0; url=/login.php'></head>"
no había ningún problema, lo ingresaba todo correctamente y redireccionaba al login.
  #24 (permalink)  
Antiguo 25/03/2012, 01:03
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 13 años
Puntos: 2
Respuesta: mostrar datos bd según tipo de usuario

Hace mucho tiempo desde esta consulta que os hice y todavía no he podido encontrar la solución. ¿Qué es lo que falla? Gracias

Etiquetas: formulario.php, mostrar-datos, perfiles
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 09:37.