cómo pasar valor de variable php a formulario html
Hola, he estado buscando por los foros y no encuentro nada que me sirva, también he buscado en otros foros y en google y los resultados que he encontrado no me han funcionado.
Bien, el asunto es el siguiente: Un documento html, en él hay una function en php que devuelve un valor. En ese documento html hay un form que tiene varios campos, uno de ellos se requiere que presente el valor devuelto por la function php. ¿Cómo hacerlo?. La estructura actual es esta: Código:
<html> Si creo un documento.php con la function y el echo $variable funciona bien, muestra el valor devuelto. |
Lo primero que hay que entender, es que esto que pides es imposible :p.
El código HTML y el código PHP viven en mundos distintos. Tú dices: Cita:
El archivo fuente original -mezcla de HTML y PHP- es interpretado en el servidor WEB por el módulo PHP, el cual ejecuta el código PHP para generar la salida HTML que se devuelve al cliente. Una vez entendido el punto anterior, veamos que es posible hacer algo como lo que pides :p. Tendrías que hacer uso de Ajax para, mediante una función JavaScript, llamar al script php que contenga la función. Posiblemente debas pasar algún parámetro a ese script para que sepa cuál función invocar. El resultado de ese script, esto es, el texto que se devuelve al cliente, lo recibes con Ajax y usas JavaScript para colocarlo en el campo deseado del formulario. // Saludos |
Dicho sea con respeto, creo que roman nada más te está confundiendo. Tal como lo tienes debería funcionar bien. ¿Que es lo que muestra la caja de texto?
Bye |
Mmm. Sí, creo que tienes razón, yo estaba interpretando la pregunta erróneamente. Gracias por el apunte, aunque debo decir que no lo hice con ánimos de confundir :)
// Saludos |
A ver si os ponéis de acuerdo que :D:D:D
En la caja de texto sale lo que hay entre comillas: <?php etc... |
La functión php la he puesto en el body, al principio la puse en el head, es que tampoco sé muy bien dónde debe ir :D, soy novato en esto, perdonen ustedes, señores maestros :D
|
¡Ah! ¿El documento es html? Es decir, ¿tiene extensión html? Porque, de ser así, es posible que tu servidor no esté configurado para que PHP interprete documentos con esa extensión.
Bye |
Cita:
// Saludos |
Sí, ya digo, en un fichero.php donde está la function y la llamada para probar, funciona bien, se muestra en pantalla el número devuelto.
Pero si pongo la function dentro del código html ya no funciona, puede que realmente no se pueda. Por cierto, lo que se ve en la "caja de texto" es esto: <?php echo $IP ?> |
Bueno, he reducido el código dejándolo en algo mínimo para que no sea pesado de entender y veamos si así existe alguien en este foro que sea un auténtico maestro de maestros y pueda echar una mano :D:D:D
Código:
<html> <head></head> |
Perdona mi lentitud... pero no he entendido algunos detalles.
- El archivo en el que quieres mostrar el resultado de la función es .html o .php? Porque si es .html entonces como dice keyboy, deberias tener configurado apache para que te procese los .html como si fueran un .php mas. Si no lo tienes configurado así entonces sucederá lo que dices: Cita:
Si el archivo es un .php entonces no tiene nigun problema en funcionar. el código que pasas no tiene ningun problema (¿Que es $IP?... no lo asignas a nada en el código). Cita:
Código:
<html> <head></head> PS: Cita:
|
Cita:
|
Lo de $IP es una basura que ha quedado de las pruebas.
El caso es que sí está funcionando el php, porque como he dicho antes, si creo un documento .php sólo con la función para probar, funciona ok. Pero, bueno, tampoco es muy importante, sólo estaba probando cosas, gracias a todos por las molestias ocasionadas :) p.d.: huy, huy... ¿dónde están los maestros y dioses del olimpo? :D:D:D |
Sale esto:
Y sí está funcionando el php, porque hay otras páginas php que están alojadas ahí y funcionan :) |
Entonces, ¿cuál es el código HTML de esa respuesta? Me apuesto un café a que sale "<" por algún lado.
|
Pues lo que he puesto antes, lo que ha escrito movorack en su post
|
Cita:
Y ya que estamos, ¿cuál es la URI completa? |
No entiendo la pregunta, Ñuño, a qué código fuente te refieres?, perdona mi ignorancia en estas cosas, pero soy novato en este asunto :p
|
Pues al código que recibe el navegador. Cuando recibes la página, seleccionas en el menú (en Firefox): "Ver->Código fuente de la página". A ese me refiero, no al que tienes en el servidor.
|
Cuando carga el navegador "prueba.htm", (como lo tengo ahora mismo), ver código fuente:
Código:
<html> <head></head> Código:
<html> <head></head> Código PHP:
|
Prueba a renombrar prueba.html a prueba.php.
El servidor web no manda los archivos html a interpretar, los sirve tal cual. Por esto no te está funcionando. |
¿Y funcionará el resto de código html?
|
Cita:
Seguramente tu Apache no está configurado para mandarle los archivos de extensión htm al procesador de PHP. Necesitas añadir Código:
AddType application/x-httpd-php .htm Código:
<IfModule mime_module> Sin embargo, esto no es muy recomendable, porque cargas de trabajo innecesariamente al intérprete de PHP. // Saludos |
Haz una prueba: cambia el nombre del archivo "prueba.htm" por "prueba.php", prueba a ver si funciona y después date un par de coscorrones de mi parte.:rolleyes:
Se me adelantaron todos. :( |
Para los coscorrones nunca es tarde :D
Y de paso, ¡qué se lea la guía de estilo! :p :D // Saludos |
Cita:
|
¡¡¡ FUNCIONA !!! :D
He sumado los coscorrones de todos y ahora me autocastigo de cara a la pared: Os debo, como mínimo, un café :D Muchas gracias a todos :) pd.: ya estaba dudando yo de los "masters of universe" :D |
Todo perfecto, yo no sabía que un fichero .php podía ser interpretado igual que si su extensión es .html
|
A ver, yo tenia el mismo problema que vosotros en un ejercicio, he releido este post, de arriba a abajo, y tras horas el profe me dió una solución mucho mas simple:
*: <?php $numero= $_POST["numero"]; $numero++; echo ' <form action="ej38.php" method="POST"> Numero : <input type="text" name="numero" value="'.$numero.'"> <INPUT TYPE="submit" VALUE="+1"> </form>'; ?> |
Sí, bueno. Es que hace dos años éramos un poco más tontos. :rolleyes:
Por cierto, ¿qué tiene que ver lo que te dice el maestro con lo que trata el hilo? // Saludos |
La franja horaria es GMT +2. Ahora son las 16:55:54. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi