Foros del Web » Programando para Internet » PHP »

Script para verificacion de datos

Estas en el tema de Script para verificacion de datos en el foro de PHP en Foros del Web. Estoy creando un modulo para un portal en el cual los usuarios ya estan en la base de datos, y lo que necesito es que ...
  #1 (permalink)  
Antiguo 11/05/2011, 11:52
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.416
Antigüedad: 18 años, 7 meses
Puntos: 20
Script para verificacion de datos

Estoy creando un modulo para un portal en el cual los usuarios ya estan en la base de datos, y lo que necesito es que cada usuario pueda ingresar su documento de identidad y una vez verificado que existe en la bd se le presenten 3 preguntas que deba responder conforme a los datos encontrados en la bd, si las responde bien deberia poder asignar su contraseña si no, deberia esperar 24 horas para volver a intentarlo.

el codigo que he hecho hasta ahora es este
Código PHP:
Ver original
  1. <?php
  2. //conectamos a la base de datos
  3. include('connect.php');
  4.  
  5. //verificamos si el usuario ingreso el correo electronico
  6. if(empty($email){
  7.  
  8. //si no ingreso el correo electronico presentamos el formulario para que lo ingrese
  9. echo "<table align='center'>
  10.     <form action='sign_up.php' method='post'>
  11.     <tr>
  12.         <td>Documento de Identidad</td>
  13.         <td><input type='text' name='cc'></td>
  14.     </tr>
  15.     <tr>
  16.         <td colspan='2' align='center'><input type='submit' value='Obtener Contrase&ntilde;a' name='registro'></td>
  17.     <tr>
  18.     ";
  19. }
  20.  
  21. //Si ingreso el correo electronico, validamos la información de su cuenta
  22. else
  23.  
  24. {
  25.  
  26. $cc = $_POST['cc'];
  27.  
  28.  
  29. //Consultamos si documento de identidad existe en la bd
  30.   $vc = "SELECT * FROM reporte_personas_activas WHERE documento = '$cc' ORDER BY rand()";
  31.   $r_vc = mysql_query($vc) or die (mysql_error());
  32.  
  33. //si el documento no existe interrumpimos el proceso y declinamos la solicitud
  34.   $resultado = mysql_num_rows($r_vc);
  35.  
  36.   if($resultado == '0') {
  37.     echo 'No hemos encontrado su documento de identidad en nuestro sistema, Al parecer usted no ha asistido a ninguno de nuestros seminarios Consulte nuestra <a href="http://www.practica.com.co"programaci&oacute;n';
  38.             }
  39.   else
  40.     {
  41.     while ($row = mysql_fetch_array($resultado)) {
  42.  
  43.         $documento = $row[2];
  44.         $primernombre = $row[3];
  45.         $segundonombre = $row[4];
  46.         $primerapellido = $row[5];
  47.         $segundoapellido = $row[6];
  48.         $empresa = $row[7];
  49.         $cargo = $row[8];
  50.         $email = $row[9];
  51.                              }
  52.  
  53.  
  54.     }
  55. }
Pero la verdad alli me bloquee y no se como seguirle, alguna idea?
__________________
Say no more.......
  #2 (permalink)  
Antiguo 11/05/2011, 11:57
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.591
Antigüedad: 14 años, 4 meses
Puntos: 49
Respuesta: Script para verificacion de datos

mmm a mi se me ocurre que guardes en alguna parte la fecha y hora en alguna parte si no responde bien la pregunta, y cuando ingrese esta consulte si en la fecha y hora + 24 o sea 1dia completo es igual, lo bloqueas de lo contrario lo dejas pasar nuevamente. no se si me explique :/
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 11/05/2011, 11:58
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.416
Antigüedad: 18 años, 7 meses
Puntos: 20
Respuesta: Script para verificacion de datos

esta muy buena la idea, la tendre en cuenta, lo que me tiene bloqueado es que no se como presentar las 3 preguntas de manera aleatoria, pues estoy consultando la bd y de alli tomo los datos pero solo quiero presentarle 3 preguntas comopara verificar, y estas deben ser aleatorias para que no siempre se muestre la misma info y sea mas seguro todo
__________________
Say no more.......
  #4 (permalink)  
Antiguo 11/05/2011, 12:43
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 770
Antigüedad: 13 años, 9 meses
Puntos: 15
Respuesta: Script para verificacion de datos

Cita:
Iniciado por el_cesar Ver Mensaje
esta muy buena la idea, la tendre en cuenta, lo que me tiene bloqueado es que no se como presentar las 3 preguntas de manera aleatoria, pues estoy consultando la bd y de alli tomo los datos pero solo quiero presentarle 3 preguntas comopara verificar, y estas deben ser aleatorias para que no siempre se muestre la misma info y sea mas seguro todo
Lo que puedes hacer es seleccionar la pregunta del campo, llamarlo con mysql_fetch_array, y generar 3 números aleatórios verificando que no se repitan, y aplicándolo al array para que saque las 3 preguntas, no se si me entendés xD

Suerte
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #5 (permalink)  
Antiguo 11/05/2011, 14:34
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.416
Antigüedad: 18 años, 7 meses
Puntos: 20
Respuesta: Script para verificacion de datos

Cita:
Iniciado por Jask Ver Mensaje
Lo que puedes hacer es seleccionar la pregunta del campo, llamarlo con mysql_fetch_array, y generar 3 números aleatórios verificando que no se repitan, y aplicándolo al array para que saque las 3 preguntas, no se si me entendés xD

Suerte
Entiendo la idea pero no se realmente como implementarlo
__________________
Say no more.......
  #6 (permalink)  
Antiguo 11/05/2011, 14:57
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 770
Antigüedad: 13 años, 9 meses
Puntos: 15
Respuesta: Script para verificacion de datos

Vale, vamos por partes. Vos las preguntas las tenés guardas en la BD en un campo cada una y con un Id que identifique a cada pregunta ???
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #7 (permalink)  
Antiguo 11/05/2011, 15:04
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.416
Antigüedad: 18 años, 7 meses
Puntos: 20
Respuesta: Script para verificacion de datos

En la BD tengo almacenados los datos del usuario, nombre1 | nombre2 | apellido1 | apellido2 | documento | telefono | email | entre otros.

lo que necesito es que una vez el usuario ingrese su documento de identidad se valide si esta en la base de datos, si esta en la bd entonces debe presentarle por ejemplo algo asi:

su primer apellido es a. Rodriguez b. Balanta c Lucumi donde una de esas opciones es real y las otras dos pueden ser tomadas desde otros campos aleatoriamente, asi mismo se deben presentar dos preguntas mas, luego entonces si el usuario contesta a las preguntas correctamente, le debe permitir activar su cuenta de usuario, si no pues entonces no lo permite durante 24 horas

Espero haberme explicado bien
__________________
Say no more.......
  #8 (permalink)  
Antiguo 11/05/2011, 15:26
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 770
Antigüedad: 13 años, 9 meses
Puntos: 15
Respuesta: Script para verificacion de datos

Vale, que tenés que hacer es un SELECT de todos los apellidos pero solo mostrar dos de tres, el tercero sería pasar en una variable el apellido real, habiendo sacado antes este de la BD, y luego los 3 guardarlos en un array. Al tenerlos en un array Simplemente es o generar un número aleatorio y configurar que ese número ya ha salido, para que no salga el apellido dos o tres veces repetido, y luego que lo imprima.

Escrito puede parecer un poco lío pero.. leelo bien y luego me contás :)
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #9 (permalink)  
Antiguo 13/05/2011, 10:06
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.416
Antigüedad: 18 años, 7 meses
Puntos: 20
Respuesta: Script para verificacion de datos

