Foros del Web » Programando para Internet » PHP »

Verificar y devolver mensaje

Estas en el tema de Verificar y devolver mensaje en el foro de PHP en Foros del Web. Quisiera saber como me conecto a una base de datos mediante un formulario para hacer lo siguiente: 1.- Conectarme a una base de datos, posteriormente ...
  #1 (permalink)  
Antiguo 22/07/2006, 18:08
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
Verificar y devolver mensaje

Quisiera saber como me conecto a una base de datos mediante un formulario para hacer lo siguiente:

1.- Conectarme a una base de datos, posteriormente a una table y por último a un campo llamado USUARIOS.

2.- Verificar si dentro de ese campo el contexto dado en el formulario existe, si existe Imprimira "USUARIO YA EXISTENTE" de lo contrario Imprime "NO SE ENCONTRÓ USUARIO".

Ahora bien por el otro lado esto es por que me ayudaron a hacer un sistema de registro de usuarios el cual esta muy "simple" y quiero darle lo básico, también tengo otro problemita respecto al cambio de contraseña, cuando un usuario se registra le he puesto una función llamada "frase" la cual le servirá en caso de que olvide su contraseña pero... quisiera saber como le hago para hacer algo similar como lo que les he puesto arriba nada más que en este caso el formulario enviaría el contexto a la misma base de datos, a la misma tabla pero al campo llamado "FRASE" y si la FRASE coindide con el USUARIO entonces se procede a pasar a la página recuperar contraseña(en este caso sería rec_pass.php de lo contrario los deja en la misma página pero se imprimiría "NO COINCIDEN LOS CAMPOS".

Yo sé que esto no es fácil pero quién me desee ayudar se lo agradecería. Saludos.
__________________
Hospedaje Web al mejor costo!
  #2 (permalink)  
Antiguo 22/07/2006, 18:27
Avatar de jimi  
Fecha de Ingreso: mayo-2006
Ubicación: La Plata, Bs As, Argentina
Mensajes: 60
Antigüedad: 11 años, 7 meses
Puntos: 0
A ver si te sirve..

Archivo bd.php (usado para la conexion con la BD)
<?php
$conmysql = mysql_connect("localhost","user","passl") or die("No se conecto con el motor");
mysql_select_db("nombre-tabla")or die("No se encontro la BD");
?>
---------------------------------------

Despues, desde otro archivo php, hay que hacer un include al archivo bd.php, y a continuacion, lo que quieras hacer.. Ejemplo:

include("bd.php");
$criterio= $_GET['criterio'];
if ($criterio=="dni"){
$sql="select dni, apeynom, m.id_mesa, e.nombre, e.domicilio, c.nombre as circuito
from personas p inner join mesa m on (p.mesa=m.id_mesa)
inner join escuela e on (e.id_escuela=m.id_escuela) inner join circuito c on (e.id_circuito=c.id_circuito)
where p.dni=".$_POST['dni']." order by apeynom";

}

Un saludo, espero que te sirva..
__________________
Puntovista
  #3 (permalink)  
Antiguo 22/07/2006, 18:51
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
Por algúna extrana razón no me funciona mira te doy los campos que quiero usar:

Código HTML:
Para verificar lo del nombre de usuario uso:
  base de datos: miweb
  tabla: Usuarios
  Campo: username
Código HTML:
Para lo de la FRASE SECRETA uso:
  base de datos: miweb
  tabla: Usuarios
  campo: frase
Saludos.
__________________
Hospedaje Web al mejor costo!
  #4 (permalink)  
Antiguo 22/07/2006, 19:24
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 11 años, 10 meses
Puntos: 3
Mm no hagas tantas preguntas de un jalon... por q eso desconcentra...
Si tu quieres verificar el nombre de un usuario en la BD q previamente pusieron en un textbox,,puedes hacer esto:
Código PHP:

    $con
=mysql_connect("localhost","X","pass")or die(mysql_error());
    
mysql_select_db("prueba",$con);



    
$aute=false;
    
$nombre=$_GET['nombre'];//Aqui  recibes lo q puso ocomo usuario en el textbox
    
    
$query mysql_query("select usuario,clave from nombres where usuario = ('$nombre') ");
            
$num=mysql_num_rows($query);
                 if(
$num 0)
                         print 
"El nick NO esta disponible";  
                   else
                       
//haces lo q necesites 
Edite:! (if $num > 0)
print "NO esta disponible";
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.

Última edición por B**; 22/07/2006 a las 21:09
  #5 (permalink)  
Antiguo 22/07/2006, 19:27
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 11 años, 10 meses
Puntos: 3
Adecualo con tus nombres de campos de BD y campos de formulario html
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #6 (permalink)  
Antiguo 22/07/2006, 19:38
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
hehe sorry si te desconcentre. Voy a probarlo. Gracias
__________________
Hospedaje Web al mejor costo!
  #7 (permalink)  
Antiguo 22/07/2006, 22:33
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
Pues no me funciona :S
__________________
Hospedaje Web al mejor costo!
  #8 (permalink)  
Antiguo 23/07/2006, 09:31
Avatar de jimi  
Fecha de Ingreso: mayo-2006
Ubicación: La Plata, Bs As, Argentina
Mensajes: 60
Antigüedad: 11 años, 7 meses
Puntos: 0
Que es lo que no funciona?? la conexion? o la consulta a la bd??
  #9 (permalink)  
Antiguo 23/07/2006, 14:31
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
la consulta.

Me voy a explicar más detalladamente lo que tengo es un sistema de Registro de Usuarios lo que quiero hacer es comprobar SI EL NOMBRE DE USUARIO EXISTE, SI EXISTE VERIFICAR QUE LA FRASE SECRETA COINCIDA CON EL USUARIO Y SI COINCIDEN SE PROCEDE A CAMBIAR LA CONTRASEÑA.

Los campos que uso son los siguientes:

Nombre de la Tabla: Users
Nombre de la Columna que contiene nombre de usuarios: Ausuarios
Nombre de la Columna que contiene las contraseñas: Apasswords

Espero haber explicado bien. Saludos.
__________________
Hospedaje Web al mejor costo!

Última edición por urgido; 23/07/2006 a las 14:50
  #10 (permalink)  
Antiguo 23/07/2006, 17:59
Avatar de jimi  
Fecha de Ingreso: mayo-2006
Ubicación: La Plata, Bs As, Argentina
Mensajes: 60
Antigüedad: 11 años, 7 meses
Puntos: 0
//en $nombre tengo el nombre del usuario, pasado por post o por get..
//en $pass tengo el nuevo password que quiere el usuario, pasado por post o //por get..
//en $frase tengo la frase tb pasada por post o get

//me fijo si el usuario existe..
$consulta="select * from Users where Ausuarios='".$nombre."'";
$resu=mysql_query($consulta);
if (mysql_num_rows($resu)!=0) {//quiere decir que el usuario existe..
$linea = mysql_fetch_array($resu, MYSQL_ASSOC);
//verifico ahora la frase..
if ($frase==$linea['frase']){ //las frases son iguales..
//hago la modificacion del password
$consulta="update Users set Apasswords='".$pass."' where
Ausuarios='".nombre."'";
mysql_query($consulta);
}
else {
//las frases son distintas
}
}
else{
//el usuario no existe en la bd
}

Un saludo, y espero que sirva :)
  #11 (permalink)  
