Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/11/2012, 12:49
jfgg01
 
Fecha de Ingreso: septiembre-2009
Mensajes: 56
Antigüedad: 15 años
Puntos: 0
validacion de campos con php

Amigos, buen dia y buen karma para quien lea este mensaje... gracias de antemano por la ayuda

Paso directamente a mi duda...

Tengo una pagina php llamada diamantefinanciero2.php en la que tengo un forumulario, dentro del cual tengo el campo "ventas". Este campo solo debe aceptar numero positivos. NO QUIERO verificarlo con javascript sino con PHP.
Para hacerlo, lo intento controlar mediante una variable llamada $letrero, de esta manera

Código PHP:
session_start();
$letrero "";
$errorDiamante $_SESSION['errorDiamante'];

if (
$errorDiamante == OR $errorDiamante == OR $errorDiamante == 3)
    {
    
$_SESSION['errorDiamante'] = 0;
    
$letrero "\" Ventas\" sólo acepta NÚMEROS POSITIVOS e =    $errorDiamante"
    
$errorDiamante 0;
    }
// ... luego viene el resto del codigo que no interviene aqui 
Código HTML:
<form name="Form1" method="post" action="diamantefinanciero3.php" id="Form1">

<input type="text" id="Editbox1"  name="ventas" value="2500.00" tabindex="10">

<!-- luego el resto de los campos que no interesan en este problema, pero la linea que sigue es MUY IMPORTANTE -->

<div id="wb_Text16" >
<?php echo $letreroAdvertencia;  // CHECA QUE AQUI SE PINTA LO QUE PUSE EN LA VALIDACION DE ARRIBA?>
</div>
</form> 
Esta pagina se dirige, como ya lo habras notado, a la pagina diamantefinanciero3.php dentro de la cual se hace la validacion.

pongo el extracto de esta pagina
Código PHP:
session_start();

if (!
is_numeric($ventas))
    {
    
$_SESSION['errorDiamante']=1;
    
header ("Location: diamantefinanciero2.php");
    }
elseif (
is_null($ventas) OR $ventas="")
    {
    
$_SESSION['errorDiamante']=2;
    
header ("Location: diamantefinanciero2.php");
    }
elseif (
$ventas <= 0)  // ES ESTE IF DONDE NO PASA
    
{
    
$_SESSION['errorDiamante']=3;
    
header ("Location: diamantefinanciero2.php");
    } 
else {    
$_SESSION['errorDiamante']=0;}
// luego viene el resto de la pagina 
Mi problema es que, si en la pagina diamantefinanciero2.php y yo alimento el campo "ventas" con, digamos 2500.00 (el es es un NUMERO POSITIVO), al ir a la pagina destino diamantefinanciero3.php pasa el primer y el segundo IF, pero no el tercero.... me regresa a la pagina original con el letrero
"Ventas" sólo acepta NÚMEROS POSITIVOS e = 3

¿Alguien sabe por qué?
(Espero no haberte mareado con tanto rollo).

Gracias de antemano!!!!