PHP - Pregunta en formulario

   
Vista:

Pregunta en formulario

Publicado por Gonzalo (6 intervenciones) el 08/02/2015 23:59:36
hola, les quiero hacer una pregunta, tengo hecho un formulario y quiero saber como hago para que cuando se toca el mensaje "Enviar", aparezca un mensaje que diga "Su mensaje ha sido enviado" , el codigo del formulario es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
$('#contact-form').validate({
rules: {
name: {
required: true,
minlength: 2
},
email: {
required: true,
email: true
},
message: {
required: true
}
},
messages: {
name: {
required: "No escribiste tu nombre",
minlength: "Tu nombre debe tener como minimo 2 caracteres."
},
email: {
required: "No Ingresaste el Email"
},
message: {
required: "No escribiste tu mensaje.",
minlength: "thats all? really?"
}
},
submitHandler: function(form) {
$(form).ajaxSubmit({
type:"POST",
data: $(form).serialize(),
url:"process.php",
success: function() {
$('#contact-form :input').attr('disabled', 'disabled');
$('#contact-form').fadeTo( "slow", 0, function() {
$(this).find(':input').attr('disabled', 'disabled');
$(this).find('label').css('cursor','default');
$('#success').fadeIn();
});
},
error: function() {
$('#contact-form').fadeTo( "slow", 0, function() {
$('#error').fadeIn();
});
}
 
 
});
}
});
});


Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Pregunta en formulario

