
¿Por que no se ejecuta la funcion php en formulario?
Publicado por Ulises (2 intervenciones) el 09/04/2018 05:22:58
Bueno, seré breve. Anteriormente tenia un código de formulario que enviaba un mensaje por correo y que a su vez al presionar el boton "enviar" también ejecutaba una función que crea un archivo xml.
Ahora que retome el código nuevamente, cada vez que le doy click al botón para enviar no se ejecuta tal funcion, si no que me ridirecciona a ella (Por lo que no se envia nada ni se ejecuta nada por este error).
esto funcionaba así;
<form method="post" action="crearxml.php>
Por lo que ahora tengo que quitar el; action="crearxml.php para que mínimo se envié el mensaje.
¿Como soluciono esto o que otras altenativas existen que funcionen como el; action?
CODIGO FORMULARIO.PHP;
CÓDIGO CREAR.XML;
Ahora que retome el código nuevamente, cada vez que le doy click al botón para enviar no se ejecuta tal funcion, si no que me ridirecciona a ella (Por lo que no se envia nada ni se ejecuta nada por este error).
esto funcionaba así;
<form method="post" action="crearxml.php>
Por lo que ahora tengo que quitar el; action="crearxml.php para que mínimo se envié el mensaje.
¿Como soluciono esto o que otras altenativas existen que funcionen como el; action?
CODIGO FORMULARIO.PHP;
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
52
53
54
55
56
57
<body>
<!--Cuadro formulario-->
<h1>Formulario de contacto</h1>
<div class="contact">
<div class="contact-main">
<form method="post" action="crearxml.php">
<h3>Emisor</h3>
<input type="text" placeholder="Nombre" class="hola" name="customer_name" required />
<h3>Receptor</h3>
<input type="text" placeholder="Nombre" class="hola" name="customer_sname" required />
<h3>Email</h3>
<input type="email" placeholder="Usuario@gmail.com" class="hola" name="customer_email" required />
<h3>Asunto</h3>
<input type="text" placeholder="Escribe Asunto aqui ..." class="hola" name="subject" required />
<h3>Mensaje</h3>
<textarea name="message" placeholder="Escribe tu mensaje aqui ..." required /></textarea>
//ESTOS SON LOS DATOS QUE OCUPARA EL CREARXML.PHP
<?php
if (isset($_POST['send'])){
include("sendemail.php");//Mando a llamar la funcion que se encarga de enviar el correo electronico
/*Configuracion de variables para enviar el correo*/
$mail_username="gtaulises@gmail.com"; //Correo electronico saliente, EMISOR.
$template="email_template.html";//Ruta de la plantilla HTML para enviar nuestro mensaje
/*Inicio captura de datos enviados por $_POST para enviar el correo */
$mail_setFromEmail=$_POST['customer_email'];
$mail_setFromName=$_POST['customer_name'];
$mail_setFromsName=$_POST['customer_sname'];
$txt_message=$_POST['message'];
$mail_subject=$_POST['subject'];
sendemail($mail_username,$mail_userpassword,$mail_setFromEmail,$mail_setFromName,$mail_setFromsName,$mail_addAddress,$txt_message,$mail_subject,$template);//Enviar el mensaje
}
?>
</div>
<div class="enviar">
<div class="contact-check">
</div>
<div class="contact-enviar">
<input type="submit" value="Enviar mensaje" name="send">
</div>
<div class="clear"> </div>
</form>
</div>
</div>
</body>
CÓDIGO CREAR.XML;
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
<!--CÓDIGO QUE INSERTA DATOS AL XML TRAS ENVIAR MENSAJE POR CORREO [historial.xml] -->
<?php
//llamado de los datos ingresados del formulario
if (isset($_POST['send']))
{
//cargar documento xml
$xml = new DOMDocument ("1.0","UTF-8");
$xml->load('historial.xml');
//llamado de los campos del formulario
$emisorname = $_POST['customer_name']; //Nombre del EMISOR
$emisoremail = "gtaulises@gmail.com"; //Correo electronico saliente, EMISOR.
$receptoremail = $_POST['customer_email']; //Correo electronico saliente, RECEPTOR.
ini_set('date.timezone','America/Mazatlan'); //FECHA
$hoy = date("j/n/Y g:i:s A");
$asunto = $_POST['subject']; //Correo electronico saliente, EMISOR.
$mensaje = $_POST['message']; //Correo electronico saliente, EMISOR.
$rootTag = $xml->getElementsByTagName("Proyecto")->item(0); //etiqueta del atributo xml
$infoTag = $xml->createElement("Historial"); //crea etiqueta del elemento xml
//Datos/elementos que lo conformaran y como deberan de presentarse en los tag
$EnameTag = $xml->createElement("EnviadoPor", $emisorname);
$EEmailTag = $xml->createElement("DeEmail", $emisoremail);
$REmailTag = $xml->createElement("AlEmail", $receptoremail);
$HoyTag = $xml->createElement("Fecha", $hoy);
$AsuntoTag = $xml->createElement("Asunto", $asunto);
$MensajeTag = $xml->createElement("Mensaje", $mensaje);
//imprimir
$infoTag->appendChild($EnameTag);
$infoTag->appendChild($EEmailTag);
$infoTag->appendChild($REmailTag);
$infoTag->appendChild($HoyTag);
$infoTag->appendChild($AsuntoTag);
$infoTag->appendChild($MensajeTag);
//Guardar
$rootTag->appendChild($infoTag);
$xml -> save ('estroctura.xml');
}
?>
Valora esta pregunta


0