Foros del Web » Programando para Internet » PHP »

Ayuda con Formulario de contacto PHP y switch.

Estas en el tema de Ayuda con Formulario de contacto PHP y switch. en el foro de PHP en Foros del Web. Hola a todos, estoy teniendo un problema con un formulario de contacto, por el cual anteriormente pedi ayuda. yo tengo una pagina, la cual pasa ...
  #1 (permalink)  
Antiguo 12/09/2008, 15:36
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Ayuda con Formulario de contacto PHP y switch.

Hola a todos, estoy teniendo un problema con un formulario de contacto, por el cual anteriormente pedi ayuda.

yo tengo una pagina, la cual pasa de seccion usando:
Código PHP:
<?
switch($_GET['sec']){
default: include (
"inicio.php"); break;
case 
"inicio": include ("inicio.php"); break;
case 
"propiedades": include ("propiedades.php"); break;
case 
"servicios": include ("servicios.php"); break; 
case 
"contacto": include ("contacto.php"); break;
?>
El problema que tengo es con la accion del formulario, es decir, hasta ahora el formulario empezaba:

Código:
<form method="post" onsubmit="return validar(this)" id="form1" action="sent.php">
yo ahora quisiera que el formulario haga algo como:


Código:
<form method="post" onsubmit="return validar(this)" id="form1" action="?sec=enviocontacto">


y logicamente modificar el switch


Código PHP:
<?
switch($_GET['sec']){
default: include (
"inicio.php"); break;
case 
"inicio": include ("inicio.php"); break;
case 
"propiedades": include ("propiedades.php"); break;
case 
"servicios": include ("servicios.php"); break; 
case 
"contacto": include ("contacto.php"); break;
case 
"enviocontacto": include ("enviocontacto.php"); break;
?>

pero no envia el mail....

como debo corregirlo? o que debo cambiar??????

Muchas Gracias de antemano.
  #2 (permalink)  
Antiguo 12/09/2008, 15:57
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Ayuda con Formulario de contacto PHP y switch.

que significa esto:
Cita:
action="?sec=enviocontacto">
??
No entiendo este action men!
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 12/09/2008, 17:45
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Ayuda con Formulario de contacto PHP y switch.

Cita:
Iniciado por the_web_saint Ver Mensaje
que significa esto:

??
No entiendo este action men!
me explico mejor, yo quiero que en realidad sea action=enviocontacto.php, pero queria combinarlo con el switch, osea no que abra enviacorreo.php, sino que cambie de seecion con el include y pase las variables al nuevo al la nueva seccion donde manda el mail.... no se si me explico...
  #4 (permalink)  
Antiguo 12/09/2008, 18:03
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: Ayuda con Formulario de contacto PHP y switch.

hola binagol, de tiempo amigo, una pregunta...

al abrir el formulario de contacto, recibes una variable de tipo GET, y segun el tipo de valor que contenga, deseas que el action del form1 se modique ??

ó

tienes un formulario de contacto, que al modificar alguna opción deseas que modifque el action del form1 ??

espero respondas, para poder ayudarte, saludos !
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #5 (permalink)  
Antiguo 12/09/2008, 18:15
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Ayuda con Formulario de contacto PHP y switch.

Cita:
Iniciado por hector2c Ver Mensaje
hola binagol, de tiempo amigo, una pregunta...

al abrir el formulario de contacto, recibes una variable de tipo GET, y segun el tipo de valor que contenga, deseas que el action del form1 se modique ??

ó

tienes un formulario de contacto, que al modificar alguna opción deseas que modifque el action del form1 ??

espero respondas, para poder ayudarte, saludos !
el tema es el siguiente, en principio yo tengo mi pagina, la cual va cambiando su contenido de acuerdo a el valor de $sec. osea, yo tengo el encabezado, parte del contenido , el pie de pagina, etc en index.php y cn el switch cambio la parte central de la pagina.

una de esas secciones centrales es, en este caso, el formulario de contacto.
lo que yo deseo es, del mismo modo que normalmente hacia action="enviar.php" que primero haga el include("enviar.php") y luego haga el envio del mail que hace en enviar.php....

no se si mi explicacion es clara.... espero que si.


por otra parte, tambien estaria interesado en eso que mensionas de

Cita:
al abrir el formulario de contacto, recibes una variable de tipo GET, y segun el tipo de valor que contenga, deseas que el action del form1 se modique ??
ya que la pagina tiene 3 formularios diferente, con diferente opciones, y seria interesante poder integrarlos en 1 solo dependiendo de una variable.(no se si entendi bien.)


Muchas Gracias.
  #6 (permalink)  
Antiguo 12/09/2008, 19:59
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: Ayuda con Formulario de contacto PHP y switch.

mmm, disculpa, es algo de enriedo, podrias, explicar un poco mejor, jejeje, ando algo soso T_T....

eso de cabezeras y pies con includes y cambio de contenido con _GET, lo he usado antes, hasta que use plantillas con dreamweaver (me quito mucho peso de encima)....

eso de agregar una seccion mas de enviocontacto, tambien lo entendi, me imagino que ya lo implementaste, por que no es nada dificil...

eso del form.action, podrias explicarlo mejor, enviar a donde, recibir que??, eso eso ??
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #7 (permalink)  
Antiguo 12/09/2008, 20:21
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Ayuda con Formulario de contacto PHP y switch.

vamos de vuelta....

yo tengo index.php con el switch y el include.... hasta hay todo bien...

despues tengo el formulario, el cual es un include. el tema es que yo quiero que ese formulario pase todas las variables a enviacorreo.php, donde se encuentra la funcion mail() y el mensaje de respuesta indicando que se realizo la consulta.

yo normalmente pongo action="enviacorreo.php" el tema es, al hacer eso, ya dejo de estar en index.php y paso a entrar a enviacorreo.php con el post de las variables... hasta aca creo que se entiende...

lo que yo quiero hacer es que en lugar de cambiar de sitio (hasta ahora sitio.com/index.php, el cual pasaria a ser sitio.com/enviocorreo.php) yo quiero que enviocorreo.php (por medio de un include) pase a estar insertado en index.php, de modo que tengo la cabecera, pie de pagina, etc que tenia originalmente en el index.

es decir, que al enviar el formulario, haga un enrroque con el switch y el include, entre formulario.php y enviacorreo.php, y por consiguiente corra todo el codigo de enviacorreo.php (envie el mail, avise, etc)... esto no se como hacerlo....

no se si se llega a entender la idea.... si hace falta, trato de ser mas claro.....

reconozco, Hice un quilombo barbaro, para explicar una boludez... hoy ya estoy re-quemado....


PD, voy a averiguar lo de las plantillas con dreamweaver..... aver como es eso..... por lo que decis, parece util....

Última edición por binagol; 12/09/2008 a las 20:27
  #8 (permalink)  
Antiguo 12/09/2008, 20:44
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: Ayuda con Formulario de contacto PHP y switch.

pero en el enviacorreo.php puedes enviar la variable de la seccion actual, enviacorreo.php?sec=contacto

luego en envia correo, leugo de enviar el correo, haces una redireccion:

header("Location: index.php?sec=contacto");

o esa no es la diea ???
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #9 (permalink)  
Antiguo 12/09/2008, 21:05
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Ayuda con Formulario de contacto PHP y switch.

esa seria la idea, yo estaba haciendo algo diferente, en enviacorreo.php, ponia el mensaje en la pagina de que el mail se habia entregado...

Por ahi es mas facil de hacer e implementar, tener el formulario, la validacion, el envio del correo y el mensaje de respuesta en un solo archivo php....

no se si te parece....
De ser asi, como haria con la parte de action???
y para que desaparezca el formulario y aparezca el mensaje de respuesta???
(osea, como haria para cambiar de seccion dentro del mismo archivo, mostrando o ocultando parte del archivo????

no se si te parece... osea,no se como se suele hacer en paginas profesionales.... estoy abierto a nuevas ideas y opiniones....

Gracias por la ayuda....
  #10 (permalink)  
Antiguo 12/09/2008, 21:45
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: Ayuda con Formulario de contacto PHP y switch.

hola, disculpa por la demora, mira este código, en la misma página muestra un formualrio, lo envia y cuando lo envia, el fomrulario ya no se muestra y aparece un mensaje indicando que fue enviado


Código PHP:
<?
  
if (isset($_POST['enviar'])){
      
//aqui va todo el código 
        //para enviar el email al contacto
        
$nombre $_POST['nombre'];
        
$comentario $_POST['comentario'];
    }
?>
<html>
  <body>
    <? if (empty($_POST['enviar'])){ ?>
    <form action="<?=$PHP_SELF?>" method="post" name="formulario" id="formulario">
      <table>
        <tbody>
          <tr>
            <td>Nombre</td>
            <td><input name="nombre" type="text" id="nombre" /></td>
          </tr>
          <tr>
            <td>Comentario</td>
            <td><input name="comentario" type="text" id="comentario" /></td>
          </tr>
        </tbody>
        <tfoot>
          <tr>
            <td colspan="2"><input name="enviar" type="submit" id="enviar" value="Enviar"></td>
          </tr>
        </tfoot>
      </table>
    </form>
    <? }else{ ?>
    El mensaje se ha enviado exitosamente!!<br>
    Su nombre: <?=$nombre?><br>
    Su comentario: <?=$comentario?>
    <? ?>
  </body>
</html>
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #11 (permalink)  
Antiguo 13/09/2008, 08:22
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Ayuda con Formulario de contacto PHP y switch.

Cita:
Iniciado por hector2c Ver Mensaje
hola, disculpa por la demora, mira este código, en la misma página muestra un formualrio, lo envia y cuando lo envia, el fomrulario ya no se muestra y aparece un mensaje indicando que fue enviado


Código PHP:
<?
  
if (isset($_POST['enviar'])){
      
//aqui va todo el código 
        //para enviar el email al contacto
        
$nombre $_POST['nombre'];
        
$comentario $_POST['comentario'];
    }
?>
<html>
  <body>
    <? if (empty($_POST['enviar'])){ ?>
    <form action="<?=$PHP_SELF?>" method="post" name="formulario" id="formulario">
      <table>
        <tbody>
          <tr>
            <td>Nombre</td>
            <td><input name="nombre" type="text" id="nombre" /></td>
          </tr>
          <tr>
            <td>Comentario</td>
            <td><input name="comentario" type="text" id="comentario" /></td>
          </tr>
        </tbody>
        <tfoot>
          <tr>
            <td colspan="2"><input name="enviar" type="submit" id="enviar" value="Enviar"></td>
          </tr>
        </tfoot>
      </table>
    </form>
    <? }else{ ?>
    El mensaje se ha enviado exitosamente!!<br>
    Su nombre: <?=$nombre?><br>
    Su comentario: <?=$comentario?>
    <? ?>
  </body>
</html>
barbaro, gracias, lo voy a probar e implementar... cualquier problema te aviso...

MUCHAS GRACIAS POR LA GRAN AYUDA...
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 19:46.