Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/02/2007, 05:26
natxojarto
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 18 años, 6 meses
Puntos: 0
Probelma carrito

Aupa!
Este es el codigo para coger los datos de un formulario y procesarlos. Esta mas o menos explicado con los comentariospero si necesitais algo estare mirando. A ver, en el formulario tengo 5 campos de texto, despues dos combos anidados con los que selecciono los cursos y los meto en una clase carrito y despues tengo un formulario con radiobuttons. Como veis para utilizar los combos llamo a esta pagina y vuelvo a la otra(Diagnostico1.php) mandandole la categoria para que ponga los cursos de esa categoria. Me da un error y creo q es por las sesiones pero no lo se bien. El error que me da es el siguiente:
Fatal error: Call to a member function on a non-object

Código PHP:
<?php
//Empezamos la sesion
session_start();
header("Cache-control:private");
$enviar=$_POST['Enviar'];
//Si no le hemos dado l boton de enviar 
if(!isset($enviar)){
    
//Si la categoria de los combos anidados cambia
    
if ($catant!=$categoria) { 
        
//Guardamos las variables en la sesion
        
$_SESSION['nombre']=$_POST['nombre'];
        
$_SESSION['apellido1']=$_POST['apellido1'];
        
$_SESSION['apellido2']=$_POST['apellido2'];
        
$_SESSION['dni']=$_POST['dni'];
        
$_SESSION['email']=$_POST['email'];
        
//Volvemos a la pagina anterior mandando la categoria
        
header("location:Diagnostico1.php?categoria=$categoria"); 
    }

//Si le hemos dado a Enviar
else{
    
//Cogemos el DNI y comprobamos si esta en la base de datos
    
$dni=$_POST['dni'];
    
$link mysql_connect("localhost","desarrollo","desarrollo");
    
mysql_select_db("COIIE-DESA",$link);
    
mysql_query("SELECT * FROM t_coi_colegiados WHERE DNI=".$dni,$link);
    
$num=mysql_affected_rows($link);
    
//Si no esta
    
if($num==0){
        
//Guardamos en variables de sesion todo lo seleccionado
        
$_SESSION['duracion']=$_POST['duracion'];
        
$_SESSION['tiempo']=$_POST['tiempo'];
        
$_SESSION['metodo']=$_POST['metodo'];
        
$_SESSION['causas']=$_POST['causas'];
        
$_SESSION['situacion']=$_POST['situacion'];
        
$_SESSION['cuenta']=$_POST['cuenta'];
        
$_SESSION['empresa']=$_POST['empresa'];
        
$_SESSION['sector']=$_POST['sector'];
        
$_SESSION['inversion']=$_POST['inversion'];
        
$_SESSION['subvencion']=$_POST['subvencion'];
        
//Volvemos enviando el error de DNI incorrecto
        
header("Location: Diagnostico1.php?error1=error1");
    }
    
//Cogemos la fila del colegiado con sus datos
    
$resul=mysql_query("SELECT * FROM t_coi_colegiados WHERE DNI=".$dni,                $link);
    
$fila=mysql_fetch_array($resul);
    
$numcol=$fila['NCOLEGIADO'];
    
//Guardamos los valores de la encuesta en un array llamado encuesta
    
$encuesta[0]=$_POST['duracion'];
    
$encuesta[1]=$_POST['tiempo'];
    
$encuesta[2]=$_POST['metodo'];
    
$encuesta[3]=$_POST['causas'];
    
$encuesta[4]=$_POST['situacion'];
    
$encuesta[5]=$_POST['cuenta'];
    
$encuesta[6]=$_POST['empresa'];
    
$encuesta[7]=$_POST['sector'];
    
$encuesta[8]=$_POST['inversion'];
    
$encuesta[9]=$_POST['subvencion'];
    
$resul=mysql_query("SELECT * FROM tblenc",$link);
    
$i=0;
    
//Mientras no se acabe la tabla tblenc
    
while($res=mysql_fetch_array($resul)){
        
//Incrementamos el valor del total
        
$total=$res['total']+1;
        
//Miramos que respuesta hemos elegido y la incrementamos
        
if($encuesta[$i]=$res['respuesta1']){
            
$valor=$res['valor1']+1;
            
mysql_query("UPDATE tblenc SET `valor1`='$valor',`total`='$total'",$link);
        }
        elseif(
$encuesta[$i]=$res['respuesta2']){
            
$valor=$res['valor2']+1;
            
mysql_query("UPDATE tblenc SET `valor2`='$valor',`total`='$total'",$link);
        }
        elseif(
$encuesta[$i]=$res['respuesta3']){
            
$valor=$res['valor3']+1;
            
mysql_query("UPDATE tblenc SET `valor3`='$valor',`total`='$total'",$link);
        }
        elseif(
$encuesta[$i]=$res['respuesta4']){
            
$valor=$res['valor4']+1;
            
mysql_query("UPDATE tblenc SET `valor4`='$valor',`total`='$total'",$link);
        }
        
$i++;
    }
    
//Cogemos als observaciones y las metemos en la base de datos
    
$observaciones=$_POST['observaciones'];
    if(!empty(
$observaciones)){
        
mysql_query("INSERT INTO Observaciones(Observacion,NCOLEGIADO) VALUES ('$observaciones','$numcol')",$link);
    }
    
$carrito=$_POST['carrito'];
[
COLOR="Red"]//esta es la linea que da error
    
$total $carrito->saca_total();[/COLOR]?>
    <a href="ver_carrito.php"><font size="2" face="Arial, Helvetica, sans-serif">Ver cursos seleccionados</font></a>
<?

?>