• Sábado 21 de Diciembre de 2024, 11:01

Autor Tema:  problemas al validar formulario php  (Leído 5973 veces)

thinlizzy

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
problemas al validar formulario php
« en: Lunes 3 de Junio de 2013, 04:09 »
0
estimados estoy tratando de validar un pequeño formulario para que me resuelva las cuatro operaciones basicas(suma,resta,multiplicacion,division)
 el problema es que cuando dejo en blanco un espacio, me da un mensaje error, el cual adjunte, quisas algo hago mal.
espero me puedan ayudar.

Código: [Seleccionar]
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FORMULARIO</title>
</head>

<body>
<h1>formulario</h1>
<?php if($_POST){
    
 $numero1=$_POST['n1'];
 $numero2=$_POST['n2'];
 
 $res_suma = ($numero1+$numero2);
 $res_resta = ($numero1-$numero2);
 $res_multiplicacion =($numero1*$numero2);
 $res_division = ($numero1/$numero2);
 
 if($numero1=="")
 {
echo "el campo 1 esta vacio"
 }
 else
 {

    if($numero2=="" )
 {
echo "el campo 2 esta vacio"
 }
 if($numero1=="" && $numero2=="")
 {
echo "el campo 1 y campo 2 estan vacios"
 }
     
 
 else
 {
 echo "LA SUMA ES :".$res_suma;
 echo "LA RESTA ES: ".$res_resta;
 echo "LA MULTIPLICACION ES:".$res_multiplicacion;
 echo "LA DIVISION ES :".$res_division;
 
 }
 }
 
 
}
else
{
 
 
    
/*{
//include('../clases/FORMULARIO_PHP_VALIDAR SESION/formulario_enviado.php')
$
if($_POST['n1'] && $_POST['n2'])
{

echo '<p><strong>' .$_POST['nombre']." ".$_POST['apellido'].'</strong>,ha implemetado el formulario correctamente</p>';

    }

else
    {
echo '<p>Los datos estan incompletos.</p> <p> <a href="practica.php">VOLVER </a>';
    }
}
else
    {*/
?>

<form action="practica.php" method="post">

<fieldset>
  <legend> Opciones generales </legend>
<fieldset>
<legend> datos personales </legend>
<input type="text" name="n1" value="">
<input type="text" name="n2" value="">
</fieldset>
</fieldset>
<input type="submit" value="Enviar" >
<input type="reset" value="borrar" >
<?php ?>
</form>

</body>
</html>






El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
« última modificación: Lunes 3 de Junio de 2013, 04:11 por thinlizzy »

ryuz

  • Miembro activo
  • **
  • Mensajes: 29
  • Nacionalidad: ar
  • :)
    • Ver Perfil
Re:problemas al validar formulario php
« Respuesta #1 en: Lunes 3 de Junio de 2013, 10:48 »
0
Bueno, el "error" que dices es debido que no se puede "dividir" por cero.

Primero que nada te recomiendo utilizar la función empty($var) para la comprobación de si esta vacio o no una variable.

Tambien te recomiendo usar is_numeric($var) para comprobar si es un numero y a su vez la igualdad con 0 para descartar que nos de error en la división 0.

Aqui te dejo un pequeño ejemplo de como queda la estructura del código.

Código: PHP
  1. <?php
  2. $n1 = 10;
  3. $n2 = 2;
  4. if( !empty($n1) && !empty($n2) && is_numeric($n1) && is_numeric($n2) && ($n1 != 0) && ($n2 != 0)) {
  5.         echo "Operaciones...";
  6. } else {
  7.         if( empty($n1) || empty($n2) ) {
  8.                 if(empty($n1)) {
  9.                         echo "Valor n1 vacio.";
  10.                 } else {
  11.                         echo "Valor n2 vacio.";
  12.                 }
  13.         } else {
  14.                 if( !is_numeric($n1) ) {
  15.                         echo "Valor n1 no numerico.";
  16.                 } else {
  17.                         echo "Valor n2 no numerico.";
  18.                 }
  19.         }
  20. }
  21. ?>
  22.  

Tambien podrias hacer comprobaciones de si el numero es negativo, etcétera.

:)

thinlizzy

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re:problemas al validar formulario php
« Respuesta #2 en: Lunes 3 de Junio de 2013, 21:53 »
0
 :guitar: muchas gracias por tu ayuda, espero mejorar dia a dia, cualquier duda, creo que podre contar contigo..gracias

thinlizzy

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re:problemas al validar formulario php
« Respuesta #3 en: Martes 4 de Junio de 2013, 02:37 »
0
tengo una duda con la linea 8, por que se repiten los if?? ya que arriba se hace la consulta si uno u otro esta vacio...

gracias

thinlizzy

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re:problemas al validar formulario php
« Respuesta #4 en: Martes 4 de Junio de 2013, 03:04 »
0
Al probar los codigos no veo los campos del formulario, lo hago funcionar con el  wamp y no pasa nada, pongo a dispocicion el código si me puedes ver cual es el problema...

Código: PHP
  1. <body>
  2.  
  3. <h1>formulario</h1>
  4. <?php if($_POST){
  5.    
  6.          $n1=$_POST['n1'];
  7.          $n2=$_POST['n2'];
  8.          
  9.          $res_suma = ($n1+$n2);
  10.          $res_resta = ($n1-$n2);
  11.          $res_mult =($n1*$n2);
  12.          $res_div = ($n1/$n2);
  13. /*Aca compruebo con empty si una variable esta vacia o no y con
  14. is_numeric compruebo si la variable es numerica o no*/   
  15. if( !empty($n1) && !empty($n2) && is_numeric($n1) && is_numeric($n2) && ($n1 != 0) && ($n2 != 0)) {
  16.         echo "LA SUMA ES:".$res_suma;
  17.                 echo "LA RESTA ES:".$res_resta;
  18.                 echo "LA MULTIPLICACION ES:".$res_mult;
  19.                 echo "LA DIVISION ES:".$res_div;
  20. } else {
  21.         if(empty($n1) || empty($n2)) {
  22.                 if(empty($n1)) {
  23.                         echo "Valor n1 vacio.";
  24.                 } else {
  25.                         echo "Valor n2 vacio.";
  26.                 }
  27.         } else {
  28.                 if( !is_numeric($n1) ) {
  29.                         echo "Valor n1 no numerico.";
  30.                 } else {
  31.                         echo "Valor n2 no numerico.";
  32.                }
  33.         }
  34.                
  35.                
  36. }
  37. <form action="practica.php" method="post">
  38.  
  39. <fieldset>
  40.   <legend> Opciones generales </legend>
  41. <fieldset>
  42. <legend> datos personales </legend>
  43. <input type="text" name="n1" value="">
  44. <input type="text" name="n2" value="">
  45. </fieldset>
  46. </fieldset>
  47. <input type="submit" value="Enviar" >
  48. <input type="reset" value="borrar" >
  49. <?php } ?>
  50. </form>
  51.  
  52. </body>
  53.  
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

ryuz

  • Miembro activo
  • **
  • Mensajes: 29
  • Nacionalidad: ar
  • :)
    • Ver Perfil
Re:problemas al validar formulario php
« Respuesta #5 en: Martes 4 de Junio de 2013, 12:23 »
0
:)

Intentaré contestar lo mejor que pueda.

1º Respuesta:

No te preocupes, yo ando siempre que puedo por el foro. Estaré para dudas y criticas :)

2º Respuesta:

Los "if" se repiten debido que la condicional anterior tiene "||" que se refiere basicamente a si uno de los dos esta vacio.

Un ejemplo seria si tengo:

Código: PHP
  1. <?php
  2. $n1 = 10;
  3. $n2 = "";
  4. if( (empty($n1)) || (empty($n2)) ) {
  5.     // Alguno de los dos NO esta vacio?
  6.     // Aqui los otros IF simplemente especifican cual realmente esta vacio y cual no.
  7. }
  8. ?>
  9.  

3º Respuesta:

Bueno ya lo termine y funciona correctamente. Recuerda que las tabulaciones o espacios son muy importantes en PHP, identacion creo que se le llama tecnicamente :P

Ahi tiene el codigo: http://www.inaranco.com/jorge/beta/thin.txt
Y aqui el código para probar el funcionamiento: http://www.inaranco.com/jorge/beta/thin.php

Tambien: http://www.inaranco.com/jorge/beta/

PD: Los ficheros estan temporalmente, una vez me digas que los tienes en tu PC los borrare :)

« última modificación: Martes 4 de Junio de 2013, 12:53 por ryuz »

thinlizzy

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re:problemas al validar formulario php
« Respuesta #6 en: Martes 4 de Junio de 2013, 18:57 »
0
 :kicking: esta excelente todo muchas gracias, pero como puedo hacer para mostrar los resultados en el mismo formulario?

- otra duda cuando por ej: no ingreso valores en ninguno de los dos, me da el mensaje"falta valor n1", como hago para que me  diga  " falta valor n1 y n2"

ryuz

  • Miembro activo
  • **
  • Mensajes: 29
  • Nacionalidad: ar
  • :)
    • Ver Perfil
Re:problemas al validar formulario php
« Respuesta #7 en: Martes 4 de Junio de 2013, 22:59 »
0
jaja :P

Consideraba que te faltaba preguntar eso o suponia que lo sabrias, simplemente es poner el formulario al principio.

http://www.inaranco.com/jorge/beta/thin.txt

Ahi lo actualize. Fijate que meti todo el contenido en una variable y la imprimi antes de comprobar si hay un envio de POST.