Foros del Web » Programando para Internet » PHP »

Alucinante, 1 y 1 no son iguales...

Estas en el tema de Alucinante, 1 y 1 no son iguales... en el foro de PHP en Foros del Web. Aver tengo 1 problema alucinante.... la consulta de arriba funciona y la de abajo no. Código PHP: $sqql  =  "select * from customers where customers_email_address = '[email protected]'" ;  Código PHP: $mail  =  ...
  #1 (permalink)  
Antiguo 25/06/2012, 05:03
Avatar de lambar  
Fecha de Ingreso: marzo-2005
Ubicación: Murcia Fumeta
Mensajes: 55
Antigüedad: 19 años, 1 mes
Puntos: 0
Exclamación Alucinante, 1 y 1 no son iguales...

Aver tengo 1 problema alucinante.... la consulta de arriba funciona y la de abajo no.

Código PHP:
$sqql "select * from customers where customers_email_address = '[email protected]'"
Código PHP:
$mail '[email protected]';
$sqql "select * from customers where customers_email_address = '$mail'"
así tampoco...

Código PHP:
$sqql "select * from customers where customers_email_address = '" $mail "'"
ni así...

Código PHP:
$sqql 'select * from customers where customers_email_address = "' $mail '"'
ni de ninguna de las maneras.... le he dado mil vueltas al codigo y estoy en la mismas....

Y no decirme que haga un select * from customers y despues haga un bluce donde ponga $db['email'] == $mail por que tampoco funciona... teniendo las dos variables lo mismo if ( $db['email'] == $mail ) no lo da por bueno....

alguien puede saber que narices me pasa?
  #2 (permalink)  
Antiguo 25/06/2012, 05:14
 
Fecha de Ingreso: marzo-2008
Mensajes: 69
Antigüedad: 16 años, 1 mes
Puntos: 9
Respuesta: Alucinante, 1 y 1 no son iguales...

Código PHP:

$mail 
'[email protected]';
$sqql "select * from customers where customers_email_address = $mail"
  #3 (permalink)  
Antiguo 25/06/2012, 05:21
Avatar de lambar  
Fecha de Ingreso: marzo-2005
Ubicación: Murcia Fumeta
Mensajes: 55
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Alucinante, 1 y 1 no son iguales...

no va, también lo he probado... yo esto no me lo explico... supongo que tiene que ser algún problema de codificación o algo....
  #4 (permalink)  
Antiguo 25/06/2012, 07:55
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Alucinante, 1 y 1 no son iguales...

puede ser problema de codificación, utiliza una llamada

