Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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>
 <head>
 </head>
 <body>
 aquí está la function php que devuelve un número con return $num;
 <form html con varios campos, uno de los campos es así:

  aquí se hace la llamada a la function 
  <?php
  $NUM = getNum();  
  ?>    

  <input type="text" name="numero" value="<?php echo $NUM ?>">   //  <-- esto es lo que quiero hacer

  otros campos del form
  etc...
  </body>
</html>
Espero que se entienda.

Si creo un documento.php con la function y el echo $variable funciona bien, muestra el valor devuelto.
Responder Con Cita
  #2  
Antiguo 13-04-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Lo primero que hay que entender, es que esto que pides es imposible .

El código HTML y el código PHP viven en mundos distintos. Tú dices:

Cita:
Código:
<body>
aquí está la function php que devuelve un número con return $num;
<form html con varios campos, uno de los campos es así:
pero no es cierto. Carga la página y examina el código fuente. Verás que no hay nada de código PHP.

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 .

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
Responder Con Cita
  #3  
Antiguo 13-04-2010
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 13-04-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #5  
Antiguo 13-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
A ver si os ponéis de acuerdo que

En la caja de texto sale lo que hay entre comillas: <?php etc...
Responder Con Cita
  #6  
Antiguo 13-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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 , soy novato en esto, perdonen ustedes, señores maestros
Responder Con Cita
  #7  
Antiguo 13-04-2010
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
¡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
Responder Con Cita
  #8  
Antiguo 13-04-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Casimiro Notevi Ver Mensaje
señores maestros
Nah' El maestro es el keboy. Creo que tiene razón en lo que apunta. Si ves <?php etc. en el la caja de texto es que no se interpretó.

// Saludos
Responder Con Cita
  #9  
Antiguo 13-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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 ?>
Responder Con Cita
  #10  
Antiguo 13-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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

Código:
<html> <head></head> 
<body>

<?php
function getNUM()
{
  $num = "12345";
  return $num;
}
?>

<ul>
  <form name="frm" method="post" action="sendcuestionario.php">
    <table>       
      <tbody>        
        <tr>
          <td><p>Nombre</p></td>
          <td><input type="text" name="nombre" size="40"></td>
        </tr>
        <tr>
          <td><p>Empresa</p></td>
          <td><input type="text" name="empresa" size="40"></td>
        </tr>
        <tr>
          <td>
                
            <?php
              $NUM = getNUM();
              echo $NUM;
            ?>

            <input type="text" name="elnumero" value="<?php echo $NUM ?>">    
            
          </td>
        </tr>
        <tr>
          <td><input type="submit" name="btenviar" value="Enviar los datos"></td>
        </tr>
      </tbody>  
    </table>
  </form>
</ul>
</body>
</html>

Última edición por Casimiro Notevi fecha: 13-04-2010 a las 13:19:44.
Responder Con Cita
  #11  
Antiguo 13-04-2010
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
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:
Por cierto, lo que se ve en la "caja de texto" es esto: <?php echo $IP ?>
El servidor no entenderá que se trata de un bloque PHP y lo mostrará como simple texto.

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:
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
en realidad puede ir en cualquier lugar... aunque no es lo mas recomendable... aquí la he cambiado de lugar y funcioinaria igual.

Código:
<html> <head></head> 
<body>
<ul>
  <form name="frm" method="post" action="sendcuestionario.php">
    <table>       
      <tbody>        
        <tr>
          <td><p>Nombre</p></td>
          <td><input type="text" name="nombre" size="40"></td>
        </tr>
        <tr>
          <td><p>Empresa</p></td>
          <td><input type="text" name="empresa" size="40"></td>
        </tr>
        <tr>
          <td>
                
            <?php
              function getNUM(){
                $num = "12345";
                return $num;
               };
              $NUM = getNUM();
              echo $IP; //¿Que es $IP?
            ?>

            <input type="text" name="elnumero" value="<?php echo $NUM ?>">    
            
          </td>
        </tr>
        <tr>
          <td><input type="submit" name="btenviar" value="Enviar los datos"></td>
        </tr>
      </tbody>  
    </table>
  </form>
</ul>
</body>
</html>
Cualquier cosa... avise!

PS:
Cita:
veamos si así existe alguien en este foro que sea un auténtico maestro de maestros y pueda echar una mano
por alguna razón pensé que la segunda morada de algunos miembros del foro era el olimpo
__________________
Buena caza y buen remar... http://mivaler.blogspot.com

Última edición por movorack fecha: 13-04-2010 a las 04:57:06.
Responder Con Cita
  #12  
