Comunidad de diseño web y desarrollo en internet online

Codigo PHP incrustado.

Citar            
MensajeEscrito el 08 Jun 2017 05:31 am
Hola tengo el siguiente código php incrustado entre codigo html, aunque el formato del archivo que lo contiene es .php. Ocurre que una vez que cargo la página aparece completa y sin problemas, de la misma forma cuando el ingreso de datos es correcto, es decir en esos escenarios se comporta coherentemente, ingresa datos en DB e imprime mensaje de confirmación por pantalla y genera correo. El problema viene cuando existe error de ingreso de datos, ya que imprime todos los mensajes de alerta específicos para cada caso pero se detiene ahí, como si no hubiera más codigo, es decir me muestra la mitad de la página hasta los mensajes (validaciones de error PHP) y no me muestra el footer. He intentado con los tips de incrustación de este código pero solo logro hacer que el mensaje de confirmación sea permanente u otras anormalidades similares, he acomodado las llaves y las aperturas (<?) en distintos niveles más abajo y no logro nada... Creo que no es muy dificil pero no tengo experiencia y ya no me da más la cabeza... favor alguien que ya lo haya logrado o conoce la solución...

El formulario y el php están en el mismo archivo, este es el extracto:

<div class="column13">
<div id="formulario">
<form action="contacto.php" method="post">
<input name= "nombre" type="text" class="input" placeholder="Nombre" size="53">
<br>
<input name= "correo" type="text" class="input" placeholder="Correo" size="53">
<br>
<input name= "telefono" type="text" class="input" placeholder="Telefono" size="53">
<br>
<textarea name="comentario"cols="55" rows="10" placeholder="Mensaje"></textarea>
</div>
<center>
<input type="submit" class="button" value="Enviar" />
<input type="button" class="button" value="Limpiar" onclick="window.location.href='ventas.php'"/>
</center>
</form>
</div>
</div>

<div class="column14">
<br><h3>
<?php
if(isset($_POST['correo'])) {

$correo_para = "[email protected]";
$asunto_correo = "Mensaje de cliente";

function died($error) {
echo "Lo sentimos, se detectó un error en sus datos y el formulario no puede ser enviado.<br /><br />";
echo $error."<br /><br />";
echo "Por favor, inténtelo de nuevo.<br /><br />";
die();
}

$nombre_completo = $_POST['nombre'];
$correo_desde = $_POST['correo'];
$numero = $_POST['telefono'];
$mensaje = $_POST['comentario'];
$mensaje_error = "";

$valida_correo = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($valida_correo,$correo_desde)) {
$mensaje_error .= 'El formato de Correo no es válido.<br />';
}

$valida_letra = "/^[A-Za-z .'-]+$/x";
if(!preg_match($valida_letra,$nombre_completo)) {
$mensaje_error .= 'El formato del Nombre no es válido.<br />';
}

$valida_numero = "/^[0-9]+$/";
if(!preg_match($valida_numero,$numero)) {
$mensaje_error .= 'El formato del Teléfono no es válido.<br />';
}

if(strlen($mensaje) < 2) {
$mensaje_error .='El formato del Mensaje no es válido.<br />';
}

if(strlen($mensaje_error) > 0) {
died($mensaje_error);
}

$mensaje_correo = "Contenido del Mensaje.\n\n";
function clean_string($cadena) {
$mal = array("content-type","bcc:","to:","cc:","href");
return str_replace($mal,"",$cadena);
}
$mensaje_correo .= "Nombre: ".clean_string($nombre_completo)."\n";
$mensaje_correo .= "Correo: ".clean_string($correo_desde)."\n";
$mensaje_correo .= "Teléfono: ".clean_string($numero)."\n";
$mensaje_correo .= "Mensaje: ".clean_string($mensaje)."\n";

$encabezado = 'From: '.$correo_desde."\r\n".
'Reply-To: '.$correo_desde."\r\n".
'X-Mailer: PHP/' . phpversion();
@mail($correo_para, $asunto_correo, $mensaje_correo, $encabezado);

$server="xxx";
$username="xxx";
$password="xxx";
$db='xxx';
$con=@mysql_connect($server,$username,$password) or die ("No se ha podido Establecer La Conexion");
$sdb=mysql_select_db($db,$con) or die ("La Base De Datos No Existe");

if(empty ($nombre_completo) || empty ($correo_desde) || empty ($numero))
{echo " ";
}else{
$in = "insert into xxx (nombre, correo, telefono) VALUES ('".$nombre_completo."','".$correo_desde."','".$numero."')";
$query = mysql_query($in);
$res = mysql_query($query);
}
?>

<br/><br/><br/><br/>
<center><h4>Gracias! Atenderemos tu mensaje muy rapido!</h4></center>
<?php
}
?>
</div>
</div>

<div class= "wrapper">
<div id="page" class="container">
<div class="title">
<h2>Te damos la bienvenida a nuestro sitio</h2>
</div>
<p>Esta es <strong>xxx</strong>, una empresa familiar, ..... <strong>Envíanos tu ...</strong>
</div>
</div>

<div id="copyright" class="container">
<p>&copy; Todos los derechos reservados. | [email protected] | Teléfono xxx
<ul class="contact">
<li><a href="#" class="icon icon-twitter"><span>Twitter</span></a></li>
<li><a href="#" class="icon icon-facebook"><span></span></a></li>
<li><a href="#" class="icon icon-dribbble"><span>Pinterest</span></a></li>
<li><a href="#" class="icon icon-tumblr"><span>Google+</span></a></li>
<li><a href="#" class="icon icon-rss"><span>Pinterest</span></a></li>
</ul>
</div>

</body>
</html>

Por julloax

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 17 Jun 2017 11:28 pm
Me parece que el problema está en el die... una vez que se muestra un mensaje de error, al llegar al die se detiene por completo la interpretación de tu código (No sale ni php, ni html ni nada que quede después...)

Por mchojrin

37 de clabLevel



Genero:Masculino  

Ayudo desarrolladores PHP a acelerar su llegada a Sr.

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.