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

...
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