¡¡Muchas gracias ñuño!!
A veces... con las prisas nos olvidamos de las "
buenas prácticas..."
El fichero existe, pues lo he comprobado vía ftp.
Sospecho que el problema está en la llamada
Código PHP:
$i3 = ($_GET["Control1"]);
Porque estoy haciendo la llamada desde la misma página
sin recargar.
De todos modos, como mi intención era rellenar los datos de un formulario, con los obtenidos del fichero php y, puesto que no conseguía pasar la variable selectedIndex del <select>, busqué la solución a través de un array desde JavaScript.
La solución ha quedado de la siguiente manera, por si interesa a alguien:
Código PHP:
<script>
// creamos la matriz
function HazArray()
{
datos = new Array ();
<?php
php
define ('ARCHIVO_DATOS', 'fichero.txt');
if (!file_exists(ARCHIVO_DATOS)) // Aviso si no encuentra el fichero
die ('<pre>no encuentro el fichero "'.ARCHIVO_DATOS.'".</pre>');
$fa2 = file(ARCHIVO_DATOS); // leemos todo el fichero en un array php
if ($fa2 === FALSE) // Aviso si no recibió los datos del fichero
die ('<pre>No pude leer el fichero "'.ARCHIVO_DATOS.'".</pre>');
$size = count($fa2);
for($i=0; $i<$size; $i++)
{
$fa2[$i] = utf8_encode($fa2[$i]);
$text = explode("|",rtrim($fa2[$i]));
?>
datos.push(<?php echo json_encode($text);?>);
<?php
}
?>
}
//El select queda así
<select name="Nombres" size="50" id="Nombres" onChange="Rellenar()" > </select>
// Actualizamos los datos del formulario
function Rellenar()
{
indice = (document.getElementById('Nombres')).selectedIndex;
document.encuesta.item01.value = datos[indice][0];
document.encuesta.item02.value = datos[indice][1];
document.encuesta.item03.value = datos[indice][2];
document.encuesta.item04.value = datos[indice][3];
document.encuesta.item05.value = datos[indice][4];
document.encuesta.item06.value = datos[indice][5];
document.encuesta.item07.value = datos[indice][6];
document.encuesta.item08.value = datos[indice][7];
document.encuesta.item09.value = datos[indice][8];
document.encuesta.MultiText1.value = datos[indice][9];
document.encuesta.MultiText2.value = datos[indice][10];
document.encuesta.MultiText3.value = datos[indice][11];
document.encuesta.email.value = datos[indice][13];
}
</script>
Sigo sin saber cómo pasar los datos desde JavaScript o de HTML a PHP en la misma página.
Comprendo que es complicado. Lo intenté con Ajax pero tampoco lo conseguí.
Ahora, (de momento), ya no me preocupa demasiado.
Saludos Ñuño. (Me gusta ésa reivindicación de nuestra Ñ)
Saludos a todos.