Foros del Web » Programando para Internet » Javascript » Frameworks JS »

check username Ajax Php

Estas en el tema de check username Ajax Php en el foro de Frameworks JS en Foros del Web. Buenas noches. estoy un poco confundido con una consulta a mi base de datos -en el codigo que agrego a continuacion me llega por POST ...
  #1 (permalink)  
Antiguo 06/05/2009, 18:00
Avatar de Sopa  
Fecha de Ingreso: mayo-2009
Ubicación: Cordoba Argentina
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Mensaje check username Ajax Php

Buenas noches.

estoy un poco confundido con una consulta a mi base de datos

-en el codigo que agrego a continuacion me llega por POST un nombre de usuario, en este caso lo voy a comparar con login de mi db

la consulta que estoy haciendo es esta:
Código HTML:
 <?php
$db = mysqli_connect ("localhost", "root", "", "bd") OR die ("Could not connect to MySQL: " . mysqli_connect_error() );
$username = $_POST['username'];
$username = mysqli_real_escape_string($db,$username);
$query="SELECT * FROM usuarios WHERE login ='$username'";
$result = mysqli_query($db, $query);
if(mysqli_num_rows($result) > 0){
echo "yes";
}
else
{
echo "no";
}
?>

El proyecto original check username esta en este link
Código:
roshanbh.com.np/2008/04/check-username-available-ajax-php-jquery.html
Datos de mis servidor. trabajo on XAMPP
la base de datos se llama "bd" tabla "usuarios" dentro de esta tabla esta" login" que es a donde intento hacer la consulta ya mencionada.
Saludos y gracias desde ya

Última edición por Sopa; 06/05/2009 a las 18:28
  #2 (permalink)  
Antiguo 06/05/2009, 18:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: check username Ajax Php

Tema trasladado desde PHP
  #3 (permalink)  
Antiguo 06/05/2009, 20:19
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: check username Ajax Php

Bienvenido al foro.

¿Qué es lo que falla exactamente o qué parte es la que no consigues hacer?

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 06/05/2009, 20:51
Avatar de Sopa  
Fecha de Ingreso: mayo-2009
Ubicación: Cordoba Argentina
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: check username Ajax Php

David, gracias por la bienvenida!!!
lo que no funciona basicamente, es que esta tocando la db en mysql la consulta, pero hay algo extraño en la linea 4 o 5, eh tratado de probar de distintas formas y no puedo dar con el error especifico.
Lo que necesito es que me devuelve en el from( documento html con ajax y jquery ) si el usuario esta o no disponible.
La base de datos que yo cree se llama usuarios dentro de usuarios se encuentran las tablas nombre, apellido, direccion, email etc y "login" yo lo que quiero es comparar login del form contra login de la db.
para hacer esta conparacion estoy usando el archivo
Cita:
<?php
$db = mysqli_connect ("localhost", "root", "", "bd") OR die ("Could not connect to MySQL: " . mysqli_connect_error() );
$username = $_POST['username'];
$username = mysqli_real_escape_string($db,$username);
$query="SELECT * FROM usuarios WHERE login ='$username'";
$result = mysqli_query($db, $query);
if(mysqli_num_rows($result) > 0){
echo "yes";
}
else
{
echo "no";
}
?>
estoy trabajando abajo con xampp y todo los servicios ok, la db llamada bd, registra y comprueba perfectamente a los usuarios. pero no puedo conseguir una correcta correccion para el check login.
Gracias nuevamente david.
  #5 (permalink)  
Antiguo 06/05/2009, 23:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: check username Ajax Php

Usa mysqli_report() para que muestre si hay algún error en la consulta:
http://www.php.net/mysqli_report
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 06/05/2009, 23:36
Avatar de Sopa  
Fecha de Ingreso: mayo-2009
Ubicación: Cordoba Argentina
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Estoy probando David , pero me surgieron preguntas entre mysql y mysqli ..chan!!! estoy haciendo las pruebas va bien, ya vengo...

Bueno, depues de dar vueltas en las consultas...
1 uso mysql y no mysqli
2 hice unos cambios que por ahora no funcionan al igual que mi cerebro...ja
3 mañana la saco andando!!!
4 gracias david cirvio del debug
5 aca esta el ultimo cambio que aun no funca...
ESCUCHO SUGERENCIAS POR FAVORRRR

Cita:
<?php
$server="localhost";
$dbpass="";
$dbuser="root";
$database="bd";
$link=mysql_connect($server,$dbuser,$dbpass,$datab ase);

$username = $_POST['username'];

$username = mysql_real_escape_string($link,$username);

$query="SELECT * FROM usuarios WHERE login ='$login'";

$result = mysql_query($link,$query,$username);

if(mysql_num_rows($result) > 0){
echo "yes";
}
else
{
echo "no";
}
?>

Última edición por GatorV; 07/05/2009 a las 08:34
  #7 (permalink)  
Antiguo 07/05/2009, 07:31
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: check username Ajax Php

