Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2016, 09:32
Ivanjvillac
 
Fecha de Ingreso: enero-2016
Mensajes: 2
Antigüedad: 8 años, 3 meses
Puntos: 0
Exclamación Validar campos en php con funciones

Vereis, intento hacer un libro de visitas, pero cuando intento validar el campo del correo y del email, sacado de otro php que hice anteriormente y que realmente valida, no me hace nada. Por ejemplo yo quiero que el nombre tenga minimo 3 letras, uso la funcion de validar que hice anteriormente y escribo dos letras y envio y me deja enviar el mensaje con un nombre de dos letras sin problemas. Os adjunto aqui los codigos que estoy usando.

Codigo de validacion
Código:
<?php

//Comprobar los datos del formulario
		function valida_form($errores = '') 
		{
			if(isset($_POST["nombre"]))
			{
				//Añadir un mensaje de error si el nombre es corto.
				if (!preg_match("/[a-zA-Z]/", $_POST[
				"nombre"]))
				{
					$errores[] = "El nombre debe 
					contener solo letras.";
				}
				
				if(strlen($_POST["nombre"]) < 3)
				{
					$errores[] = "Tu nombre debe tener 
					al menos 3 letras.";
				}
				
			}
			
				
			
			if (strlen(trim($_POST["correo"])) == 0) {
		
$errores[] = "Introduce una dirección de correo.";

			}
			
				
			return $errores;
		}
		

function muestra_form($errores = '') 
{ 
	if($errores != '') 
	{
		print "Por favor corrija errores:<br><ul>";
		for($i=0; $i<count($errores); $i++)
		{
			echo '<li>'.$errores[$i].'</li>';
		}
		echo '</ul>';
	}
} ?>



<?php
if (isset($_POST["envia"])) {
			
		if ($error=valida_form()) {
			
		muestra_form($error);
		
		} else {
			
		procesa_form(); }

		} else {
	
		muestra_form();
		
		}


?>
Pagina comentar
Código:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Libro de visitas</title>
<link rel="stylesheet" href="estilitos.css">

</head>

<body>

<?php 
include ("formulario6.php");

valida_form($errores = "");

date_default_timezone_set("Europe/Madrid");
$nombre =  isset($_GET['nombre']) ? $_GET['nombre'] : null ;
$correo =  isset($_GET['correo']) ? $_GET['correo'] : null ;
$comentario =  isset($_GET['comentario']) ? $_GET['comentario'] : null ;
$fecha = date("H:i/d-m-Y");

$escribir = fopen("dialogo.html","a");
fwrite($escribir,"<P><h4>$nombre&nbsp;&nbsp;&nbsp;&nbsp; $fecha&nbsp;&nbsp;&nbsp;&nbsp;$correo</h4></P>");
fwrite($escribir,"<P id='justificar'>$comentario</P><hr size=4 color=Steelblue>");
fwrite($escribir,"<a href='#contenedor'>Ir al principio</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='#final'>Ir al final</a>");
fclose($escribir);


include("visitas.php");

?>

</body>
</html>
Index
Código:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Libro de visitas</title>
<link rel="stylesheet" href="estilos.css">
</head>

<body>
<div id="contenedor">
<h2>Libro de visitas</h2>
<form name="tinymce" method="post" action="comentar.php">
<input id="identificador" type="text" size="45" name="nombre" placeholder="Aquí escriba su nombre por favor" required><br><br>
<input id="identificador" type="email" name="correo" size="45" placeholder="[email protected]" required><br><br>
<textarea cols="60" rows="6" name="comentario" placeholder="Escriba aquí su comentario" required></textarea><br>
<input type="submit" name="boton" style="color: #FFF; font-weight: bold; background-color: #090" value="Enviar comentario">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="submit" name="boton" style="color: #FFF; font-weight: bold; background-color: #090" value="Ver comentarios" onClick=" window.location.href='visitas.php' ">

</form>
<?php include("com.html"); ?>

</div>

</body>
</html>
Pagina visitas
Código:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Libro de visitas</title>
<link rel="stylesheet" href="estilos.css">

</head>

<body>

<div id="contenedor"> 
<?php
function ponerFecha($f)	{
	if ($f == "00000000000000")	{return "deconocida";}
	$mes = array(
	"01" => "enero",
	"02" => "febrero",
	"03" => "marzo",
	"04" => "abril",
	"05" => "mayo",
	"06" => "junio",
	"07" => "julio",
	"08" => "agosto",
	"09" => "septiembre",
	"10" => "octubre",
	"11" => "noviembre",
	"12" => "diciembre"
	);

	list($fecha, $hora) = explode(" ", $f);
	list($aaaa, $mm, $dd) = explode("-", $fecha);

	return "$dd de {$mes[$mm]} de $aaaa, a las $hora";
    
    
    
}?>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a id="reload" href="javascript:location.reload()">Actualizar los mensajes</a>
<a id="internos" href="#final"></a>
<h2>Libro de visitas</h2>

<form name="tinymce" method="post" action="comentar.php">
<input id="identificador" type="text" size="45" name="nombre" placeholder="Aquí escriba su nombre por favor" required><br><br>
<input id="identificador" type="email" name="correo" size="45" placeholder="[email protected]" required><br><br>
<textarea cols="60" rows="6" name="comentario" placeholder="Escriba aquí su comentario" required></textarea><br>
<input type="submit" name="boton" style="color: #FFF; font-weight: bold; background-color: #090" value="Enviar comentario">

</form>
<?php include("dialogo.html"); ?>

<a id="final" href="#contenedor"></a>
 
</div>

</body>
</html>