elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Problema PHP & MySQL (Urgente)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema PHP & MySQL (Urgente)  (Leído 1,759 veces)
Rayao

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Problema PHP & MySQL (Urgente)
« en: 8 Marzo 2009, 01:14 am »

Hola Gente!!
Estoy construyendo una pagina web y necesito que se registren en el foro.
La idea es la siguiente:
1r -Se registran en un formulario, los datos pasen a la base de datos, una vez echo esto cuando el usuario introduzca el nombre de unsuario y la clave acceda al foro.
2n -Despues de haber echo estos pasos para hacer una consulta a la base de datos de los usuarios, donde se registran.
3r -Una consulta a la base de datos del foro, con la ID, nombre, fecha, mensaje.
Tengo que seguir estos pasos:
-Conexion
-Acceso
       -Consulta de registro
       -Modificacion registro
       -Añadir registro
-Desconexion
Mi pregunta es la siguiente: ¿Como hago todo esto? :huh:





En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Problema PHP & MySQL (Urgente)
« Respuesta #1 en: 8 Marzo 2009, 02:04 am »

Citar
1r -Se registran en un formulario, los datos pasen a la base de datos, una vez echo esto cuando el usuario introduzca el nombre de unsuario y la clave acceda al foro.

Pues deberias tener 2 tablas.

Código
  1.  
  2. mysql> CREATE TABLE formulario( id SMALLINT,
  3.    -> nombres CHAR(15) NOT NULL,
  4.    -> contraseña VARCHAR(40) NOT NULL,
  5.    -> pais VARCHAR(30),
  6.    -> edad INT,
  7.    -> CONSTRAINT pk_id PRIMARY KEY(id),
  8.    -> UNIQUE(nombres));
  9. Query OK, 0 ROWS affected (0.09 sec)
  10.  
  11. mysql> CREATE TABLE datos( id SMALLINT,
  12.    -> fecha DATE,
  13.    -> mensaje VARCHAR(80))
  14. Query OK, 0 ROWS affected (0.08 sec)
  15.  
  16. mysql> CREATE INDEX indice ON datos(id);
  17.  
  18.  

Citar
2n -Despues de haber echo estos pasos para hacer una consulta a la base de datos de los usuarios, donde se registran.

Esto no lo entendi bien, pero supongo que se te pidio para que guardes el campo ID del usuario en cuestion en una variable de session o algo así que podras utilizar para insertar datos en la tabla Datos (Mensaje, fecha por ejemplo). utilizando el mismo valor del campo ID correspondiente al usuario en cuestion.

Citar
3r -Una consulta a la base de datos del foro, con la ID, nombre, fecha, mensaje.

pues podrias hacer tu consulta filtrando por ID utilizando usuario y fecha como predicados.

Código
  1.  
  2. mysql> SELECT id, nombres, fecha, mensaje FROM formulario NATURAL JOIN datos;
  3. +----+---------+------------+----------------------+
  4. | id | nombres | fecha      | mensaje              |
  5. +----+---------+------------+----------------------+
  6. |  1 | pepe    | 2005-11-23 | No me gusta ducharme |
  7. |  1 | pepe    | 2008-10-23 | La lechuga es Mala   |
  8. |  2 | lucia   | 2003-05-23 | Las rosas rojas      |
  9. |  2 | lucia   | 2007-02-25 | Lavando la ropa      |
  10. +----+---------+------------+----------------------+
  11. 4 ROWS IN SET (0.00 sec)
  12.  
  13.  
  14. mysql> SELECT id, nombres, fecha, mensaje FROM formulario NATURAL JOIN datos wh
  15. re fecha = '2003-05-23';
  16. +----+---------+------------+-----------------+
  17. | id | nombres | fecha      | mensaje         |
  18. +----+---------+------------+-----------------+
  19. |  2 | lucia   | 2003-05-23 | Las rosas rojas |
  20. +----+---------+------------+-----------------+
  21. 1 ROW IN SET (0.01 sec)
  22.  
  23. mysql> SELECT id, nombres, fecha, mensaje FROM formulario NATURAL JOIN datos whe
  24. re nombres = 'pepe';
  25. +----+---------+------------+----------------------+
  26. | id | nombres | fecha      | mensaje              |
  27. +----+---------+------------+----------------------+
  28. |  1 | pepe    | 2005-11-23 | No me gusta ducharme |
  29. |  1 | pepe    | 2008-10-23 | La lechuga es Mala   |
  30. +----+---------+------------+----------------------+
  31. 2 ROWS IN SET (0.02 sec)
  32.  
  33.  

Un poquito de Tunning para asegurarnos que los indices le estamos sacando el beneficio que es :

Código
  1.  
  2. mysql> EXPLAIN SELECT datos.id, nombres, fecha, mensaje FROM formulario, datos w
  3. here formulario.nombres = 'pepe' AND formulario.id = datos.id\G
  4. *************************** 1. ROW ***************************
  5.           id: 1
  6.  select_type: SIMPLE
  7.        TABLE: formulario
  8.         TYPE: REF
  9. possible_keys: PRIMARY,indecito
  10.          KEY: indecito
  11.      key_len: 60
  12.          REF: const
  13.         ROWS: 1
  14.        Extra: USING INDEX condition
  15. *************************** 2. ROW ***************************
  16.           id: 1
  17.  select_type: SIMPLE
  18.        TABLE: datos
  19.         TYPE: REF
  20. possible_keys: indice
  21.          KEY: indice
  22.      key_len: 3
  23.          REF: primaria.formulario.id
  24.         ROWS: 2
  25.        Extra:
  26. 2 ROWS IN SET (0.00 sec)
  27.  
  28. mysql> SELECT datos.id, nombres, fecha, mensaje FROM formulario, datos WHERE FOR
  29. mulario.nombres = 'pepe' AND formulario.id = datos.id
  30.    -> ;
  31. +------+---------+------------+----------------------+
  32. | id   | nombres | fecha      | mensaje              |
  33. +------+---------+------------+----------------------+
  34. |    1 | pepe    | 2005-11-23 | No me gusta ducharme |
  35. |    1 | pepe    | 2008-10-23 | La lechuga es Mala   |
  36. +------+---------+------------+----------------------+
  37. 2 ROWS IN SET (0.00 sec)
  38.  
  39.  
  40.  
  41.  

Espero que mas o menos esto te sirva de guia, no es la manera mas correcta lo admito, pero hasta la fecha no he generado desde cero ningun foro con PHP. :P


« Última modificación: 8 Marzo 2009, 02:13 am por ^TiFa^ » En línea

Rayao

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re: Problema PHP & MySQL (Urgente)
« Respuesta #2 en: 8 Marzo 2009, 02:32 am »

Hola Gente!!
Estoy construyendo una pagina web y necesito que se registren en el foro.
La idea es la siguiente:
1r -Se registran en un formulario, los datos pasen a la base de datos, una vez echo esto cuando el usuario introduzca el nombre de unsuario y la clave acceda al foro.
2n -Despues de haber echo estos pasos para hacer una consulta a la base de datos de los usuarios, donde se registran.
3r -Una consulta a la base de datos del foro, con la ID, nombre, fecha, mensaje.
Tengo que seguir estos pasos:
-Conexion
-Acceso
       -Consulta de registro
       -Modificacion registro
       -Añadir registro
-Desconexion
Mi pregunta es la siguiente: ¿Como hago todo esto? :huh:
PS: Si pede ser con PHP
 
                                                                               Un saludo!

En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Problema PHP & MySQL (Urgente)
« Respuesta #3 en: 8 Marzo 2009, 02:48 am »

Citar
Tengo que seguir estos pasos:
-Conexion
-Acceso
       -Consulta de registro
       -Modificacion registro
       -Añadir registro
-Desconexion

Como pretendes hacer lo anterior... sin haber primero estructurado y creado tus tablas???? Yo te expuse el primer paso. Lo otro que solicitas (conectarse, desconectarse he Insertar) Que han sido las unicas 3 cosas que no explique a tu peticion, y esos 3 pasos no son nada complicados no tanto en PHP sino con cualquier lenguaje de programacion....