Cita:
Iniciado por Jask Ver Mensaje
Vale, que tenés que hacer es un SELECT de todos los apellidos pero solo mostrar dos de tres, el tercero sería pasar en una variable el apellido real, habiendo sacado antes este de la BD, y luego los 3 guardarlos en un array. Al tenerlos en un array Simplemente es o generar un número aleatorio y configurar que ese número ya ha salido, para que no salga el apellido dos o tres veces repetido, y luego que lo imprima.

Escrito puede parecer un poco lío pero.. leelo bien y luego me contás :)
Segun esto entonces lo que hice fue:

Código PHP:
Ver original
  1. //Consultamos si documento de identidad existe en la bd
  2.   $vc = "SELECT * FROM reporte_personas_activas WHERE documento = '$cc' ORDER BY rand()";
  3.   $r_vc = mysql_query($vc) or die (mysql_error());
  4.  
  5. //si el documento no existe interrumpimos el proceso y declinamos la solicitud
  6.   $resultado = mysql_num_rows($r_vc);
  7.  
  8.   if($resultado == '0') {
  9.     echo 'No hemos encontrado su documento de identidad en nuestro sistema, Al parecer usted no ha asistido a ninguno de nuestros seminarios Consulte nuestra <a href="http://www.practica.com.co"programaci&oacute;n';
  10.             }
  11.   else
  12.     {
  13.     while ($row = mysql_fetch_array($resultado)) {
  14.  
  15.         $documento = $row[2];
  16.         $primernombre = $row[3];
  17.         $segundonombre = $row[4];
  18.         $primerapellido = $row[5];
  19.         $segundoapellido = $row[6];
  20.         $empresa = $row[7];
  21.         $cargo = $row[8];
  22.         $email = $row[9];
  23.                              }
  24.  
  25.  
  26.     }
