
13/01/2016, 09:32
|
| | Fecha de Ingreso: enero-2016
Mensajes: 2
Antigüedad: 9 años, 2 meses Puntos: 0 | |
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 $fecha $correo</h4></P>");
fwrite($escribir,"<P id='justificar'>$comentario</P><hr size=4 color=Steelblue>");
fwrite($escribir,"<a href='#contenedor'>Ir al principio</a> <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">
<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";
}?>
<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>
|