Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2010, 01:55
olivie
 
Fecha de Ingreso: enero-2010
Mensajes: 21
Antigüedad: 14 años, 4 meses
Puntos: 0
ejecutar funcion php desde ajax

Hola!

tengo un problema con la ejecución de funciones php, ya que no se ejecutan, sino que se imprime su contenido ¿por qué puede ser?

Este es mi fuchero ajax.js:
Código Javascript:
Ver original
  1. function generaTablas(nEnlaces){
  2.     //  Primero vamos a ver si la URL es una URL :)
  3.  
  4.     //  Usuario inteligente...
  5.     if (window.XMLHttpRequest) {
  6.         req = new XMLHttpRequest();
  7.         req.onreadystatechange = processReqChange;
  8.         req.open("POST", "funciones_ajax.inc", true);
  9.         req.send("numero="+nEnlaces+"&FUNCION=pintarTablaDatos");
  10.     //  ...y usuario de Internet Explorer Windows
  11.     } else if (window.ActiveXObject) {
  12.         isIE = true;
  13.         req = new ActiveXObject("Microsoft.XMLHTTP");
  14.         if (req) {
  15.             req.onreadystatechange = processReqChange;
  16.             req.open("POST", "funciones_ajax.inc",true);
  17.             req.send("numero="+nEnlaces+"&FUNCION=pintarTablaDatos");
  18.         }
  19.     }
  20. }
  21.  
  22. //  Funcion que se llama cada vez que se dispara el evento onreadystatechange
  23. //  del objeto XMLHttpRequest
  24. function processReqChange(){
  25.     var contenedorTablas = document.getElementById("tablas_relleno");
  26.     if(req.readyState == 4){
  27.         contenedorTablas.innerHTML = req.responseText;
  28.     }
  29. }

Este es mi fichero funciones_ajax.php, con la función llamada:

Código PHP:
Ver original
  1. eval ('$_POST["FUNCION"]($_POST["numero"]);');
  2. function pintarTablaDatos($nEnlaces){
  3.     $loc = "Origen";
  4.  
  5.     $x = array("Nº", "Equipo", "SUBR/A155M" , "SLOT/VC4", "PUERT/VC12", "E1");
  6.     echo "<table id=\"tabla$loc\">";
  7.     echo "<tr>";
  8.     echo "<th colspan=\"6\">$loc</th>";
  9.     echo "</tr>";
  10.     echo "<tr class=\"pequeno\">";
  11.     for ($i=0;$i<=5;$i++) {
  12.         echo "<td>$x[$i]</td>";
  13.     }
  14.     echo "</tr>";
  15.     for ($j=0;$j<=$nEnlaces - 1;$j++) {
  16.         echo "<tr>";
  17.         for($h=0;$h<=5;$h++) { // nombre es loc_nEnlace_tipo
  18.             echo "<td><select name=\"$loc$j$x[$h]\" >";
  19.             echo "<option value=\"0\" selected>(select:)</option>";
  20.             echo "</select></td>";
  21.         }
  22.         echo "</tr>";
  23.     }
  24.     echo "</table>";
  25. }

y la salida en el navegador es algo asi...

"; echo ""; echo "$loc"; echo ""; echo ""; for ($i=0;$i<=5;$i++) { echo "$x[$i]"; } echo ""; for ($j=0;$j<=$nEnlaces - 1;$j++) { echo ""; for($h=0;$h<=5;$h++) { // nombre es loc_nEnlace_tipo echo ""; } echo ""; } echo ""; } ?>

gracias!