en local no va y en remoto si

joja_2
03 de Enero del 2006
hola

tengo una pagina con unos enlaces que abren ventanas independientes según el valor que les paso desde el link, pues me salen los siguientes errores:

Notice: Undefined index: HTTP_REFERRER in c:Inetpubwwwrootovcontador.php on line 6

Notice: Undefined variable: mifinca in c:Inetpubwwwrootovfincasdetallefinca.php on line 10

Notice: Undefined variable: mifinca in c:Inetpubwwwrootovfincasdetallefinca.php on line 11

Notice: Undefined variable: mifinca in c:Inetpubwwwrootovfincasdetallefinca.php on line 12

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:Inetpubwwwrootovfincasdetallefinca.php on line 91


parece ser que la variable mifinca no se pasa a la ventana, pero yo sí que lo veo en el codigo.

Lo bueno es que en el servidor remoto funciona perfecto, y en el local me saca los fallos

por qué?
es un fallo de configuracion de php?

en el servidor remoto creo que es un apache y en casa utilizo el iis con win xp sp2.

el error me da tanto en firefox como en internet explorer

El codigo donde se produce el error es el siguiente:

contador.php

<?php
$fecha_entrada=(date ("d-m-Y"));
$hora_entrada=(date ("H:i:s"));
$navegador=$_SERVER['HTTP_USER_AGENT'];//getenv("HTTP_USER_AGENT");
$ip_entrada=$_SERVER['REMOTE_ADDR'];//getenv("HTTP_CLIENT_IP");
$url_refer=$_SERVER['HTTP_REFERRER'];//getenv("HTTP_REFERER");

//include("../data/xxx.php");
//mysql_select_db($database_xxx,$link);

mysql_db_query($database_xxx, "INSERT INTO clicks (fecha_entrada,hora_entrada,navegador,ip_entrada,u rl_refer,pagina) VALUES ('$fecha_entrada','$hora_entrada','$navegador','$i p_entrada','$url_refer','$pagina')") or die (mysql_error());
mysql_close();
?>

detallefinca.php

$fincas=mysql_query("Select * from fincas where codfinca=$mifinca",$link);
$especies=mysql_query("Select distinct especie,cantidad from detallefincas where codfinca=$mifinca and IsNull(variedad) ORDER BY especie",$link);
$fotos=mysql_query("Select * from fotosfincas where codfinca=$mifinca",$link);

para mi creo que tiene que ver con la configuracion del php o del mysql, ya que antes de formatear el ordenador con versiones anteriores a php 5 y mysql, funcionaba bien.

gracias

Editar/Borrar Mensaje

dani
03 de Enero del 2006
La variable no es
$_SERVER['HTTP_REFERRER']
sino
$_SERVER['HTTP_REFERER']
te sobra una erre

Califa
03 de Enero del 2006
Hola, me parece que el problema que estás teniendo tiene que ver con una opción del php.ini que se llama register_globals. Si hacés un phpInfo() [muy simple: un archivo .php que diga <?php phpInfo(); ?> te va a mostrar la configuración de php] y lo ejecutás, vas a poder ver el valor de esa configuración en tu equipo (también en el servidor, si lo subís y lo ejecutás).

Por defecto, register_globals está deshabilitado en las últimas versiones de php. Lo más recomendable es dejarlo así, por una cuestión de seguridad.

La pequeña gran diferencia es que las variables que pasás como GET, POST, y COOKIE, no las registra como globales, o sea, no se pueden acceder directamente desde el script. Un ejemplo con GET, con register_globlas "on" y "off":

Supongamos que usás el siguiente link:
http://www.ejemplo.com/ejemplo.php?mifinca=1.

Con "On":
en ejemplo.php va a existir una variable $mifinca.

Con "Off":
en ejemplo.php NO va a existir la variable $mifinca (a menos que la declares en otra parte del script). Pero podés acceder escribiendo, en lugar de $mifinca, $_GET['mifinca']. (Si la pasaras por POST, sería $_POST['mifinca'], y así).

O sea que, si es ése el problema (y creo que es así), tenés dos opciones: modificar el php.ini para que register_globals quede "On" (no es lo más recomendable) o modificar el script, y en lugar de pedir el valor de $mifinca, pedís el valor de $_GET['mifinca'].

Funciona con una sola línea de código (no hace falta cambiar todas las variables): antes de usar $mifinca por primera vez, ponés:
$mifinca = $_GET['mifinca'];
y listo.

Suerte