Antiguo 23/07/2006, 23:26
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
Lo voy a probar. Gracias.
__________________
Hospedaje Web al mejor costo!

Última edición por urgido; 23/07/2006 a las 23:47
  #12 (permalink)  
Antiguo 24/07/2006, 00:34
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
Funciona correctamente! ahora ya abusando de tu paciencia y conocimiento quisiera saber como le haría si la FRASE estuviera en otra tabla llamada SecretFrase. Saludos
__________________
Hospedaje Web al mejor costo!
  #13 (permalink)  
Antiguo 24/07/2006, 12:40
Avatar de jimi  
Fecha de Ingreso: mayo-2006
Ubicación: La Plata, Bs As, Argentina
Mensajes: 60
Antigüedad: 11 años, 7 meses
Puntos: 0
Se cambia la consulta. Se hace un inner join, se supone que tu tabla de User tiene el id_frase, que identifica a la fila que tiene la frase ubicada en la otra tabla..

//me fijo si el usuario existe..
$consulta="select frase from Users u inner join SecretFrase s on (u.id_frase=s.id_frase) where Ausuarios='".$nombre."'";
$resu=mysql_query($consulta);
if (mysql_num_rows($resu)!=0) {//quiere decir que el usuario existe..
$linea = mysql_fetch_array($resu, MYSQL_ASSOC);
//verifico ahora la frase..
if ($frase==$linea['frase']){ //las frases son iguales..
//hago la modificacion del password
$consulta="update Users set Apasswords='".$pass."' where
Ausuarios='".nombre."'";
mysql_query($consulta);
}
else {
//las frases son distintas
}
}
else{
//el usuario no existe en la bd
}
__________________
Puntovista
  #14 (permalink)  
Antiguo 25/07/2006, 05:35
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
Busqueda

antes de probar la sentencia que me has dado he decidido mostrarte la estructura de mis tablas y campos para que cheques :)

Código:
Users (
  Ausuario varchar(128) NOT NULL default '',
  Apasswords varchar(64) default NULL,
  PRIMARY KEY  (Account),  
);
Código:
Secretfrase (
  Ausuario varchar(128) NOT NULL default '',
  Frase varchar(128) NOT NULL default '',  
  PRIMARY KEY  (Account), 
);
hechale un ojo y me dices como lo ves y nuevamente gracias por ayudarme si tienes alguna sugerencia de modificación posteala por favor esto si me esta sacando canas verdes
__________________
Hospedaje Web al mejor costo!
  #15 (permalink)  
Antiguo 25/07/2006, 06:15
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
yo creo que sería bueno que te metieras en alguna pagina como esta:

http://dev.mysql.com/doc/refman/5.0/es/

para ver las cosas basicas de mysql y algunas mas avanzadas como el inner join para consultas cruzadas entre tablas etc...
__________________
ALOZORRO v5.0 (ahora en .es)
  #16 (permalink)  
Antiguo 25/07/2006, 13:20
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
ando en eso amigo pero quiero ke jimi me de su punto de vista bueno ;)
__________________
Hospedaje Web al mejor costo!
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 23:53.