con esto busco traer los datos de la BD ahora entonces no se es como presentarlos
__________________
Say no more.......
  #10 (permalink)  
Antiguo 13/05/2011, 10:28
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 770
Antigüedad: 13 años, 9 meses
Puntos: 15
Respuesta: Script para verificacion de datos

Cita:
Iniciado por el_cesar Ver Mensaje
Segun esto entonces lo que hice fue:

Código PHP:
Ver original
  1. //Consultamos si documento de identidad existe en la bd
  2.   $vc = "SELECT * FROM reporte_personas_activas WHERE documento = '$cc' ORDER BY rand()";
  3.   $r_vc = mysql_query($vc) or die (mysql_error());
  4.  
  5. //si el documento no existe interrumpimos el proceso y declinamos la solicitud
  6.   $resultado = mysql_num_rows($r_vc);
  7.  
  8.   if($resultado == '0') {
  9.     echo 'No hemos encontrado su documento de identidad en nuestro sistema, Al parecer usted no ha asistido a ninguno de nuestros seminarios Consulte nuestra <a href="http://www.practica.com.co"programaci&oacute;n';
  10.             }
  11.   else
  12.     {
  13.     while ($row = mysql_fetch_array($resultado)) {
  14.  
  15.         $documento = $row[2];
  16.         $primernombre = $row[3];
  17.         $segundonombre = $row[4];
  18.         $primerapellido = $row[5];
  19.         $segundoapellido = $row[6];
  20.         $empresa = $row[7];
  21.         $cargo = $row[8];
  22.         $email = $row[9];
  23.                              }
  24.  
  25.  
  26.     }
con esto busco traer los datos de la BD ahora entonces no se es como presentarlos
Vale, teniendo eso, haría un SELECT de todos los nombres EXCEPTUANDO de los que se parezcan a este, no se como guardas los nombres, y haría de forma aleatoría seleccionaría dos, y el tercero ya lo tendrías en una variable. Teniendo estos 3, los imprimes, y luego haces un SELECT del resultado que escoge el usuario y lo comparas con el original. La verdad necesitaría hacer un pequeño esquema para ver como realizarlo pero teniendo la idea yo creo que es fácil.

Ya me cuentas =)
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #11 (permalink)  
Antiguo 13/05/2011, 11:24
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.416
Antigüedad: 18 años, 7 meses
Puntos: 20
Respuesta: Script para verificacion de datos

Listo, lo estoy haciendo asi
Código PHP:
Ver original
  1. //traemos todos los nombres
  2.     $nom = "SELECT nombre1 FROM reporte_personas_activas order by RAND()";
  3.     $nom1 = mysql_query($nom) or die (mysql_error());
  4.  
  5.     while ($rownom1 = mysql_fetch_array($nom1)) {
  6.         $nom11 = $rownom1[0];
  7.  
  8.                             }
  9.  
  10.  
  11.     $nom2 = "SELECT nombre2 FROM reporte_personas_activas order by RAND()";
  12.     $nom21 = mysql_query($nom2) or die (mysql_error());
  13.  
  14.     while ($rownom2 = mysql_fetch_array($nom21)) {
  15.         $nom22 = $rownom2[0];
  16.  
  17.                             }
  18.     echo "<form action='valida.php' method='post'>
  19.     <table align='center'>
  20.     <tr><td colspan='6'>
  21.      Su primer nombre es : </td></tr>
  22.      <tr><td><input type='radio' name='nombre1' value='$nom11'></td>
  23.      <td>$nom11</td>
  24.      <td><input type='radio' name='nombre1' value='$nom22'></td>
  25.      <td>$nom22</td>
  26.      <td><input type='radio' name='nombre1' value='$primernombre'></td>
  27.      <td>$primernombre</td>";

Y me funciona bien, apenas termine todo el script lo publico para que lo tomen

gracias
__________________
Say no more.......
  #12 (permalink)  
Antiguo 13/05/2011, 11:44
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 770
Antigüedad: 13 años, 9 meses
Puntos: 15
Respuesta: Script para verificacion de datos

