Foros del Web » Programando para Internet » PHP »

Problemon

Estas en el tema de Problemon en el foro de PHP en Foros del Web. Hola gente!! me acabo de registrar! mi problema es el siguiente!!!.. Tengo una pagina con autentificacion de usuarios. en la pagina se postean Articulos y ...
  #1 (permalink)  
Antiguo 02/08/2008, 23:41
 
Fecha de Ingreso: agosto-2008
Mensajes: 184
Antigüedad: 15 años, 8 meses
Puntos: 2
Pregunta Problemon

Hola gente!! me acabo de registrar!
mi problema es el siguiente!!!..

Tengo una pagina con autentificacion de usuarios.

en la pagina se postean Articulos y tambien el nombre de usuario el cual la creo.

Ahora el tema es el siguiente...

Cuando alguien hace una pregunta al articulo el creador del articulo deberia poder responder a la pregunta echa.

esto se haria con un IF supongo..

osea.. "si el usuario logeado coincide con el creador del articulo puede responder, sino. obiamente no"

nose si me explico xD!

Gracias de antemano

PD: Tengo conocimientos de php , mysql etc.. Pasa q no se me ocurre como hacer para hacer q "si coincide el nik de usuario con el nik del creador del articulo"

Muchas gracias! y espero poder seguir por aca! :D
  #2 (permalink)  
Antiguo 03/08/2008, 04:11
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Problemon

Es bien sencillo con las sesiones, al loggear creas variables de $_SESSION con todos los datos que vas a necesitar (en este caso nick), entonces:
Código PHP:
<?php 
if($_SESSION['nick']==creador_articulo())
//código
?>
Dónde creador_articulo() evidentemente es una función que devuelve el nick de su creador.
  #3 (permalink)  
Antiguo 04/08/2008, 17:37
 
Fecha de Ingreso: agosto-2008
Mensajes: 184
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Problemon

Gracias por la pronta respuesta. Soy muy cabeza dura..
podrias ponerlo en un ejemplo?? gracias de antemano
=)
  #4 (permalink)  
Antiguo 04/08/2008, 18:56
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 8 meses
Puntos: 103
Respuesta: Problemon

lo principal, es que al crear el articulo se cree una definicion de quien lo creo(haz una tabla o algo con el id del articulo y su creador)
despues en esa pagina lo seleccionas de la tabla, y le asignas un valor, por ej.: $creador
luego:
if ($_SESSION['sesion']==$creador){
codigo para que se pueda editar
}else{
codigo imposible de editar
}
  #5 (permalink)  
Antiguo 04/08/2008, 19:44
 
Fecha de Ingreso: agosto-2008
Mensajes: 184
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Problemon

Disculpaa joderte!.. ya entendi el concepto..
el tema es que cuando se logea un usuario se loguea con

