Foros del Web » Programando para Internet » PHP »

Problema formulario php

Estas en el tema de Problema formulario php en el foro de PHP en Foros del Web. Buenas, tengo un formulario simplemodal, y estoy teniendo el problema de al usar varios formularios diferentes, 2 de ellos me funcionan bien, pero el 3º ...
  #1 (permalink)  
Antiguo 29/07/2013, 08:22
 
Fecha de Ingreso: febrero-2012
Mensajes: 7
Antigüedad: 12 años, 2 meses
Puntos: 0
Problema formulario php

Buenas, tengo un formulario simplemodal, y estoy teniendo el problema de al usar varios formularios diferentes, 2 de ellos me funcionan bien, pero el 3º toma algunos datos del segundo :S, por más que miro no se donde puede estar el fallo.

Código PHP:
$to "[email protected]";
$subject "Contrato mini";

$extra = array(
    
"form_subject"    => true,
    
"form_cc"        => false,
    
"ip"            => true,
    
"user_agent"    => true
);

// Process
$action = isset($_POST["action"]) ? $_POST["action"] : "";
if (empty(
$action)) {
    
// Send back the contact form HTML
    
$output "<div style='display:none'>
    <div class='contact-top'></div>
    <div class='contact-content'>
        <h1 class='contact-title'>Solicitar mini:</h1>
        <div class='contact-loading' style='display:none'></div>
        <div class='contact-message' style='display:none'></div>
        <form action='#' style='display:none'>
            <label for='contact-name'>*Nombre:</label>
            <input type='text' id='contact-name' class='contact-input' name='name' tabindex='1001' />
            <label for='contact-email'>*E-mail:</label>
            <input type='text' id='contact-email' class='contact-input' name='email' tabindex='1002' />"
;

    if (
$extra["form_subject"]) {
        
$output .= "
            <label for='contact-subject'>Plan:</label>
            <h3>mini</h3>"
;
    }

    
$output .= "
            <label for='contact-message'>*Información adicional:</label>
            <textarea id='contact-message' class='contact-input' name='message' cols='40' rows='4' tabindex='1004'></textarea>
            <br/>"
;

    if (
$extra["form_cc"]) {
        
$output .= "
            <label>&nbsp;</label>
            <input type='checkbox' id='contact-cc' name='cc' value='1' tabindex='1005' /> <span class='contact-cc'>Send me a copy</span>
            <br/>"
;
    }

    
$output .= "
            <label>&nbsp;</label>
            <button type='submit' class='contact-send contact-button' tabindex='1006'>Enviar</button>
            <button type='submit' class='contact-cancel contact-button simplemodal-close' tabindex='1007'>Cancelar</button>
            <br/>
            <input type='hidden' name='token' value='" 
smcf_token($to) . "'/>
        </form>
    </div>
</div>"
;

    echo 
$output;

Esta parte se muestra correctamente, pero luego sigue otra que por algún motivo toma los datos del otro formulario:

Código PHP:
else if ($action == "send") {
    
// Send the email
    
$name = isset($_POST["name"]) ? $_POST["name"] : "";
    
$email = isset($_POST["email"]) ? $_POST["email"] : "";
    
$subject = isset($_POST["subject"]) ? $_POST["subject"] : $subject;
    
$message = isset($_POST["message"]) ? $_POST["message"] : "";
    
$cc = isset($_POST["cc"]) ? $_POST["cc"] : "";
    
$token = isset($_POST["token"]) ? $_POST["token"] : "";

    
// make sure the token matches
    
if ($token === smcf_token($to)) {
        
smcf_send($name$email$subject$message$cc);
        echo 
"Tu mensaje ha sido enviado con éxito, pronto nos pondremos en contacto contigo, pulsa ESC para salir.";
    }
    else {
        echo 
"Ha habido un error, inténtalo de nuevo más tarde.";
    }


En la parte de Jquery y ajax es bien simple, llaman a este archivo para procesar los datos.

Estoy usando un archivo php diferente para generar contenido independiente en cada formulario, ya que cambian algunas cosas.

A ver si alguien pudiera echarme una mano ;) muchas gracias

Etiquetas: formulario, html
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 07:56.