Ver Mensaje Individual
  #2  
Antiguo 16-01-2018
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Reputación: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
A parte de que si no existe el fichero no haces nada (debería, al menos, devolver un mensaje de error) y que acceder directamente a los valores de $_GET es muy mala idea (habría que hacer alguna comprobación de que el dato se recibe y está dentro de lo esperado), parece que el problema es de sintaxis. Asegúrate de que el servidor está en modo depuración y devuelve todos los avisos y mensajes de error, y usa el depurador de tu navegador para ver qué devuelve exactamente en cada petición.

[edito]Acabo de ver dónde está el problema, así que añado la solución: USAR CONSTANTES. A ver si lo pillas.

Tú pones:
Código PHP:
<?php
  
if (file_exists("fichero.txt"))
    {       
    
$fa2 file("fichero,txt"); // leemos todo el fichero en un array
    
}
Yo hubiera puesto
Código PHP:
<?php
   
if (!file_exists ("fichero.txt")) die ('No existe el fichero.txt');
   
$fa2 file("fichero,txt"); // leemos todo el fichero en un array
   
if ($fa2 === FALSE) die ('No pude leer fichero.txt');
Antes de seguir, haz el cambio, tal cual, y mira lo que pasa. ¿Sorprendido? ¿Lo has visto?

La solución que propongo, y que en mi opinión habría que usar siempre, es esta:
Código PHP:
<?php
  define 
('ARCHIVO_DATOS''fichero.txt');

  if (!
file_exists(ARCHIVO_DATOS))
    die (
'<pre>no encuentro el fichero "'.ARCHIVO_DATOS.'".</pre>');
  
$fa2 file(ARCHIVO_DATOS); // <-- Aquí es donde estaba el fallo.
  
if ($fa2 === FALSE// <-- Con esta línea hubieras encontrado el problema.
    
die ('<pre>No pude leer el fichero "'.ARCHIVO_DATOS.'".</pre>');
...
  if (!isset (
$_GET['Control1']))
    die (
'<pre>No recibí nada por el parámetro "Control1".</pre>');
  if (!
is_numeric ($_GET['Control1']))
    die (
'<pre>El parámetro "Control1" debe ser un número.</pre>');
...
Es decir: comprueba los valores siempre.
[/edito]
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine

Última edición por Ñuño Martínez fecha: 16-01-2018 a las 14:24:25. Razón: Encontrado el problema y puesta la solución.
Responder Con Cita