Cita:
<?
session_start();
if(isset($SESSION)){
header("location:post.php?id=$id"); /* Si ha iniciado la sesion, vamos a user.php */
} else {
/* Cerramos la parte de codigo PHP porque vamos a escribir bastante HTML y nos será mas cómodo así que metiendo echo's */
?>
y no puedo hacer que ande la funcion!

como puedo adaptarla sin cambiar el sistema de usuarios que tengo (esque ya tengo toda la pagina con como 20 archivos y tendria que editar casi todos si cambio el sistema de usuarios)..
gracias.
  #6 (permalink)  
Antiguo 05/08/2008, 03:48
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Problemon

¿Realmente sabes PHP y MySQL que dices saber? Yo creo que no.
Para empezar en el código que has puesto, obviando que es $_SESSION y no $SESION pero suponiendo que estuviera bien escrito, funcionaría SIEMPRE como si el usuario estubiera logueado con independencia de que el usuario estuviera logueado o no porque $_SESSION es una superglobal siempre activa y existente. Otra cosa es que el array esté vacío o no.

Por otro lado dices cosas sin ningún sentido. Si sabes poner el artículo seleccionado de la BD sabes aprovechar el código para además seleccionar su creador, y si sabes imprimir el artículo en pantalla también sabes guardar su creador en cualquier sitio para consultarlo después, con lo que puedes sin modificar nada más que un archivo y de una forma que no afecta al resto consultar el creador del artículo.

Y si sabes hacer un login sabes hacer una variable de $_SESSION['nick'] que contenga el nickname logueado sin que esto afecte al resto del código.

Cuando tienes estas dos cosas ya puedes usar los códigos que te hemos dicho.

Otra cosa es, claro, que sólo sepas 4 chorradas de PHP y MySQL y pretendas que te hagamos nosotros todo el trabajo tratandonos como idiotas, que es lo que creo: pues por mi parte no voy a picar.
Por lo menos yo, estoy aquí para ayudar en cosas puntuales, no para hacerlo todo. El tema era una cosa puntual: no problem. Lo estás convirtiendo en que te hagamos todo el asunto.
Hay un excelente manual de PHP en www.php.net y otro de MySQL en www.mysql.com
Si quieres aprender empiezalos des del principio y ve comprendiéndolo y entonces entenderás todo esto.
Y si me estoy equivocando, dadas tus respuestas, empieza como si no tuvieras ni idea de PHP porque viendo como vas te hace falta...
__________________
Un Lannister siempre cumple sus promesas
  #7 (permalink)  
Antiguo 11/08/2008, 16:50
 
Fecha de Ingreso: agosto-2008
Mensajes: 184
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Problemon

EH porque tanta agrecion che xD
nadie trato de idiota a nadie. y mi drama es con la funcion if.
lo que se de php lo aprendi por mi mismo y por experiencias propias
no hay necesidad de ponerte asi :S
  #8 (permalink)  
Antiguo 11/08/2008, 20:36
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problemon

No deberias tener problemas con un simple IF si hiciste un sistema de logueo.

Seria algo como:

Código PHP:
<?php
//Supongo que ya la conexion esta hecha

$select "SELECT * FROM articulos WHERE ID = '".$_GET['ID']."'";
$query mysql_query($select) or die(mysql_error());
$row mysql_fetch_assoc($query);

//Si el usuario que posteo el articulo es igual al que esta loggeado
if($row['Nick']==$_SESSION['Nick'])
{
//Ya de aqui en adelante es AUN mas SENCILLO -_-
}
else {
echo 
"No tienes permisos para editar el articulo";
}
?>
  #9 (permalink)  
Antiguo 11/08/2008, 20:56
Avatar de terepaima  
Fecha de Ingreso: junio-2008
Mensajes: 82
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problemon

Hola Frantopo creo que entiendo lo que necesitas ... y todos han tratado de darte la solucion correcta, si un usuario con nombre "frantopo" se registra en tu web y realiza un post en ella, tambien los demas usuarios registrados deberian poder hacer comentarios o preguntas sobre el mismo post.

Lo que no entiendo en realidad es que tu comentas que quieres que solo el usuario "frantopo" pueda volver a escribir sobre el mismo post para responder las preguntas, pero en realidad todos los usuarios registrados deberian poder hacerlo o no podrian hacer preguntas... mmmmm
__________________
Trabajando para http://www.tuhospedajeweb.com
  #10 (permalink)  
Antiguo 11/08/2008, 23:09
 
Fecha de Ingreso: agosto-2008
Mensajes: 184
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Problemon

Cita:
Iniciado por terepaima Ver Mensaje
Hola creo que entiendo lo que necesitas ... y todos han tratado de darte la solucion correcta, si un usuario con nombre "frantopo" se registra en tu web y realiza un post en ella, tambien los demas usuarios registrados deberian poder hacer comentarios o preguntas sobre el mismo post.

Lo que no entiendo en realidad es que tu comentas que quieres que solo el usuario "frantopo" pueda volver a escribir sobre el mismo post para responder las preguntas, pero en realidad todos los usuarios registrados deberian poder hacerlo o no podrian hacer preguntas... mmmmm
Me quedo asi 100% funcional!. No pretendia q me lo hagan. Solo queria q me arrimen para lograr lo q estaba buscando! xD

Cita:
<?php
if($_SESSION['s_username'] == $usuario){
echo '<a href="/MUNDIALSHOP/USUARIOS/posteable.php?id=$id">PANEL DE CONTROL</a>';
}else{
echo "NO TIENE PERMISO PARA MODIFICAR EL ARTICULO"
?>
Gracias =)
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 13:00.