Cita:
Iniciado por el_cesar Ver Mensaje
Listo, lo estoy haciendo asi
Código PHP:
Ver original
  1. //traemos todos los nombres
  2.     $nom = "SELECT nombre1 FROM reporte_personas_activas order by RAND()";
  3.     $nom1 = mysql_query($nom) or die (mysql_error());
  4.  
  5.     while ($rownom1 = mysql_fetch_array($nom1)) {
  6.         $nom11 = $rownom1[0];
  7.  
  8.                             }
  9.  
  10.  
  11.     $nom2 = "SELECT nombre2 FROM reporte_personas_activas order by RAND()";
  12.     $nom21 = mysql_query($nom2) or die (mysql_error());
  13.  
  14.     while ($rownom2 = mysql_fetch_array($nom21)) {
  15.         $nom22 = $rownom2[0];
  16.  
  17.                             }
  18.     echo "<form action='valida.php' method='post'>
  19.     <table align='center'>
  20.     <tr><td colspan='6'>
  21.      Su primer nombre es : </td></tr>
  22.      <tr><td><input type='radio' name='nombre1' value='$nom11'></td>
  23.      <td>$nom11</td>
  24.      <td><input type='radio' name='nombre1' value='$nom22'></td>
  25.      <td>$nom22</td>
  26.      <td><input type='radio' name='nombre1' value='$primernombre'></td>
  27.      <td>$primernombre</td>";

Y me funciona bien, apenas termine todo el script lo publico para que lo tomen

gracias
Me alegro que te haya sido de utilidad :)

Ya comentás que tal los resultados.

Un saludo :) !!
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #13 (permalink)  
Antiguo 13/05/2011, 11:51
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.416
Antigüedad: 18 años, 7 meses
Puntos: 20
Respuesta: Script para verificacion de datos

Perfecto aqui esta el script, me presenta 3 preguntas aleatorias para verificar datos, ahora sigo con el proceso para la activacion de la cuenta en cuanto lo tenga lo publico tambien

