PHP - No me registra formulario, pero no me dice el error.

 
Vista:
sin imagen de perfil

No me registra formulario, pero no me dice el error.

Publicado por Josue (2 intervenciones) el 10/04/2018 16:51:21
Quiero hacer un código que envié un mensaje y que a su vez cree un registro de los mismos datos ingresados al formulario, pero la función dicha de registro realmente no hace nada y no me indica en donde está el error, simplemente se envía el mensaje.

¿Me pueden decir si estoy haciendo mal el llamado de los campos o falto definir algo?, es la primera vez que intento hacer esto y la verdad probablemente es un detalle que se me esta pasando. SE LOS AGRADECERÍA.


CÓDIGO CONEXIÓN [conex.php]:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$servidor = "localhost:3306";
$usuario = "Josue";
$contraseña = "prueba";
$bd = "prueba";
 
//Local - Usuario:- contraseña - Basededatos 
$conex=mysqli_connect($servidor,$usuario,$contraseña) or die ('sin conexion'.mysql_errno());
echo "";
 
//if($conex->connect_errno)
//{
//exit();
//}
//else{
//print("conexion exitosa");
//}
 
 
?>

CÓDIGO REGISTRO [formulario.php], REALMENTE VA INCLUIDO DENTRO DEL MISMO FORMULARIO (al inicio), PERO LO SEPARO PARA QUE SE PUEDE APRECIAR MEJOR (No hace dicha función y no me indica fallos para corregir);
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
<?php
require_once("conexion/conex.php");
 
if(isset($_POST["send"])) {
 
$emisorname = $_POST['customer_name']; //Nombre del EMISOR
$emisoremail = "[email protected].com"; //Correo electronico saliente, EMISOR.
$receptoremail = $_POST['customer_email']; //Correo electronico saliente, RECEPTOR.
$asunto = $_POST['subject']; //Correo electronico saliente, EMISOR.
$mensaje = $_POST['message']; //Correo electronico saliente, EMISOR.
 
ini_set('date.timezone','America/Mazatlan'); //FECHA
$hoy = date("j/n/Y g:i:s A"); //NUEVA VARIABLE FECHA, NO EN FORMULARIO.
 
 
 mysqli_select_db($conex, $bd) or die ("Error al conectar base de datos");  //Condicion si falla la base de datos
 $query=mysqli_query($conex, "SELECT * FROM proyecto  WHERE Fecha='".$hoy."'"); //Verifica correo existente, puedes agregar/remplazar por usuario
 $numrows=mysqli_num_rows($query);
 
 if($numrows==0)
 {
 $sql= "INSERT INTO proyecto
 (EnviadoPor, DeEmail, AlEmail, Fecha, Asunto, Mensaje)
 VALUES('$emisorname','$emisoremail', '$receptoremail', '$hoy', '$asunto', '$mensaje')";
 
 }
}
?>

CÓDIGO FORMULARIO (FUNCIONA), CONFUNDE UN POCO PORQUE APARTE TIENE LA FUNCIÓN DE ENVIAR MENSAJE [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
58
59
60
61
62
<!DOCTYPE HTML>
<html>
<body>
<!--Cuadro formulario-->
 
<h1>Formulario de contacto</h1>
<div class="contact">
	<div class="contact-main">
 
	<form action = "formulario.php" method = "POST" >
 
	    <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="[email protected].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>
 
		<?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="[email protected].com"; //Correo electronico saliente, EMISOR.
				$mail_userpassword="gtasosa1";//Contraseña, para logear en ella.
				$mail_addAddress=$_POST['customer_email'];//correo electronico que recibira el mensaje, otro ejemplo; "gt-[email protected].com";
				$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>
</html>
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 Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No me registra formulario, pero no me dice el error.

Publicado por Alejandro (731 intervenciones) el 10/04/2018 22:40:37
No veo en que momento ejecutas el query del insert
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
sin imagen de perfil
Val: 20
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

No me registra formulario, pero no me dice el error.

Publicado por Simon (6 intervenciones) el 11/04/2018 14:10:04
La linea de codigo para conectarse a una base de datos es la siguiente:

1
$variable = msqli_connect("servidor","usuario","contraseña","base de datos");

habria mas formas pero si vas a trabajar con la misma base de datos todo el tiempo recomendaria de esta forma
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