Cita:
Iniciado por icarocu
mira... hice lo que me dijiste.. pero ahora aunque deje vacios los campos solo me arroja que me falta el ultimo
![lloron](http://static.forosdelweb.com/fdwtheme/images/smilies/chillando.png)
...
alguien sabe como hacer para que si no me llena TODOS los campos de mi form.. no me permita continuar ?!?!?
Código PHP:
<?php
if ($_POST['nom_contrato']=='')
{
echo "Falta ingresar el <strong><font color='#FFFF00'>Nombre Resúmen del Contrato / Licitación</font></strong> <br>";
}
else if ($_POST['nom_tecnico']=='')
{
echo "Falta ingresar el <strong><font color='#FFFF00'>Nombre Técnico del Contrato / Licitación</font></strong> <br>";
}
else if ($_POST['meses_duracion']=='')
{
echo "Falta ingresar la <strong><font color='#FFFF00'>Duracion del Contrato (meses)</font></strong> <br> ";
}
else if ($_POST['resolucion_inicio']=='')
{
echo "Falta ingresar la <strong><font color='#FFFF00'>Resolución que da Origen al Contrato</font></strong> <br> ";
}
else if ($_POST['fecha_res_ini']=='')
{
echo "Falta seleccionar la <strong><font color='#FFFF00'>fecha de la Resolución</font></strong> <br> ";
}
else if ($_POST['ubicacion']=='')
{
echo "Falta ingresar la <strong><font color='#FFFF00'>Ubicación / Localidad del Contrato</font></strong> <br> ";
}
else if ($_POST['region']=='')
{
echo "Falta seleccionar la <strong><font color='#FFFF00'>Región del Contrato</font></strong> <br> ";
}
else if ($_POST['fecha_cont_ini']=='')
{
echo "Falta seleccionar la <strong><font color='#FFFF00'>fecha de inicio del Contrato</font></strong> <br> ";
?>
<script language="JavaScript" type="text/javascript">
setTimeout("url()",3000);
function url()
{
window.history.back();
}
</script>
<?php
}
else
{
echo "Felicidades " . $_SESSION["s_username"] . ", Has ingresado un nuevo Contrato exitosamente!!!";
?>
<script language="javascript">
setTimeout("url()",2000);
function url()
{
window.location="../administracion.php";
}
</script>
<?php
}
?>
hola, te explico como lo hago yo en mi sistema de usuarios por si te sirve de algo .
los errores se imprimen en el form para añadir los datos en este ejemplo en
añadir.php archivo: añadir.php Código PHP:
<?php
//iniciamos la sesion
@session_start();
//imprimimos los errores guardados en la sesion: ERRORES
if( isset($_SESSION['ERRORES']) && is_array($_SESSION['ERRORES']) && count($_SESSION['ERRORES']) >0 ) {
echo '<ul class="error-resultado">';
foreach($_SESSION['ERRORES'] as $msg) {
echo '<li>',$msg,'</li>';
}
echo '</ul>';
unset($_SESSION['ERRORES']);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
</div><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>añadir nuevo trabajador</title>
<link href="estilo.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="form-nuevo-contrato">
//aqui iria tu formulario.
</div>
</body>
</html>
procesa.php el archivo que comprueba los campos y si hay algun error lo imprime en
añadir.php
Código PHP:
<?php
session_start();
//iniciamos sesion
//creamos un array con los errores
$errores_array = array();
//hacemos un flag para la validacion
$errorflag = false;
//aqui por ejemplo.... la conexion a la base de datos
//aqui te dejo una funcion si quieres puedes quitarla limpia las variables POST
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
//Sanear las variables pasadas por POST
$nombre = clean($_POST['nombre']);
$apellidos = clean($_POST['apellidos']);
$fecha = clean($_POST['fecha']);
// y todos los campos que tengas. etc....
//ahora el input para validar el error
if($nombre== '') {
$errores_array[] = 'introduzca su nombre';
$errorflag = true;
}
if($apellidos== '') {
$errores_array[] = 'introduzca su apellido';
$errorflag = true;
}
if($fecha== '') {
$errores_array[] = 'introduzca una fecha';
$errorflag = true;
}
//comprueba y redirreciona a si no estan rellenados los campos.
if($errorflag) {
$_SESSION['ERRORES'] = $errores_array;
session_write_close();
header("location: añadir.php");
exit();
}
// aqui iria la sentencia sql para insertar los datos.
espero que lo hayas entendido y te sirva de ayuda..
saludos