Código PHP:
Ver original
  1. <?php
  2. //conectamos a la base de datos
  3. include('connect.php');
  4.  
  5. //recibimos la cedula
  6. $cc=$_POST['cc'];
  7. //verificamos si el usuario ingreso el correo electronico
  8. if(empty($cc)){
  9.  
  10. //si no ingreso el correo electronico presentamos el formulario para que lo ingrese
  11. echo "<table align='center'>
  12.     <form action='sign_up.php' method='post'>
  13.     <tr>
  14.         <td>Documento de Identidad</td>
  15.         <td><input type='text' name='cc'></td>
  16.     </tr>
  17.     <tr>
  18.         <td colspan='2' align='center'><input type='submit' value='Obtener Contrase&ntilde;a' name='registro'></td>
  19.     <tr>
  20.     ";
  21. }
  22.  
  23. //Si ingreso el correo electronico, validamos la información de su cuenta
  24. else
  25.  
  26. {
  27.  
  28. $cc = $_POST['cc'];
  29.  
  30.  
  31. //Consultamos si documento de identidad existe en la bd
  32.   $vc = "SELECT * FROM reporte_personas_activas WHERE documento = '$cc'";
  33.   $r_vc = mysql_query($vc) or die (mysql_error());
  34.  
  35. //si el documento no existe interrumpimos el proceso y declinamos la solicitud
  36.   $resultado = mysql_num_rows($r_vc);
  37.  
  38.   if($resultado == '0') {
  39.     echo 'No hemos encontrado su documento de identidad en nuestro sistema, Al parecer usted no ha asistido a ninguno de nuestros seminarios Consulte nuestra <a href="http://www.practica.com.co"programaci&oacute;n';
  40.             }
  41.   else
  42.     {
  43.     while ($row = mysql_fetch_array($r_vc)) {
  44.  
  45.         $documento = $row[2];
  46.         $primernombre = $row[3];
  47.         $segundonombre = $row[4];
  48.         $primerapellido = $row[5];
  49.         $segundoapellido = $row[6];
  50.         $empresa = $row[8];
  51.         $cargo = $row[9];
  52.         $email = $row[10];
  53.                              }
  54.     echo 'sus datos son :'.$documento." ".$primernombre." ".$segundonombre." ".$primerapellido." ".$segundoapellido." ".$empresa." ".$cargo." ".$email." ";
  55.  
  56.  
  57.     //traemos todos los nombres
  58.     $nom = "SELECT nombre1 FROM reporte_personas_activas order by RAND()";
  59.     $nom1 = mysql_query($nom) or die (mysql_error());
  60.  
  61.     while ($rownom1 = mysql_fetch_array($nom1)) {
  62.         $nom11 = $rownom1[0];
  63.  
  64.                             }
  65.  
  66.  
  67.     $nom2 = "SELECT nombre2 FROM reporte_personas_activas order by RAND()";
  68.     $nom21 = mysql_query($nom2) or die (mysql_error());
  69.  
  70.     while ($rownom2 = mysql_fetch_array($nom21)) {
  71.         $nom22 = $rownom2[0];
  72.  
  73.                             }
  74.  
  75.  
  76.     //traemos todos los segundos nombres
  77.     $nomb2 = "SELECT nombre1 FROM reporte_personas_activas order by RAND()";
  78.     $nom4 = mysql_query($nomb2) or die (mysql_error());
  79.  
  80.     while ($rownomb1 = mysql_fetch_array($nom4)) {
  81.         $nomb11 = $rownomb1[0];
  82.  
  83.                             }
  84.  
  85.  
  86.     $nomb21 = "SELECT nombre2 FROM reporte_personas_activas order by RAND()";
  87.     $nomb21 = mysql_query($nomb21) or die (mysql_error());
  88.  
  89.     while ($rownomb2 = mysql_fetch_array($nomb21)) {
  90.         $nomb22 = $rownomb2[0];
  91.  
  92.                             }
  93.  
  94.     //traemos todos los emails
  95.     $em1 = "SELECT email FROM reporte_personas_activas order by RAND()";
  96.     $em11 = mysql_query($em1) or die (mysql_error());
  97.  
  98.     while ($rowem1 = mysql_fetch_array($em11)) {
  99.         $ema1 = $rowem1[0];
  100.  
  101.                             }
  102.  
  103.  
  104.     $em2 = "SELECT nombre2 FROM reporte_personas_activas order by RAND()";
  105.     $em21 = mysql_query($em2) or die (mysql_error());
  106.  
  107.     while ($rowem2 = mysql_fetch_array($em21)) {
  108.         $ema22 = $rowem2[0];
  109.  
  110.                             }
  111.     echo "<form action='valida.php' method='post'>
  112.     <table align='center'>
  113.     <tr><td colspan='6'>
  114.      Su primer nombre es : </td></tr>
  115.      <tr><td><input type='radio' name='nombre1' value='$nom11'></td>
  116.      <td>$nom11</td>
  117.      <td><input type='radio' name='nombre1' value='$nom22'></td>
  118.      <td>$nom22</td>
  119.      <td><input type='radio' name='nombre1' value='$primernombre'></td>
  120.      <td>$primernombre</td></tr>
  121.      <tr><td colspan='6'>
  122.      Su segundo nombre es : </td></tr>
  123.      <tr><td><input type='radio' name='nombre2' value='$segundonombre'></td>
  124.      <td>$segundonombre</td>
  125.      <td><input type='radio' name='nombre2' value='$nomb11'></td>
  126.      <td>$nomb11</td>
  127.      <td><input type='radio' name='nombre2' value='$nomb22'></td>
  128.      <td>$nomb22</td></tr>
  129.      <tr><td colspan='6'>
  130.      De los siguientes correos electr&oacute;nicos seleccione el que tiene o ha tenido a su servicio : </td></tr>
  131.      <tr><td><input type='radio' name='email1' value='$ema22'></td>
  132.      <td>$ema22</td>
  133.      <td><input type='radio' name='email1' value='$email'></td>
  134.      <td>$email</td>
  135.      <td><input type='radio' name='email1' value='$ema1'></td>
  136.      <td>$ema1</td></tr>
  137.      <tr><td colspan='6' align='center'><input type='submit' name='envia' value='Validar Informaci&oacute;n'></td></tr>
  138.       <input type='hidden' name='primernombre' value='$primernombre'>
  139.       <input type='hidden' name='segundonombre' value='$segundonombre'>
  140.       <input type='hidden' name='email' value='$email'> ";
  141.  
  142.     }
  143. }
  144.  
  145. ?>

Este funciona comola verificacion de atos en datacredito, obviamente no es tan complejo pero es un buen inicio que seria bueno pulir mas
__________________
Say no more.......

Última edición por el_cesar; 13/05/2011 a las 11:52 Razón: complementar info
  #14 (permalink)  
Antiguo 13/05/2011, 13:31
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 770
Antigüedad: 13 años, 9 meses
Puntos: 15
Respuesta: Script para verificacion de datos

Está bien planteado, siempre podés meter alguna cosa más o aplicarle algo más de seguridad pero lo básico está, ahora darle una vuelta más :)

Saludos !
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?

Etiquetas: verificacion
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 09:00.