Foros del Web » Programando para Internet » PHP »

Ayudenme con esta basurita "PHP" en el ojo

Estas en el tema de Ayudenme con esta basurita "PHP" en el ojo en el foro de PHP en Foros del Web. tengo un problemita con mi sitio en php, lo que necesito es lo siguiente: mi sitio registra usuarios y los logea, cuando estan logeados pueden ...
  #1 (permalink)  
Antiguo 04/08/2006, 10:01
 
Fecha de Ingreso: agosto-2006
Mensajes: 1
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Ayudenme con esta basurita "PHP" en el ojo

tengo un problemita con mi sitio en php, lo que necesito es lo siguiente:

mi sitio registra usuarios y los logea, cuando estan logeados pueden acceder a diferentes zonas del sitio, en una de ellas tienen que llenar un formulario y enviar. lo que necesito es que puedan hacer esto UNA SOLA VEZ, que quiero decir: si en alguna otra ocasion que se logeen al sitio entran de nuevo al formulario y traten de enviar les salga un mensaje de "formulario ya enviado gracias" y no se sigan registrando estos datos.

mas o menos como lo estaba haciendo es que ponia en la tabla "usuarios de mi BD" un flag, algo asi:

_______________________
id | nick | pass | mail | flag
_______________________

el flag se inicializa a 0, pero lo que quiero es que se ponga a 1 cuando los datos del formulario sean enviados y verifique cada vez que un usuario este conectado si este flag esta a 1 o 0.

el problema que tengo es con la verificación del dato de la base y la inserción del campo en el flag.

estoy usando dreamweaver 8 para conexiòn de PHP y MySQL y uso de sesiones

no tengo problema con el uso de variables de sesion por si acaso, ni con la consulta SQL, mi problema es con el uso delas variables PHP para extracción e inserción de datos.

ayudame si puedes con el código de ejemplo respondeme a mi mail [email protected]
  #2 (permalink)  
Antiguo 04/08/2006, 10:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Podrías usar el buscador del foro por el término "concurrencia" que es lo que deseas evitar.

Por ejemplo hace poco se trató el tema, por mi parte hice los comentarios respectivos en:
http://www.forosdelweb.com/showpost....69&postcount=3

Cita:
el problema que tengo es con la verificación del dato de la base y la inserción del campo en el flag.
Quieres decir que no sabes hacer una consulta SQL para determinar el valor de ese campo?.

¿Tu como indentificas a tus usuarios en tu sistema: sesiones? cookies? que variable registra el "ID" de ese usuario en tu aplicación o "nick" .. es decir, como lo identificas?. Esto es necesario que lo tengas ya hecho y sino implementarlo (con sesiones por ejemplo)

Cuando tengas eso claro (o lo concretes por qué no dás más información al respecto .. ni código que usas ni nada ...) .. se trata de hacer consultas SQL tipo:

Código PHP:
// Concectas a tu BBDD .. etc ...
$sql="SELECT id FROM usuarios_Tabla WHERE id='".$_SESSION['id_usuario']."' AND flag = '0'";
$resultado=mysql_query($sql) or die (mysql_error());
// asumo que esas "cuentas" de usuario son únicas .. así que sólo me interesa si hay resultados o no .. podrías ver el "valor" de tu campo flag .. pero es lo mismo.
if (mysql_num_results($resultado) == 0){
  
// haces el proceso que tengas que hacer.
} else {
  
// muestras el aviso de que este usuario ya hizo login en tu sistema

Pero .. realmente no sé si quieres evitar "dos login" del mismo usuario en tu sistema o bien que tal tabla de tu BBDD que registra ciertos datos en forma incremental (se van creando registros) esté terminado su proceso .. Por qué si es así .. el "flag" no debería estar en la tabla de "usuarios" sino en la de la tabla que registra esos datos y la validación sería a nivel SQL con invervención de la tabla de usuarios y esta otra tabla ...


Cita:
ayudame si puedes con el código de ejemplo respondeme a mi mail [email protected]
Estás preguntando en un foro .. espera respuesta en forma pública .. así todos colaboran y todos aprendemos .. esto no es una consultoría "privada" .. Espero que lo comprendas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 04/08/2006, 10:16
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Pues te pediria de favor que postearas el código para decirte que esta mal en tu "lógica" de busqueda e insercción.

Saludillos
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 17:05.