La parte mas dificil no es programar en PHP y conectarte a la DB, una de las situaciones mas complicadas de la programacion web con base de datos es precisamente estructurar las tablas antes de....

Eso que pides perfectamente se hace en PHP.

conexión :

Código
  1.  
  2. <?php
  3.  
  4. $conexión = mysql_connect('localhost','usuario','contrasena');
  5.  
  6.   if ( $conexión ) {
  7.   mysql_select_db('base_datos', $conexión) or die('Problemas con la DB');
  8.  
  9.  mysql_query('INSERT INTO TABLA ...bla bla bla', $conexión);
  10.  
  11.  } else {
  12.  
  13.  echo "Problemas en la Base de datos intentelo nuevamente<br>";
  14.  
  15. }
  16.  
  17. ?>
  18.  

No es tan complicado, te he expuesto una parte muy importante de tu peticion, pero no puedo realizarte el trabajo completo.
En línea

Rayao

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re: Problema PHP & MySQL (Urgente)
« Respuesta #4 en: 8 Marzo 2009, 16:33 pm »

necesito crear para hoy mismo un registro a un foro para que puedan acceder los usuarios al foro ya registrados. Ya tengo creado el formulario y las dos tablas en mysql me hace falta crear:
la conexion a la base de datos
consultas
 registros.
Las tablas las guardo con la extension de mysql es decir qbquery, no se si eso es correcto a la hora de ponerlo en codigo php.
si pudiera poner mi pagina aqui para que la beais, pero no se como ponerla.

espero que me echeis una mano, urgente mente.
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Problema PHP & MySQL (Urgente)
« Respuesta #5 en: 8 Marzo 2009, 18:35 pm »

Porque continuas preguntando como conectarte a la base de datos con PHP? Y igual continuas como hago una consulta a la base de datos por PHP????

O sea  :-\

Código
  1.  
  2. <?php $conexión = mysql_connect('localhost','usuario','contraseña');  
  3.  
  4. if ( $conexión ) {
  5.  
  6. mysql_select_db('base_datos', $conexión) or die('Problemas con la DB');  
  7.  
  8. mysql_query('INSERT INTO TABLA ...bla bla bla', $conexión);   }
  9.  
  10. else {  
  11.  
  12. echo "Problemas en la Base de datos intentelo nuevamente<br>";  } ?>
  13.  
  14.  


Tu objetivo es que te den todo el codigo PHP realizado en base a tu peticion. Y aca hasta lo que tengo entendido, nadie te da nada realizado, te exponen algun ejemplo para que veas como deberias tu realizarlo pero de ahi a dartelo hecho... creo que haz propuesto mal tu pregunta.

Que tiene de complicado validar en un foro en PHP los usuarios si tienes las tablas como yo te la expuse ya, hay una tabla llamada formulario que es la que obtuvo todo lo que el usuario inserto al registrarse por el formulario HTML. entonces para validar en PHP hacia el foro bastaria con un simple query..

$consulta = mysql_query("select nombres, contrasena from formulario where nombres = $variable_usuario and contrasena = md5($variable_contrasena", $conexión);

Donde las 2 variables que sirven de condicion son las que obtienes en PHP a traves de las dos etiquetas INPUT de acceso Html. solo es valido lo de md5 si guardaste el registro de contrasena cifrada en md5 (Lo cual es sumamente conveniente) entonces que tiene de complicado eso? Si concuerdan el usuario y la contrasena insertados el usuario en si tendra acceso full al foro... en caso que no concuerden te toca a ti como programador denegarle el acceso y eso tambien es simple :

Código
  1.  
  2. if ($consulta) {
  3. acceso al foro
  4. } else {
  5. echo "Lo siento error de usuario o contrasena<br>";
  6. }
  7.  
  8.  

Yo hecho no puedo dartelo... yo me pregunto como estructuraste tablas en MySQL y armaste formularios HTML y desconoces la parte mas sencilla de todo.... validar usuario y redericcionarlo a distintas webs acorde a su validacion  :-\
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda urgente con php y mysql
PHP
sarcox86 1 1,080 Último mensaje 21 Abril 2015, 02:04 am
por DarK_FirefoX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines