03/08/2011, 17:44
|
| | Fecha de Ingreso: agosto-2011 Ubicación: buenos aires
Mensajes: 3
Antigüedad: 13 años, 3 meses Puntos: 0 | |
consulta dificil Hola
Mi consulta es un tanto dificil para mi. Tengo una web donde usuarios (comerciantes)suben fotos y descripcion por ejemplo de propiedades a la venta. una vez subidos ellos ven lo que suben en otra pantalla. Estos antes se registran y administran su panel y cuando quieren ver lo subido sale en el navegador una direccion ej:
http://www.moroncomercios.com.ar/comercios/inmobiliarias/admin/pv01/pv01.php?user_id=3
"/pv01/" es propiedad a la venta 01 y asi suben propiedad 02 y asi sucesivamente.
y "pv01.php" es la pantalla final donde ven "lo subido" user_id=3 es el identificador del usuario, en este caso el "3"
El tema de mi consulta es que yo quiero que otros usuarios (los clientes) vean lo que suben los comerciantes y alli aparece mi problema.
Si yo pongo en un link esta direccion me pide que me logee pero el unico que tiene acceso a este link es el comerciante que sube estos datos. Como hago para que otros usuarios vean lo que suben los comerciantes?
La pantalla que lee la tabla es el archivo pv01.php y esta tiene este código que como veran contiene y pide siempre la autenticacion del usuario.
El archivo contiene esto:
<?php
$id_usuario = $_GET['user_id'];
$a1 = mysql_query("select * from pv01 where id_user=$id_usuario");
$num_row = mysql_num_rows($a1);
$row = $num_row/4;
$row_total = ceil($row);
$a2 = 0;
$a3 = 4;
for($i = 1; $i<= $row_total; $i++)
{
echo "<tr>";
$con = mysql_query("select * from pv01 where id_user='".$_SESSION['idusuario']."' limit $a2,$a3");
while ($registro=mysql_fetch_assoc($con)){
echo "<td width='15%'><a href='imagen_grande.php?imagen_click=".$registro['id']."' target='_blank' ><img src=\"listar_imagenes.php?id=".$registro['id']."\" width = '80' height='100'\"></a><br>";
echo "<span style='background:#BE766D;'>".$registro['archivo_nombre']."</span>";
echo "<span style='background:#FFFFFF;'>".wordwrap($registro['comentario'],90,"<br>",1)."</span></td>";
}
$a2 += 4;
echo "</tr>";
}
?> Para el registro tengo esta tabla:
`id` int( 7 ) NOT NULL AUTO_INCREMENT ,
`nick` varchar( 30 ) NOT NULL ,
`pass` varchar( 30 ) NOT NULL ,
`email` varchar( 50 ) NOT NULL ,
`fecha` int( 15 ) NOT NULL ,
`level` int( 2 ) NOT NULL ,
`rollo` longtext NOT NULL ,
PRIMARY KEY ( `id` )
)ENGINE = MYISAM AUTO_INCREMENT = 3DEFAULT CHARSET = latin1 Y para subir las fotos y descripcion esta otra
archivo_binario` longblob NOT NULL ,
`archivo_nombre` varchar( 255 ) NOT NULL ,
`archivo_peso` varchar( 15 ) NOT NULL ,
`archivo_tipo` varchar( 25 ) NOT NULL ,
`comentario` text NOT NULL ,
`id` int( 10 ) NOT NULL AUTO_INCREMENT ,
`id_user` int( 11 ) NOT NULL ,
PRIMARY KEY ( `id` )
)ENGINE = MYISAM AUTO_INCREMENT = 64DEFAULT CHARSET = latin1
Esto esta en la base "xxxx_inmobiliarias"
Y tengo en la base "xxxx_usuarios" la misma tabla para los usuarios
Como hago para que los usuarios vean la web y lo subido por los comerciantes?
Les envio los archivos donde se registran y logean
-----------------------------------------------------------------
AUTENTIFICAR.PHP
<?php
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db
$nick = trim($_POST['nick']);
$pass = trim($_POST['pass']);
if(($nick == NULL)|($pass == NULL))//comprobamos que las variables enviadas por el form de login.php tienen contenido
{
echo '<meta http-equiv="Refresh" content="0;url=login.php" />';
}
else{
//comprobamos en la db si existe ese nick con esa pass
$usuarios=mysql_query("select * from usuarios where nick='$nick' and pass='$pass'");
$resul = mysql_num_rows($usuarios);
if($resul) //si existe comenzamos con la sesion, si no, al index
{
$user_ok = mysql_fetch_array($usuarios);
$_SESSION['usuario'] = $user_ok["nick"]; //damos el nick a la variable usuario
$_SESSION['idusuario'] = $user_ok["id"]; //damos la id del user a la variable idusuario
$_SESSION['level'] = $user_ok["level"]; //damos el level del user a la variable level
echo '<meta http-equiv="Refresh" content="0;url=<b>"aqui enviaria a los usuarios a seleccionar lo que desean ver"</b> />';
}else{
echo 'Nick y pass incorrectos';
}
}
?>
-------------------------------------------
REGISTRAR.PHP
<?php
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db
//Comprobamos que los campos nick, pass y pass1 se han rellenado en el form de reg.php, sino volvemos al form
$nick = trim($_POST['nick']);
$pass = trim($_POST['pass']);
$pass1 = trim($_POST['pass1']);
$email = trim($_POST['email']);
if(($nick == '') or ($_POST[pass] == '') or ($_POST[pass1] == '') )
{
header("Location: reg.php"); //enviamos al form de registro que esta en reg.php
}else{
//Comprobamos que la pass y pass1 son iguales, sino, volvemos a reg.php
if($pass != $pass1)
{
echo 'Las passwords no son iguales';
}else{
//quitamos el codigo malicioso de $_POST[nick] y $_POST[pass]
$user = stripslashes($nick);
$user = strip_tags($user);
$pass2 = stripslashes($pass);
$pass2 = strip_tags($pass2);
//comprobamos que el usuario no existe en la db
$usuarios=mysql_query("SELECT nick FROM usuarios WHERE nick='$user' ");
if($user_ok=mysql_fetch_array($usuarios))
{
echo 'El usuario ya esta registrado';
mysql_free_result($usuarios); //liberamos la memoria del query a la db
}else{
//quitamos todo el codigo malicioso de las demas variables del form de registro
$email1 = stripslashes($email);
$email1 = strip_tags($email1);
$rollo = stripslashes($_POST["rollo"]);
$rollo = strip_tags($rollo);
$rollo = str_replace("\n\r","<br>",$rollo); //se cambian los saltos de linea por <br>
$rollo = str_replace("\r\n","<br>",$rollo);
$rollo = str_replace("\n","<br>",$rollo);
$fecha = date("Y-m-d");
$level = "2"; //usaremos level 1 para admins, level 2 para los demas (se cambia manualmente desde phpmyadmin)
//introducimos el nuevo registro en la tabla users
mysql_query("INSERT INTO usuarios (nick,pass,email,fecha,level,rollo) values ('$user','$pass','$email','$fecha','$level','$roll o') ");
echo 'Usuario registrado con éxito';
}
}
}
?>
Esto tiene un form para registrarse y uno para logearse que ya saben como es.
Bueno eso es todo.
Mil gracias si me pudieran ayudar .
Esteban |