Foros del Web » Programando para Internet » PHP »

Problema con variables en servidor local

Estas en el tema de Problema con variables en servidor local en el foro de PHP en Foros del Web. Buenas a todos. tengo un codigo que funciona perfectamente en un servidor de pago (en internet). desde de flash envio una variable a un php, ...
  #1 (permalink)  
Antiguo 08/11/2005, 07:06
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
Problema con variables en servidor local

Buenas a todos. tengo un codigo que funciona perfectamente en un servidor de pago (en internet). desde de flash envio una variable a un php, y me deveulves unos resultados de la bd. el codigo es el siguiente:

flash

if ((_root.tipo.value == "Piso"))
sqlTipo= "and tipo='piso'";

datosPoblaciones.load("http://192.168.0.6/clientes/demo/phpLoads/loadPoblaciones.php?tipo="+sqlTipo+"");

y en el php tengo esto:

$totalInmuebles = mysql_query("SELECT COUNT(*) as total FROM prueba inner join inmobiliarias on (inmobiliaria = inmobiliarias.id) where poblacion= $id ".$tipo." ") or die(mysql_error());

y el problema esta en la variable tipo. si no envio la variable, me da los resultados, pero necesito hacer una tria por tipo. he probado con "", ' ', y nada. y como os digo, en un servidor de internet funciona.

alguien me puede ayudar?

salu2
  #2 (permalink)  
Antiguo 08/11/2005, 07:10
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 15 años, 1 mes
Puntos: 2
Esto seguramente tenga que ver con la configuración del register_globals de tu php.ini, si envías la variable por GET prueba a recibirla mendiante $_GET['variable'] y si es mediante POST con $_POST['variable'].

Un saludo.
  #3 (permalink)  
Antiguo 08/11/2005, 09:35
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
buenas zertiko, y gracias por responder.

pues he editado el register_globals, y lo he puesto ON. y sigue pasando lo mismo. como quedaria entonces?

$totalInmuebles = mysql_query("SELECT COUNT(*) as total FROM prueba inner join inmobiliarias on (inmobiliaria = inmobiliarias.id) where poblacion= $id "$_GET['tipo']"") or die(mysql_error());

??

tampoco me sale

salu2
seria eso
  #4 (permalink)  
Antiguo 08/11/2005, 09:43
 
Fecha de Ingreso: noviembre-2005
Mensajes: 58
Antigüedad: 12 años, 1 mes
Puntos: 0
Cita:
Iniciado por ferranWEB
buenas zertiko, y gracias por responder.

pues he editado el register_globals, y lo he puesto ON. y sigue pasando lo mismo. como quedaria entonces?

$totalInmuebles = mysql_query("SELECT COUNT(*) as total FROM prueba inner join inmobiliarias on (inmobiliaria = inmobiliarias.id) where poblacion= $id "$_GET['tipo']"") or die(mysql_error());

??

tampoco me sale

salu2
seria eso
Ok, pero estas seguro que te viene por GET el valor de la variable?

Saludos,
pancarne.
  #5 (permalink)  
Antiguo 08/11/2005, 09:45
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
gracias pancarne. yo en el flash envio los datos de la siguiente manera:

if ((_root.tipo.value == "Piso"))
sqlTipo= "and tipo='piso'";

datosPoblaciones.load("http://192.168.0.6/clientes/demo/phpLoads/loadPoblaciones.php?tipo="+sqlTipo+"");

supongo q es via GET, no?

salu2
  #6 (permalink)  
Antiguo 08/11/2005, 10:02
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
buenas, ya se donde esta el problema pero no se como solucionarlo para no tener que modificar toda la programacion.

el tema esta en que cuando llamo al php, le paso una cadena:

sqlTipo= "and tipo='piso'";

entonces, en el php hago WHERE tal.. " '.$tipo' " y aqui en principio tendria que moostrar el AND tipo='piso'.

si directamente le pongo la cadena valor "Piso" y hago en el php

AND tipo=" '.$tipo' " me funciona, pero necesito que me lea la cadena entera...

a ver si alguien me echa el ultimo empujon!!
  #7 (permalink)  
Antiguo 08/11/2005, 10:30
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
he probado con esto:

where poblacion= $id ".$_POST['tipo']."

me da resultados, el problema es que no me hace caso al _POST, donde le digo que me diferencie AND tipo='Piso'...

me da un listado con todos los registros!! como puedo hacer para que me haga caso???

salu2
  #8 (permalink)  
Antiguo 08/11/2005, 11:03
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
ninguna ayuda?

salu2
  #9 (permalink)  
Antiguo 08/11/2005, 18:08
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 15 años, 1 mes
Puntos: 2
Hola Ferran, si has puesto el register_globals a on ahora con $_POST['tipo'] no debería irte.., pasalo a off y debería irte con $tipo o $_POST['tipo'] de todas formas porque sabes que te lo envía mediante POST??? si no lo has específicado se envía por defecto mediante GET con que sería $_GET['tipo'] si no es de eso no tengo ni idea.., suerte.

Un saludo.
  #10 (permalink)  
Antiguo 09/11/2005, 07:59
 
Fecha de Ingreso: noviembre-2005
Mensajes: 58
Antigüedad: 12 años, 1 mes
Puntos: 0
Cita:
Iniciado por Zertiko
Hola Ferran, si has puesto el register_globals a on ahora con $_POST['tipo'] no debería irte.., pasalo a off y debería irte con $tipo o $_POST['tipo'] de todas formas porque sabes que te lo envía mediante POST??? si no lo has específicado se envía por defecto mediante GET con que sería $_GET['tipo'] si no es de eso no tengo ni idea.., suerte.

Un saludo.
Creo que se te mezaclaron las cosas....

register_globals = On

$tipo; //funciona
$_POST['tipo']; //funciona
$_GET['tipo']; //funciona
$_REQUEST['tipo']; //te trae cualquiera de los dos GET y POST funciona

register_globals = Off

$tipo; // NO funciona
$_POST['tipo']; //funciona
$_GET['tipo']; //funciona
$_REQUEST['tipo']; //te trae cualquiera de los dos GET y POST funciona
  #11 (permalink)  
Antiguo 09/11/2005, 09:29
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
gracias zertiko, y pancarne por tu explicación. la cosa es que yo tengo lo siguiente:

register_globals ON

mysql_query("SELECT COUNT(*) as total FROM inmofree inner join Inmobiliarias on (inmobiliaria = Inmobiliarias.id) where poblacion= $id ".$_REQUEST['tipo']." ") or die(mysql_error());

y del flash, la variable tipo puede tener por ejemplo el valor:

and tipo='piso'

y ese valor no lo recojo en el php, ni con POST, ni GET, ni REQUEST. en el servidor de internet me funciona perfectamente con el

" '.$tipo.' "

pero a modo local no... que hago mal?

salu2
  #12 (permalink)  
Antiguo 09/11/2005, 09:59
 
Fecha de Ingreso: noviembre-2005
Mensajes: 58
Antigüedad: 12 años, 1 mes
Puntos: 0
Cita:
Iniciado por ferranWEB
gracias zertiko, y pancarne por tu explicación. la cosa es que yo tengo lo siguiente:

register_globals ON

mysql_query("SELECT COUNT(*) as total FROM inmofree inner join Inmobiliarias on (inmobiliaria = Inmobiliarias.id) where poblacion= $id ".$_REQUEST['tipo']." ") or die(mysql_error());

y del flash, la variable tipo puede tener por ejemplo el valor:

and tipo='piso'

y ese valor no lo recojo en el php, ni con POST, ni GET, ni REQUEST. en el servidor de internet me funciona perfectamente con el

" '.$tipo.' "

pero a modo local no... que hago mal?

salu2
Un poco de logica......Si exactamente (chequea que sea asi!!) el mismo codigo funciona en un servidor pero en tu servidor local NO, entonces seguramente sea un problema de configuracion de tu servidor local.
Ahora tenes dos opciones:

Podes hacer un phpinfo(); en ambos servidores y compararlos.
O, adaptar el codigo para que funcione en ambas configuracion.

Para lograr esto ultimo tambien tenes que saber cuales son las diferencias para poder adapatar el codigo......entonces......

No te queda otra que saber cuales son las diferencias de configuracion entre los servidores...


Saludos,
pancarne.
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:28.