Foros del Web » Programando para Internet » PHP »

validaciones con un formulario en php

Estas en el tema de validaciones con un formulario en php en el foro de PHP en Foros del Web. Tengo el siguiente formulario en php: Código Concepto Cuenta: Descripcion: Viene de una tabla en sql server 2005 llamada concepto_cuenta cuyos campos son: cocu_codigo (PK, ...
  #1 (permalink)  
Antiguo 06/09/2010, 13:14
 
Fecha de Ingreso: mayo-2009
Mensajes: 142
Antigüedad: 14 años, 11 meses
Puntos: 0
validaciones con un formulario en php

Tengo el siguiente formulario en php:

Código Concepto Cuenta:
Descripcion:

Viene de una tabla en sql server 2005 llamada concepto_cuenta cuyos campos son:
cocu_codigo (PK, varchar (5))
cocu_descripcion (varchar(80))

El codigo en php del formulario es el siguiente:
<!-- Formualario de Datos ------------------------------------------------------------------------------------------------------------------------------------>


<form action="<?php echo $_SERVER["SCRIPT_NAME"]?>" name="forma" method="post" target="trabajo">
<input name="hcodigo" type="hidden" value="<?php echo $cocu_codigo ?>">
<!-- Paso de campos ocultos a través del formulario -->
<input name="sRegistrar" type="hidden" value="">
<input name="sActualizar" type="hidden" value="">
<input name="<?php echo session_name()?>" type="hidden" value="<?php echo session_id()?>">


<table width=70% border=1 cellspacing="0" cellpadding="1">
<tr>
<td colspan=2 align="right"><div align="left"><a href="l_concepto_cuenta.php?<?php echo SID ?>">Regresar</a></div></td>
</tr>
<!-- __________________________________________________ __________________________________________________ __________________-->
<tr>
<th align="left" colspan="2"><?php echo $titulo;?></th>
</tr>
<!-- __________________________________________________ __________________________________________________ __________________-->
<tr>
<td align="right"><span class='style1'>C&oacute;digo Concepto Cuenta:&nbsp;</span></td>
<td>
<input name="<?php echo $control["cocu_codigo"]?>" type="text" id="<?php echo $control["cocu_codigo"]?>" value="<?php echo $cocu_codigo?>" size="5" maxlength="5" ><em>*</em></tr>
<!-- __________________________________________________ __________________________________________________ __________________-->
<tr>
<td align="right">Descripcion:</td>
<td><label>
<input name="<?php echo $control["cocu_descripcion"]?>" type="text" id="<?php echo $control["cocu_descripcion"]?>" value="<?php echo $cocu_descripcion?>" size="40" maxlength="200" /><em>*</em>
</label></td>
</tr>
</table>
Por favor con este codigo yo ya puedo insertar y actualizar lo que yo quiero es que me ayuden con la siguiente programacion en php:

1.-Que el campo Código Concepto Cuenta y el campo Descripcion sean obligatorios que cuando el usuario no digite un Código Concepto Cuenta o el campo Descripcion salga una ventana diciendo que el Codigo no debe estar vacio o que la Descripcion no debe estar vacio.
2.- Que cuando el usuario ingrese el Codigo o la Descripcion en minusculas o mayusculas automaticamente se ponga en mayusculas.
3.- Cuando el usuario ingrese un codigo que haya sido ingresado anteriormente
salga una ventana que diga que ese Codigo ya existe.
4.- Cuando se vaya a editar los campos Codigo y Descripcion, solo pueda editar el campo Descripcion no el campo Codigo.
Gracias
  #2 (permalink)  
Antiguo 06/09/2010, 13:22
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: validaciones con un formulario en php

Lee atentamente este articulo, pero olvidate de tu web, leelo y entiendelo, luego lo adaptas a tu formulario, lo unico que tendras que modificar del codigo es el nombre de formulario, nombre de campos y logicamente el mensaje de error.

http://www.desarrolloweb.com/articulos/1767.php

Miralo y ya nos dices
  #3 (permalink)  
Antiguo 06/09/2010, 13:24
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Respuesta: validaciones con un formulario en php

puedes hacerlo con javascript

algo similar

Código HTML:
Ver original
  1. function validar(formulario)
  2. {
  3. if(formulario.nombre.value='')
  4. {
  5. alert("Ingresa el nombre");
  6. formulario.nombre.focus();
  7. return false;
  8. }
  9. return true;
  10. }
  11. </head>
  12. <form method="post" action="otra.php" onsubmit="validar(this)">
  13. Nombre: <input type="text" name="nombre">
  14. <input type="submit" value="Enviar">
  15. </form>
  16. </body>
  17. </html>
  #4 (permalink)  
Antiguo 06/09/2010, 13:56
 
Fecha de Ingreso: mayo-2009
Mensajes: 142
Antigüedad: 14 años, 11 meses
Puntos: 0
Validaciones con un formulario en php

Gracias ya pude hacer que Que el campo Código Concepto Cuenta y el campo Descripcion sean obligatorios

Por favor ayudame dandome el codigo en javascript o php para hacer que
1.-Cuando el usuario ingrese el Codigo o la Descripcion en minusculas o mayusculas automaticamente se ponga en mayusculas.
2.- Cuando el usuario ingrese un codigo que haya sido ingresado anteriormente
salga una ventana que diga que ese Codigo ya existe.
3.- Cuando se vaya a editar los campos Codigo y Descripcion, solo pueda editar el campo Descripcion no el campo Codigo.
Gracias







Cita:
Iniciado por ylellan Ver Mensaje
puedes hacerlo con javascript

algo similar

Código HTML:
Ver original
  1. function validar(formulario)
  2. {
  3. if(formulario.nombre.value='')
  4. {
  5. alert("Ingresa el nombre");
  6. formulario.nombre.focus();
  7. return false;
  8. }
  9. return true;
  10. }
  11. </head>
  12. <form method="post" action="otra.php" onsubmit="validar(this)">
  13. Nombre: <input type="text" name="nombre">
  14. <input type="submit" value="Enviar">
  15. </form>
  16. </body>
  17. </html>
  #5 (permalink)  
Antiguo 06/09/2010, 14:45
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: validaciones con un formulario en php

El punto 1 es facil, lo puedes hacer en la pagina de destino, por ejemplo:

$_POST["codigo"]=strtoupper($_POST["codigo"]);

Eso lo sube a mayusculas, igual que strtolower() lo cambia todo a minusculas.


El punto 2 ya es mas jodido, lo que tienes que hacer es crear una consulta a tu base de datos con el codigo insertado, y de encontrar algun registro pues redirigir de nuevo al formulario o una pagina avisando del error.

El punto 3 no lo entendi... ¿no dijiste antes que codigo lo pasamos a mayusculas? Tendras que dejarle que escriba algo! eso entendi, que parece que no muy bien jiji
  #6 (permalink)  
Antiguo 06/09/2010, 15:43
 
Fecha de Ingreso: mayo-2009
Mensajes: 142
Antigüedad: 14 años, 11 meses
Puntos: 0
Validaciones con un formulario en php

Para el punto 1 entendi pero no se como ponerle en mi codigo
El punto 2 tambien ayudame a crear la consulta en la base y luego a ingresarla en el codigo
El punto 3 quiero decir que cuando yo vaya a actualizar no pueda actualizar el codigo que el campo del codigo se bloquee solo cuando vaya actualizar
Te voy a poner el codigo para que le veas y le entiendas mejor por fa:
e_concepto_cuenta.php:
<?php
//lolita
session_start();
if (!session_is_registered("login")) die ("<br><br><center><font color='red'><b>Error de Acceso</font></b></center>");


?>

<script language="javascript" src="../scripts/funciones.js"> </script>
<div><strong><font color="#000000" size="2" face="Arial,Verdana, Helvetica, sans-serif">Concepto Cuenta</font></strong><br>
</div>

<!-- Página para Edición y Registro de Datos ------------------------------------------------------------------------------------------------------------------->
<?php
// PARAMETROS o VALORES INICIALES del formulario ------------------------------------------------------------------------------------------------------------
$select="cocu_codigo, cocu_descripcion";

$from="concepto_cuenta";
$operacion="Actualizar"; // Operación por defecto para el formulario de datos luego de una busqueda
require('../scripts/s_formato_ar.php'); // función utilizada para formatear campos en inserción y actualización
// Define los nombre para las propiedades name y value de los controles de formulario
$value=array('cocu_codigo','cocu_descripcion');
$name=array('tcocu_codigo','tcocu_descripcion');

for ($i=0;$i<count($name);$i++) // crea una matriz asociativa para los controles
$control[$value[$i]]=$name[$i];

// CONSULTA de Datos en base para parámetros de busqueda ----------------------------------------------------------------------------------------------------
if (isset($_GET["codigo"]))
{
$consulta="select ".$select." from ".$from." where cocu_codigo='".$_GET["codigo"]."';";
require('../scripts/s_sql_f.php');

}

// REGISTRAR datos enviados a través del formulario ---------------------------------------------------------------------------------------------------------
elseif ((isset($_POST["sRegistrar"]))&&(!(empty($_POST["sRegistrar"]))))
{
//echo "<br>Registrar";
//if(isset($_POST['tcien_estado'])) $estado_ciudadentrega=1; else $estado_ciudadentrega=0;



//Ingreso de datos

$consulta="insert into concepto_cuenta (cocu_codigo, cocu_descripcion) ";
$consulta.=" values (\"".$_POST['tcocu_codigo']."\",
\"".$_POST['tcocu_descripcion']."\"
)";
//echo "Insert<br>".$consulta."<br>";
require('../scripts/s_bdd.php');
$bandera_ar="si";
}
// ACTUALIZAR datos existentes enviados a través de un formulario -------------------------------------------------------------------------------------------
elseif ((isset($_POST["sActualizar"]))&&(!(empty($_POST["sActualizar"]))))
{

//if(isset($_POST['tcien_estado'])) $estado_ciudadentrega=1; else $estado_ciudadentrega=0;

$consulta="update concepto_cuenta set";
$consulta.="
cocu_descripcion=\"".$_POST['tcocu_descripcion']."\"";

$consulta.=" where cocu_codigo=\"".$_POST["tcocu_codigo"]."\" ";
//echo "<b>Update<br>".$consulta."</b><br>";
require('../scripts/s_bdd.php');
//__________________________________________________ ___________________________________________
//Despliega la ultima actualización de los datos
$consulta="select ".$select." from ".$from." where cocu_codigo='".$_POST["hcodigo"]."';";
require('../scripts/s_sql_f.php');
unset($bandera_ar); //Destruyo la variable para que se carguen los valores a el formulario
//__________________________________________________ ___________________________________________


}

