Foros del Web » Programando para Internet » PHP »

Formulario: capturar campos

Estas en el tema de Formulario: capturar campos en el foro de PHP en Foros del Web. Hola, Tengo un archivo llamado contacto.php con un formulario, que se envia a través del enviar.php. A) El campo oculto subject es el que le ...
  #1 (permalink)  
Antiguo 11/02/2004, 02:53
 
Fecha de Ingreso: enero-2003
Mensajes: 7
Antigüedad: 21 años, 2 meses
Puntos: 0
Formulario: capturar campos

Hola,

Tengo un archivo llamado contacto.php con un formulario, que se envia a través del enviar.php.

A) El campo oculto subject es el que le indica a enviar.php el asunto, pero por estúpido que parezca (yo) no logro hacer que importe los datos del campo "asunto"... Lo único que he logrado ha sido poner <?=$_GET['Asunto']?> pero me captura el Asunto desde la URL y claro si el visitante pone otro asunto a mano independientemente, me seguira imporando el de la url. ¿qué debo poner ahí?

B) Luego por otro lado una vez se ha enviado el formulario, redirige a una página llamada gracias.htm, pero se abre en ventana nueva

<input type="hidden" name="redirect"value="gracias.htm">

Otra estupidez tal vez, pero cómo lo pongo o donde le pongo el self para que se abra en la misma ventana? se puede poner self a un boton?

Muchas gracias por vuestra ayuda :)
  #2 (permalink)  
Antiguo 11/02/2004, 03:28
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

A) Si el formulario es POST, los campos se obtienen por el array $_POST, asi que seria:
Código PHP:
echo $_POST['Asunto']; 
B) Eso es HTML, es especificar el target en el <form>, como con los links <a>. Si no se pone, por defecto te la abre en la misma ventana.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 11/02/2004, 04:25
 
Fecha de Ingreso: enero-2003
Mensajes: 7
Antigüedad: 21 años, 2 meses
Puntos: 0
Muchas gracias por contestar tan rápido y bien :)

la B) está perfecto!

la A) no me sale... tú dices esto:



echo $_POST['Asunto'];

entiendo que se pone así?

<input name="subject" type="hidden" id="subject"value="<?= echo $_POST['Asunto']; ?>">

El caso es que me llega un correo con el asunto echo $_POST[\'Asunto\']; así tal cual...

qué hago mal?

Gracias otra vez!
  #4 (permalink)  
Antiguo 11/02/2004, 04:37
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 22 años, 3 meses
Puntos: 1
Porque seguramente no esta procesando el codigo php...
prueba con:

echo "<input name=\"subject\" type=\"hidden\" id=\"subject\" value=\"".$_POST['Asunto']."\"";
  #5 (permalink)  
Antiguo 11/02/2004, 04:48
 
Fecha de Ingreso: enero-2003
Mensajes: 7
Antigüedad: 21 años, 2 meses
Puntos: 0
Mirad os pego el código de la tabla del formulario en cuestión... Lo que quiero es que el campo oculto subject me importe del campo de entrada asunto... Creo que me he desviado del php pero ya que estamos :P... Aún no está puestos los estilos y puede ser algo lioso...

De verdad, muchas gracias :)


Código:
<td width="294"> <form action="enviar.php" target="_self" method="POST">
          <input type="hidden" name="recipient" value="[email protected]">
          <input type="hidden" name="redirect"value="gracias.htm">
          <input name="subject" type="hidden" id="subject">
          <table width="100%" border="0" cellspacing="2" cellpadding="0" height="190">
            <!--DWLayoutTable-->
            <tr> 
              <td width="42" height="18" valign="middle"> 
                <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#999999"><strong>nombre</strong></font></div></td>
              <td width="245" height="25" valign="middle"> 
                <input name="Nombre" type="text" class="txt" id="Nombre: 24" size="28" maxlength="100"> 
              </td>
            </tr>
            <tr> 
              <td height="18" valign="middle"> 
                <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#999999"><strong>e-mail</strong></font></div></td>
              <td height="25" valign="middle"> 
                <input name="e-mail" type="text" class="txt" id="e-mail:24" size="28" maxlength="100"> 
              </td>
            </tr>
            <tr> 
              <td height="18" valign="middle"> 
                <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#999999"><strong>asunto</strong></font></div></td>
              <td height="25" valign="middle"> 
                <input name="Asunto" type="text" class="txt" id="Asunto" value="<?=$_GET['Asunto']?>" size="28" maxlength="100"></td>
            </tr>
            <tr>
              <td height="78" valign="middle"> 
                <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#999999"><strong>mensaje</strong></font></div></td>
              <td valign="top"> <textarea name="Mensaje" cols="40" rows="5" class="txt" id="textarea4"></textarea> 
              </td>
            </tr>
            <tr> 
              <td height="43"></td>
              <td valign="top"> <input type="submit" class="txt" value="Enviar"> </td>
            </tr>
          </table>
        </form>
        <p><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><br>
          </font></p>
      </td>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:00.