Antiguo 13-04-2010
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
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Por cierto, lo que se ve en la "caja de texto" es esto: <?php echo $IP ?>
No sé por qué pero me parece que os estáis liando. Estoy casi seguro de que Maese Noteví olvidó activar/instalar PHP.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine

Última edición por Ñuño Martínez fecha: 13-04-2010 a las 10:33:05.
Responder Con Cita
  #13  
Antiguo 13-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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?
Responder Con Cita
  #14  
Antiguo 13-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sale esto:



Y sí está funcionando el php, porque hay otras páginas php que están alojadas ahí y funcionan
Responder Con Cita
  #15  
Antiguo 13-04-2010
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
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Entonces, ¿cuál es el código HTML de esa respuesta? Me apuesto un café a que sale "&lt;" por algún lado.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #16  
Antiguo 13-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues lo que he puesto antes, lo que ha escrito movorack en su post
Responder Con Cita
  #17  
Antiguo 13-04-2010
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
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pues lo que he puesto antes, lo que ha escrito movorack en su post
¿Quieres decir que cuando seleccionas "Ver código fuente" en tu navegador recibes exactamente lo que ha puesto Movorak? Porque eso no me cuadra, ya que la única razón que se me ocurre es que PHP no esté funcionando.

Y ya que estamos, ¿cuál es la URI completa?
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #18  
Antiguo 13-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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
Responder Con Cita
  #19  
Antiguo 13-04-2010
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
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
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.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #20  
Antiguo 13-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cuando carga el navegador "prueba.htm", (como lo tengo ahora mismo), ver código fuente:

Código:
<html> <head></head> 
<body>

<ul>
  <form name="frm" method="post" action="send.php">
    <table>       
      <tbody>        
        <tr>
          <td><p>Nombre</p></td>
          <td><input type="text" name="nombre" size="40"></td>
        </tr>
        <tr>
          <td><p>Empresa</p></td>
          <td><input type="text" name="empresa" size="40"></td>
        </tr>
        <tr>
          <td>
               
            <?php
              function getNUM()
              {
                $num = "12345";
                return $num;
              }
              $NUM = getNUM();
              echo $NUM;
            ?>
             <!--     <input type="text" name="elnumero" value="<?php echo $NUM ?>">       -->
        
            <input type="hidden" value="<?php echo $NUM; ?>" name="numerito">
            
          </td>
        </tr>
        <tr>
          <td><input type="submit" name="btenviar" value="Enviar los datos"></td>
        </tr>
      </tbody>  
    </table>
  </form>
</ul>
</body>
</html>
Y estos son los dos ficheritos que tengo, el html y el php:
Código:
<html> <head></head> 
<body>

<ul>
  <form name="frm" method="post" action="send.php">
    <table>       
      <tbody>        
        <tr>
          <td><p>Nombre</p></td>
          <td><input type="text" name="nombre" size="40"></td>
        </tr>
        <tr>
          <td><p>Empresa</p></td>
          <td><input type="text" name="empresa" size="40"></td>
        </tr>
        <tr>
          <td>
               
            <?php
              function getNUM()
              {
                $num = "12345";
                return $num;
              }
              $NUM = getNUM();
              echo $NUM;
            ?>
             <!--     <input type="text" name="elnumero" value="<?php echo $NUM ?>">       -->
        
            <input type="hidden" value="<?php echo $NUM; ?>" name="numerito">
            
          </td>
        </tr>
        <tr>
          <td><input type="submit" name="btenviar" value="Enviar los datos"></td>
        </tr>
      </tbody>  
    </table>
  </form>
</ul>
</body>
</html>
Código PHP:
<?php

$numerito
=$HTTP_GET_VARS["NUM"] ;

if (isset(
$email)):
  
$target="info @ intitec . com";
  
$subject="Solicitud";
  
mail($target,$subject,"Nombre: ".$nombre."\nNumerito: ".$numerito."\nEmpresa: ".$empresa);
endif;
?>

<p>Solicitud enviada...<br></p>
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como pasar el valor de un campo a una variable en Mysql y php? maravert MySQL 3 26-11-2009 00:41:49
Pasar variable o valor entre forms nachito_tuc OOP 3 05-09-2006 15:06:41
como usar el valor de una variable jesusomarsanche OOP 4 17-08-2006 20:17:55
Pasar el valor de una variable a un Reporte de RAVE ctronx Impresión 2 10-01-2005 21:27:49
como asignar un valor a una variable juan Varios 6 18-06-2003 02:26:19


La franja horaria es GMT +2. Ahora son las 12:42:16.


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
Copyright 1996-2007 Club Delphi