Foros del Web » Programando para Internet » PHP »

Validacion

Estas en el tema de Validacion en el foro de PHP en Foros del Web. ...tengo un dato en la columna email indice 4 con un valor de "555", hago un captura como lo muestro a continuacion: Código PHP: <?php  ...
  #1 (permalink)  
Antiguo 25/01/2009, 17:08
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Exclamación Validacion

...tengo un dato en la columna email indice 4 con un valor de "555", hago un captura como lo muestro a continuacion:

Código PHP:
<?php 
require("Php querys/conexion.php");
$emailquery mssql_query("SELECT email from usuarios"); 
$emailcaptura mssql_fetch_array($emailquery);
for(
$i=0;$i<=100;$i++){
if(
$emailcaptura[i]=="555"){
echo
"encontrado";
};
};
?>
...pero nunca encuentra el dato...
  #2 (permalink)  
Antiguo 25/01/2009, 19:06
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Validacion

Estàs empleando una lógica totalmente incorrecta.

Pides todos los emails (ojo, sòlo los emails) de la tabla usuarios. Primer punto erroneo. Luego usas mysql_fetch_array para extraer los datos, pero lo usas una sola vez, por lo que en $emailcaptura tienes un array con un solo elemento, el email de la primera fila devuelta por tu consulta. Segundo error (De hecho tienes dos elementos en ese array, pues mssql_fetch_array, genera un array con índices asociativos y numéricos, por lo que para cada dato hay dos índices).

Finalmente, Intentas crear un ciclo que haga 100 loops, pero no piensas que en $emailcaptura sólo tienes un índice 0 (Si, cero, no uno) y tu índice asociativo "email" que nunca será considerado en el loop.

Hay una manera muy sencilla de hacer lo que deseas:

Código PHP:
$buscado 555// Un email puede ser un número?

$emailquery mssql_query("SELECT email from usuarios WHERE email = '$buscado'");  

if(
mssql_num_rows($emailquery) == 1){ 
    echo
"encontrado"

Te sugiero buscar y leer un manual de sql, y además revisar las funciones que php trae para manejar bases de datos MsSQL

  #3 (permalink)  
Antiguo 25/01/2009, 19:10
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Exclamación Respuesta: Validacion

...tengo en cuenta lo que has dicho, pero lo he solucionado de la siguiente forma...
...
Código PHP:
<?php
require("Php querys/conexion.php");
$emailquery mssql_query("SELECT email from usuarios"); 
$emailcaptura mssql_fetch_array($emailquery);
for(
$i=0;$i<5;$i++){
if(
$_POST[$email]==$emailcaptura[$i]){echo"cuenta existente";break;}else{mssql_query("INSERT INTO usuarios (nombres,apellidos,email,contraseña,sexo,ubicacion,dia,mes,año) values ('{$_POST['nombres']}','{$_POST['apellidos']}','{$_POST['email']}','{$_POST['contrasena']}','{$_POST['sexo']}','{$_POST['ubicacion']}','{$_POST['dia']}','{$_POST['mes']}','{$_POST['ano']}')");};
};
?>
...y si dale, estoy leyendo algo de mas sobre PHP, traigo la logica de Java, por ello asi mi forma de manejar el lenguaje...
  #4 (permalink)  
Antiguo 25/01/2009, 20:06
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Validacion

No quiero ser pesado, ni me gusta opinar donde no me llaman, pero te aseguro que tendrás problemas con ese código, si no es ahora, posteriormente. Ya te explique los puntos "malos" de ese código en el mensaje anterior.

En fin,
  #5 (permalink)  
Antiguo 25/01/2009, 20:12
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: Validacion

ah no, dale hermano, he tenido en cuenta lo tuyo, ahora estoy intentando explicar lo que me has dicho...para asi poder implementarlo...dale se que soy nuevo en esto...igual gracias...enserio...(Y)
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 10:56.