//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>>>>>>>
// Para presentación de valores, en caso de que recientemente se haya hecho una actualización o registro
if (isset($bandera_ar))
{
foreach (array_keys($control) as $campos_formulario){
$$campos_formulario=$_POST[$control[$campos_formulario]];
//echo "<b>".$$campos_formulario."</b><br>";
}
//$titulo="Datos de: ".$_POST["tcon_serial"];
}
else
{
// Asignación de valores a los controles del formulario partiendo de una busqueda realizada
for ($j=0;$j<count($value);$j++)
if (isset($datos[$j]))
{
$$value[$j]=trim($datos[$j]); // valores a ser cargados en los respectivos controles
$bandera_datos="si";
}
else
$$value[$j] = null; // En caso de que la consulta retorno algún campo vacío
// Control para saber si no existen datos o es un nuevo registro
if (isset($bandera_datos))
//$titulo="Datos de: ".$datos[0];
$titulo="Conexión FTP: ".$datos[1];
else
{
if (isset($bandera_eliminar))
$titulo="Registro eliminado: ";
else
$titulo="No se han encontrado Datos para la busqueda realizada: ";
$operacion="Registrar";
}
}
// Imprime el título de la pantalla
require('../scripts/s_cabezera.php');
?>

<!-- Formualario de Datos ------------------------------------------------------------------------------------------------------------------------------------>