Debes leer la documentación de las funciones:
mysql_connect(): El último parámetro no es el nombre de la base de datos, para seleccionar una base de datos, debes usar mysql_select_db() (http://www.php.net/mysql_select_db)
mysql_real_escape_string(): El parámetro es la cadena a escapar, y el segundo el identificador de enlace.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 07/05/2009, 10:22
Avatar de Sopa  
Fecha de Ingreso: mayo-2009
Ubicación: Cordoba Argentina
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: check username Ajax Php

David, no me doy cuanta como hacer el escape del array, intente por todo los medios pero no pude.
de este forma funcina correctamente ( ARRAY)
Cita:
<?php
$existing_users=array('pablo','caro','javi');

$user_name=$_POST['user_name'];

if (in_array($user_name, $existing_users))
{

echo "no";
}
else
{

echo "yes";
}
?>
Escapando el array con real scape :
Cita:
<?php
$db = mysql_connect ("localhost", "root", "", "bd");
$username = $_POST['username'];
$username = mysql_real_escape_string($db,$username);
$query="SELECT * FROM usuarios WHERE username ='$username'";
$result = mysql_query($db, $query);
if(mysql_num_rows($result) > 0){
echo "yes";
}
else
{
echo "no";
}
?>
no funciona...
la verdad que estoy superado por esto amigos, pero aun tengo fe de que voy a encontrar la solucion :)
  #9 (permalink)  
Antiguo 07/05/2009, 10:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: check username Ajax Php

Como te dije, el orden en que colocas los parámetros está mal.

¿Leíste el manual de referencia? En mysql_connect no debes especificar la base de datos, para eso debes usar mysql_select_db.

A la función mysql_real_escape_string sólo debes pasarle username.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 07/05/2009, 11:11
Avatar de Sopa  
Fecha de Ingreso: mayo-2009
Ubicación: Cordoba Argentina
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: check username Ajax Php

David tenes razon respecto a mysql_connect y mysql_select_db, hice la correccion y el mysql_real_escape_string de username que viene por parametro, pero aun asi no esta funcionando .
Los cambios:
Cita:
<?php
$link = mysql_connect('localhost', 'root', '');
$db_selected = mysql_select_db('bd', $link);
$username=$_POST['username'];
$username = mysql_real_escape_string($username);
$query="SELECT * FROM usuarios WHERE username ='$username'";
$result = mysql_query($username, $query);
if(mysql_num_rows($result) > 0){
echo "yes";
}
else
{
echo "no";
}
?>
Si me podes ayudar en la correccion del script david te voy agradecer, la verdad que soy un choto con esto de las consultas...
Si hay otra sugerencia por alli POR FAVOR!!! toy desesperado con esto...
  #11 (permalink)  
Antiguo 07/05/2009, 11:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: check username Ajax Php

Esta vez el problema lo tienes en la llamada a mysql_query(). El primero parámetro debe ser la consulta SQL mientras que pasarle $username no tiene sentido en ese contexto.

http://www.php.net/mysql_query
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 07/05/2009, 12:09
Avatar de Sopa  
Fecha de Ingreso: mayo-2009
Ubicación: Cordoba Argentina
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Mensaje Respuesta: check username Ajax Php

GRANDE DAVID!!!
estoy mas que contento, funciona y muy bien!, como me dijiste no era necesario en mysql_query() mas que mysql_query($query), luego de eso comenzo a llegar hasta el final de la comprovacion falto cambiar el nombre por parametro $user_name.
el codigo final es este:
Cita:
<?php
$link = mysql_connect('localhost', 'root', '');
$db_selected = mysql_select_db('bd', $link);
$username=$_POST['user_name'];
$username = mysql_real_escape_string($username);
$query="SELECT * FROM usuarios WHERE username ='$user_name'";
$result = mysql_query($query);
if(mysql_num_rows($result) > 0){
echo "no";
}
else
{
echo "yes";
}
?>
David realmente sos un grozo!, muchas gracias por la ayuda.
Ahora me gustaria publicar el proyecto check username Ajax Php que consta de 3 archivos entre ellos este que fue un parto para mi. me relajo un ratito y publico todo antes de implementarlo en mi proyecto.
  #13 (permalink)  
Antiguo 07/05/2009, 12:56
Avatar de Sopa  
Fecha de Ingreso: mayo-2009
Ubicación: Cordoba Argentina
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Mensaje Respuesta: check username Ajax Php

Lo prometido es deuda.
el proyecto original de check username Ajax Php Jquery ó chequear usuario disponible con ajax php y jquery es de
Cita:
roshanbh.com.np/2008/04/check-username-available-ajax-php-jquery.html
como dije en un principio se puede bajar el proyecto desde
Cita:
roshanbh.com.np/codes/username-available.zip
lo pueden ver en funcionamiento aqui
Cita:
roshanbh.com.np/examples/username-available/
para que funcione como yo lo estoy probando actualmete abajo con xampp, recomiendo lean este post desde un principio por si alguien se encuentra con los problemas de conexion que yo tuve y fueron resueltos por david el grande espero que les sirva y les sea util como a mi.
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 16:51.