Foros del Web » Programando para Internet » PHP »

Validar campos en php con funciones

Estas en el tema de Validar campos en php con funciones en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 13/01/2016, 09:32
 
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>
  #2 (permalink)  
Antiguo 13/01/2016, 10:33
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Validar campos en php con funciones

Puedes utilizar valitron: https://github.com/vlucas/valitron
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 13/01/2016, 14:01
 
Fecha de Ingreso: enero-2016
Mensajes: 2
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: Validar campos en php con funciones

Pero yo nunca use algo asi, no hay algun error en mi codigo o algo que cambiar para que funcione sin tener que requerir a mas librerias?
  #4 (permalink)  
Antiguo 13/01/2016, 14:14
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: Validar campos en php con funciones

Veo que trabajas con $errores y al final tratas de mostrar $error. Prueba cambiando eso

Etiquetas: campos, fecha, formulario, funciones, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:24.