Foros del Web » Programando para Internet » PHP »

undefined variable

Estas en el tema de undefined variable en el foro de PHP en Foros del Web. Buena tarde, tengo un problema desde la mañana y es que me dice que la variable esta indefinida pero no entiendo el porque si ya ...
  #1 (permalink)  
Antiguo 01/04/2013, 14:21
Avatar de andres_15_  
Fecha de Ingreso: septiembre-2008
Ubicación: Cali
Mensajes: 232
Antigüedad: 14 años, 4 meses
Puntos: 7
undefined variable

Buena tarde, tengo un problema desde la mañana y es que me dice que la variable esta indefinida pero no entiendo el porque si ya la tengo definida.

Este es codigo

Código PHP:
<?php

    
require ("../Conexion/conexion.php");

    if (
$_POST){

                    
$contrato=$_POST["contrato"];
                    
$factura=$_POST["nf"];
                    
$valorfactura=$_POST["vf"];
                    
$fecha=$_POST["fecha"];
                


                    

                    
$sql"select valor_contrato from contratos where numero_contrato='$contrato'"//se hace la consulta del valor del contrato para almacenarla despues con un while


                    
$sql2"select saldo from facturas where contrato= '$contrato'; "// se hace la consulta del saldo para tambien almacenarla despues

                    




                    
$datos2 mysqli_query($con,$sql); //se conecta y se hace la consulta del contrato

                    
$datos3 mysqli_query($con,$sql2); //se conecta y se hace la consulta del saldo




                    
                    
while ($reg mysqli_fetch_array($datos2)) //traer el valor del contrato para despues comparar

                    
{
                        
$valor$reg["valor_contrato"]; //variable que contiene el valor del contrato 

                    
}

                    while (
$reg2 mysqli_fetch_array($datos3)) //trae el valor del saldo para comparar

                    
{
                        
$saldo$reg2["saldo"]; //variable con el valor del saldo
                    
}


                    
?>


                    <?php
                    

                    
if ($saldo>0)

                    { 
//si el saldo es mayor que 0 entonces 



                        
$resto$saldo-$valorfactura//se resta del saldo el valor de la factura
                         //una alerta en js

                        
$inserccion="insert into facturas (numero_factura,fecha_factura,contrato,valor_factura,saldo) 
                        values ('$factura','$fecha','$contrato','$valorfactura','$resto')"
// Se inserta en la tabla facturas


                        

                        
$datos mysqli_query($con,$inserccion); //conexion e inserccion de la consulta

                        
if ($datos==0){
                            echo 
"<script> alert ('Error') </script>";
                        }

                        if (
$datos==1){
                            echo 
"<script> alert ('El contrato tiene un saldo de ".$resto."') </script>";
                        }

                            
                    }



                    elseif (empty(
$saldo))

                        { 

                            
$resto2$valor-$valorfactura//se resta del valor del contrato el valor de la factura



                            
$inserccion2="insert into facturas (numero_factura,fecha_factura,contrato,valor_factura,saldo) 
                            values ('$factura','$fecha','$contrato','$valorfactura','$resto2')"
//se inserta la consulta

                            
echo "estoy aqui";



                                if (
$resto2>$saldo and $saldo==0)
                                {

                                    echo 
"Soy un error, ¡Buu!";
                                    exit;
                                
                                }
                            
$datos4 mysqli_query($con,$inserccion2);
                        }    
                }
    
?>
Estos son los errores que me tira :

Notice: Undefined variable: saldo in C:\xampp\htdocs\facturas\facturas\validacion.php on line 54
estoy aqui
Notice: Undefined variable: saldo in C:\xampp\htdocs\facturas\facturas\validacion.php on line 99

Notice: Undefined variable: saldo in C:\xampp\htdocs\facturas\facturas\validacion.php on line 99
Soy un error, ¡Buu!

Pero como pueden notar la variable $saldo no solo la uso en esas 3 lineas si no por ejemplo en la linea 60 donde esta asi : $resto=$saldo-$valorfactura; y anda bien, pero en las comparaciones con if me arroja eso. Ayuda por favor
  #2 (permalink)  
Antiguo 01/04/2013, 14:36
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 14 años, 9 meses
Puntos: 47
Respuesta: undefined variable

Se me ocurre que la variable saldo está vacía...

Además ocupa los if de la siguiente forma

Código PHP:
Ver original
  1. if (isset($_POST["contrato"])){
  2.    //Tu codigo
  3.  }

Además colocale or die(mysqli_error()) cuando ejecutas las consultas... porque tal parece que la variable saldo no está siendo definida en tu result..

Etiquetas: mysql, select, sql, tabla, undefined, variable
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 17:18.