Foros del Web » Programando para Internet » PHP »

todo en la mism página, un if enviar form dentro de otro

Estas en el tema de todo en la mism página, un if enviar form dentro de otro en el foro de PHP en Foros del Web. Hola, Ya no puedo más, por separado funciona de maravilla. Tengo esta página, que 1º comprueba que el formulario no esta vacio, si esta vacio ...
  #1 (permalink)  
Antiguo 25/11/2012, 12:54
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años
Puntos: 6
todo en la mism página, un if enviar form dentro de otro

Hola,
Ya no puedo más, por separado funciona de maravilla.
Tengo esta página, que 1º comprueba que el formulario no esta vacio, si esta vacio sale un mensaje de error, y si no esta vacio debe de salir otro contenido según botón elegido.
Estoy ahora con el botón enquirer, dentro de ese if quiero meter un formulario que me envia un email de contacto.
El formulario de contacto en una pagina aparte va bien, pero no dentro del if...

Voy a poner el código resumido.
Esta es la página con el formulario de control pero sin el formulario de contacto:
Código PHP:
<?php 
 
if ($_POST['enviar2']) {     
if (empty(
$bookingway)) {
echo 
"<span class='style2'>Please choose instant booking or send enquirer and click on send again</span>";
}
//if empty
else{
if (
$bookingway=="instant"){
    echo 
"instant";
}
//if instant
if ($bookingway=="enquirer"){
echo 
"enquirer";
}
//if enquirer
}//else
}//if enviar2
else {?> Texto con el formulario enviar 2 aqui}
Esto funciona a perfecciòn.
Ahora dentro de este if: if ($bookingway=="enquirer"){
echo "enquirer";
}//if enquirer,
quiero meter esto (abreviado aqui):
Código PHP:
<?php
    
if ($_POST['enviar']) {
if (!empty(
$_POST['name']) && !empty($_POST['tel'])  && !empty($_POST['country']) && !empty($_POST['email']) && !empty($_POST['repeat_email'])
&& !empty(
$_POST['repeat_email']) && $_POST['email'] == $_POST['repeat_email']) {
$comments str_replace("\\r\\n"" "$comments);
require(
"includes/class.phpmailer.php");
información mail etc......
echo 
"form has been sent";
if(!
$mail->Send())
{echo 
"Message could not be sent, enter a valid e-mail. <p>";
   echo 
"Mailer Error: " $mail->ErrorInfo;
   exit;}
}
//if not empty
else { echo "<p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p class='red'>Something went wrong<br>You must fill in full name, telephone, country, valid email and repeat email to submit this form and email and repeat email must be equal.</p>";}
}
//if enviar?>
<table width="550px" align="center" border="0" cellpadding="0" cellspacing="0">
Formulario sigue
y termina:
<p align="center"><input type="submit" name="enviar" value="Submit" id="submit" class="submit">
Cuando meto eso dentro del if, al enviar no manda el email y tampoco me da el text de ok, me lleva al como es la pagina cuando se entra por 1ª vez, el ultimo else del primer php: else {?> Texto con el formulario enviar 2 aqui}

No se puede meter un submit dentro de otro? No entiendo nada
  #2 (permalink)  
Antiguo 26/11/2012, 04:43
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años
Puntos: 6
Respuesta: todo en la mism página, un if enviar form dentro de otro

Parece que no se puede tener un if ($_POST dentro de otro.
En vez del formulario origninal he metido uno simple dentro del if y me da el mismo resultado, en vez del echo OK me lleva a

Código PHP:
Ver original
  1. <?php
  2. if ($_POST['enviar2']) {
  3. if (empty($bookingway)) {
  4. echo "<span class='style2'>Please choose instant booking or send enquirer and click on send again</span>";
  5. }//if empty
  6. else{
  7. if ($bookingway=="instant"){
  8. echo "instant";
  9. }//if instant
  10. if ($bookingway=="enquirer"){
  11. echo "enquirer";
  12. if ($_POST['enviar'])
  13. { echo "OK"; }
  14. ?><form action="<?php echo $_SERVER['SCRIPT_NAME'];?>" method="post" name="bookingways" id="bookingways">
  15. <p align="center"><input class="boton" type="submit" name="enviar" value="enviar"> </p>
  16. </form>
  17. <?php }//if enquirer
  18. }//else
  19. }//if enviar2
  20. else {?>
  21. contenido de inicio con formulario: name enviar2
  22. }

Etiquetas: formulario, página, todo
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 09:45.