Código PHP:
Ver original
  1. mysql_query('SET NAMES UTF8");

después de seleccionar la DB

recuerda también tener codificados los archivos *.php con UTF8 sin BOM, usa un editor tipo notepad++
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 25/06/2012, 08:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Alucinante, 1 y 1 no son iguales...

Revisa bien que tienes en tu variable $mail, es probable que tengas espacios y tengas que utilizar trim() para limpiarla.

Saludos.
  #6 (permalink)  
Antiguo 25/06/2012, 09:49
Avatar de lambar  
Fecha de Ingreso: marzo-2005
Ubicación: Murcia Fumeta
Mensajes: 55
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Alucinante, 1 y 1 no son iguales...

gracias a los dos por ayudarme, GatorV eso ya estaba pensando,

$email_address = trim(strtoupper(substr(strchr($decoded,"|"),1)));

y maycolalvarez también está todo eso probado y sigo igual.... :( estoy que me tiro de los pelos.....

me he echo una página intermediaria con un formulario que se autoenvia a ver si pasando los datos y recogiendolos otra vez pero nada...... y he comprobado y recomprobado que está bien escrito... yo estoy flipando aun.
  #7 (permalink)  
Antiguo 25/06/2012, 09:50
Avatar de lambar  
Fecha de Ingreso: marzo-2005
Ubicación: Murcia Fumeta
Mensajes: 55
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Alucinante, 1 y 1 no son iguales...

he echo un archivo php nuevo... y he empezado de 0..... y nada..... estoy a punto de irme a la huerta a cavar...... jajaja uf
  #8 (permalink)  
Antiguo 25/06/2012, 09:50
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Alucinante, 1 y 1 no son iguales...

lo único que se me ocurre es que borres la caché del navegador, porque me parece la única explicación para que no vieras los cambios
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #9 (permalink)  
Antiguo 25/06/2012, 09:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Alucinante, 1 y 1 no son iguales...

Una vez que recoges tu variable y armas tu consulta imprimela para que veas sí esta impresa correctamente o no.

Lo otro que puedes hacer y es mas profesional es que uses un debugger como XDebug para hacer un paso a paso de tu código y veas que es lo que esta pasando.

Saludos.
  #10 (permalink)  
Antiguo 25/06/2012, 09:56
Avatar de lambar  
Fecha de Ingreso: marzo-2005
Ubicación: Murcia Fumeta
Mensajes: 55
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Alucinante, 1 y 1 no son iguales...

dios yo ya me parto el culo..... pasando los datos por GET funciona si pones el enlace directo
pero haciendo:

header('Location: alogin3.php?K=' . base64_encode($key) . '&h=' .base64_encode($hash) . '&m=' . $email_address);

sabéis a donde va?? pues a:

alogin3.php?K=s

devuelve el primer caracter bién y se corta....

haciendo una historia he visto que el html devuelve después de cada carácter esto:


el html que devuelve es: & # 6 5 5 3 3 ;

he aquí el problema
  #11 (permalink)  
Antiguo 25/06/2012, 10:13
Avatar de lambar  
Fecha de Ingreso: marzo-2005
Ubicación: Murcia Fumeta
Mensajes: 55
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Alucinante, 1 y 1 no son iguales...

pues no es ese el problema.....

no va ni con esto:

$email_address = str_replace('�','',$email_address);

ni con esto:

$email_address = utf8_decode($email_address);
  #12 (permalink)  
Antiguo 25/06/2012, 10:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Alucinante, 1 y 1 no son iguales...

Pues al menos ya sabes la causa, estas pasando caracteres que no deben de ir y es por eso que tu query falla, repito es mejor que uses un debugger paso a paso para ello.

Saludos.
  #13 (permalink)  
Antiguo 25/06/2012, 10:40
Avatar de danichalay  
Fecha de Ingreso: julio-2009
Mensajes: 35
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Alucinante, 1 y 1 no son iguales...

prueba con esto:
Código PHP:
$mail utf8_encode('[email protected]')
$sqql "select * from customers where customers_email_address = $mail"
y tambien con esto:
Código PHP:
$mail utf8_decode('[email protected]')
$sqql "select * from customers where customers_email_address = $mail"
  #14 (permalink)  
Antiguo 25/06/2012, 10:41
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Alucinante, 1 y 1 no son iguales...

Cita:
Iniciado por lambar Ver Mensaje
dios yo ya me parto el culo.....
Eso no es una opción jaja
  #15 (permalink)  
Antiguo 25/06/2012, 10:43
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: Alucinante, 1 y 1 no son iguales...

Código PHP:
Ver original
  1. $sqql = "select * from customers where customers_email_address = ". $mail;
  #16 (permalink)  
Antiguo 25/06/2012, 10:43
Avatar de danichalay  
Fecha de Ingreso: julio-2009
Mensajes: 35
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Alucinante, 1 y 1 no son iguales...

me olvidaba, tube un problema parecido, te recomiendo que revises por sis acaso que los resultados salgan de la misma manera en todos los navegadores. a mi me pasó por ejm que en IE me salian los caracteres ok por ejm: áéíóú, pero en los demas navegadores me salian mal. y si arreglaba en los demas en IE se malograba, que habia pasado? la codificacion no de los caracteres, sino del archivo, lo que hice fue abrir el archivo fisico en block de notas y guardarlo con la codificacion utf-8, porque estaba con codificación unicode
  #17 (permalink)  
Antiguo 25/06/2012, 11:20
Avatar de lambar  
Fecha de Ingreso: marzo-2005
Ubicación: Murcia Fumeta
Mensajes: 55
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Alucinante, 1 y 1 no son iguales...

aver os explico, los datos llegan en base64 desde un programa echo en visual basic 5.0

miarchivo.php?DATA=tres_variables_juntas_encriptad as_en_base64

la raiz del problema venia en

Código PHP:
$data base64_decode($_GET['DATA']); 
me he echo esta función:

Código PHP:
function limpia $var ) {
    
$x strlen($var);
    for (
$i=0$i<=$x ;$i++){
        if ( 
ord($var{$i}) > AND ord($var{$i}) < 256 $xx .= $var{$i};
    }
    return 
$xx;

ahora lo que hago es:

Código PHP:
$data limpia(base64_decode($_GET['DATA'])); 
y por fin funciona.... no es la solución perfecta.... pero funciona que es lo que le interesa al jefe.... jeje saludos y un gúgol de gracias por intentar ayudarme.

Etiquetas: son, variables
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:07.