<form action="<?php echo $_SERVER["SCRIPT_NAME"]?>" name="forma" method="post" target="trabajo">
<input name="hcodigo" type="hidden" value="<?php echo $cocu_codigo ?>">
<!-- Paso de campos ocultos a través del formulario -->
<input name="sRegistrar" type="hidden" value="">
<input name="sActualizar" type="hidden" value="">
<input name="<?php echo session_name()?>" type="hidden" value="<?php echo session_id()?>">


<table width=70% border=1 cellspacing="0" cellpadding="1">
<tr>
<td colspan=2 align="right"><div align="left"><a href="l_concepto_cuenta.php?<?php echo SID ?>">Regresar</a></div></td>
</tr>
<!-- __________________________________________________ __________________________________________________ __________________-->
<tr>
<th align="left" colspan="2"><?php echo $titulo;?></th>
</tr>
<!-- __________________________________________________ __________________________________________________ __________________-->
<tr>
<td align="right"><span class='style1'>C&oacute;digo Concepto Cuenta:&nbsp;</span></td>
<td>
<input name="<?php echo $control["cocu_codigo"]?>" type="text" id="<?php echo $control["cocu_codigo"]?>" value="<?php echo $cocu_codigo?>" size="5" maxlength="5" ><em>*</em></tr>
<!-- __________________________________________________ __________________________________________________ __________________-->
<tr>
<td align="right">Descripcion:</td>
<td><label>
<input name="<?php echo $control["cocu_descripcion"]?>" type="text" id="<?php echo $control["cocu_descripcion"]?>" value="<?php echo $cocu_descripcion?>" size="40" maxlength="200" /><em>*</em>
</label></td>
</tr>
</table>

<?php
$acciones=array(array("s",$operacion,"javascript: if(validar(document.forma)) {document.forma.submit();}","document.forma.s".$op eracion.".value='si';","grabar.gif"));
require('../scripts/s_acciones.php');
echo "</form>";
require('../scripts/s_pie.php');

?>
  #7 (permalink)  
Antiguo 06/09/2010, 18:58
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: validaciones con un formulario en php

Lo siento, veo ahi en tu codigo consultas MYSQL y demas, sin embargo no tienes ni idea y solo pides que te lo hagan todo hecho. Haz un tutorial PHP y otro MYSQL.

Good luck!

Etiquetas: formulario, validar
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 19:51.