Publicado por xve (5513 intervenciones) el 09/02/2015 07:35:09
Hola Gonzalo, cuesta un poco de seguir tu código, ya que no esta tabulado, pero creo que tendría que ir dentro de success: function() {

prueba a poner ahí algo como:
1
alert("Mensaje enviado");

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pregunta en formulario

Publicado por Gonzalo (6 intervenciones) el 09/02/2015 14:13:38
Hola, mira lo puse así y no funciono, no se si esta bien, si me podes ayudar con detalles, mejor, yo mucho de codigo php no entiendo, y esto es una plantilla que baje, no es escrito por mi. un saludo!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
submitHandler: function(form) {
    $(form).ajaxSubmit({
        type:"POST",
        data: $(form).serialize(),
        url:"process.php",
        success: function() {
        alert("Mensaje enviado");
            $('#contact-form :input').attr('disabled', 'disabled');
            $('#contact-form').fadeTo( "slow", 0, function() {
                $(this).find(':input').attr('disabled', 'disabled');
                $(this).find('label').css('cursor','default');
                $('#success').fadeIn();
 
            });
        },
        error: function() {
            $('#contact-form').fadeTo( "slow", 0, function() {
                $('#error').fadeIn();
            });
        }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Pregunta en formulario

Publicado por xve (5513 intervenciones) el 09/02/2015 18:27:13
Hola Gonzalo, entiendo que si no te muestra el alert() ahí donde lo has puesto, es que da error... puede ser?

Tal y como lo has puesto esta correcto!!

Prueba a poner un alert("Error"); dentro de: error: function() { para ver si realmente da error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pregunta en formulario

Publicado por Gonzalo gonza_b92@hotmail.com (6 intervenciones) el 09/02/2015 18:31:07
asi lo puse :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
submitHandler: function(form) {
    $(form).ajaxSubmit({
        type:"POST",
        data: $(form).serialize(),
        url:"process.php",
        success: function() {
        alert("Mensaje enviado");
            $('#contact-form :input').attr('disabled', 'disabled');
            $('#contact-form').fadeTo( "slow", 0, function() {
                $(this).find(':input').attr('disabled', 'disabled');
                $(this).find('label').css('cursor','default');
                $('#success').fadeIn();
 
            });
        },
        error: function() { alert("Error");
            $('#contact-form').fadeTo( "slow", 0, function() {
                $('#error').fadeIn();
            });
        }

Y si cuando pongo enviar el msj, me tira un alert con el codigo error, entonces ahora como hago para q tire un msj de enviado? y la idea seria q el msj aprezca en el mismo formulario, asi queda mejor esteticamente, y no con un mensaje de alert
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Pregunta en formulario

Publicado por xve (5513 intervenciones) el 09/02/2015 20:11:27
Hola Gonzalo, entiendo que tu código PHP devolverá algún error... revisa el código PHP, podría ser que diera algún error.

Si revisas las "Developers Tools" del navegador (F12 en chrome o firefox) podrías ver lo que devuelve tu script de PHP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pregunta en formulario

Publicado por Angel (13 intervenciones) el 09/02/2015 17:36:42
Hola gonzalo buenos días, en el archivo process.php puedes agregar una leyenda validando si agrego o no el registro, y dentro de algun div a lo mejor en #success aparecerá.. checalo y comentas saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pregunta en formulario

Publicado por Gonzalo gonza_b92@hotmail.com (6 intervenciones) el 09/02/2015 17:50:09
Hola angel, mira te paso el codigo de los archivos, tanto del formulario y del process.php, asi me decis como escribir le codigo, como dije anteriormente no tengo idea de codigo php jaja, si me podes ayudar con eso te agradeceria. gracias.


Este es el archivo process.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
 
    $to = "gonzalo.beguelman@hotmail.com";
    $from = $_REQUEST['name'];
    $subject = $_REQUEST['subject'];
    $name = $_REQUEST['name'];
    $headers = "From: $from";
 
    $fields = array();
    $fields{"name"} = "name";
    $fields{"email"} = "email";
    $fields{"subject"} = "subject";
    $fields{"message"} = "message";
 
    $body = "Te enviaron el siguiente mensaje:\n\n"; foreach($fields as $a => $b){   $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); }
 
    $send = mail($to, $subject, $body, $headers);
 
?>


y este el archivo php del formulario:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
$('#contact-form').validate({
rules: {
name: {
required: true,
minlength: 2
},
email: {
required: true,
email: true
},
message: {
required: true
}
},
messages: {
name: {
required: "No escribiste tu nombre",
minlength: "Tu nombre debe tener como minimo 2 caracteres."
},
email: {
required: "No Ingresaste el Email"
},
message: {
required: "No escribiste tu mensaje.",
minlength: "thats all? really?"
}
},
submitHandler: function(form) {
$(form).ajaxSubmit({
type:"POST",
data: $(form).serialize(),
url:"process.php",
success: function() {
$('#contact-form :input').attr('disabled', 'disabled');
$('#contact-form').fadeTo( "slow", 0, function() {
$(this).find(':input').attr('disabled', 'disabled');
$(this).find('label').css('cursor','default');
$('#success').fadeIn();
});
},
error: function() {
$('#contact-form').fadeTo( "slow", 0, function() {
$('#error').fadeIn();
});
}
 
 
});
}
});
});

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pregunta en formulario

Publicado por Angel (13 intervenciones) el 09/02/2015 18:00:59
Bien. Cuando mandes el mail puedos hacer esto...
$send = mail($to, $subject, $body, $headers);

if($send)
echo "el Mensaje fue enviado correctament";
else
echo "Se presento un erro al tratar de mandar el mensaje...";

if($send)-------- pronunciacion... si send es true
if(!$send)---pronunciacion si send no es true


suerte ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pregunta en formulario

Publicado por Gonzalo gonza_b92@hotmail.com (6 intervenciones) el 09/02/2015 18:06:57
Asi escribir el codigo q me dijiste, no entendi la ultima parte como ponerlo, si me ayudas con eso, te agradeceria. saludos!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
    $to = "gonzalo.beguelman@hotmail.com";
    $from = $_REQUEST['name'];
    $subject = $_REQUEST['subject'];
    $name = $_REQUEST['name'];
    $headers = "From: $from";
 
    $fields = array();
    $fields{"name"} = "name";
    $fields{"email"} = "email";
    $fields{"subject"} = "subject";
    $fields{"message"} = "message";
 
    $body = "Te enviaron el siguiente mensaje:\n\n"; foreach($fields as $a => $b){   $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); }
 
    $send = mail($to, $subject, $body, $headers);
 
	if($send)
	echo "el Mensaje fue enviado correctament";
	else
	echo "Se presento un erro al tratar de mandar el mensaje...";
 
	?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pregunta en formulario

Publicado por Angel (13 intervenciones) el 09/02/2015 18:10:34
Perdon la ultima parte solo fue una explicacion jjeje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pregunta en formulario

Publicado por Gonzalo gonza_b92@hotmail.com (6 intervenciones) el 09/02/2015 18:11:34
Ah ok, y esta bien como lo puse? porque igualmente no me funciona :/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar