Para empezar tengo un objeto llamado carrito el cual es un shopping cart de imagenes, el ha venido trabajando bien hasta que le agregue una nueva funcion cotiza_producto() que lo que hace es colocar el precio del producto que ya esta dentro del carrito de compra (esto debido a que es una venta de fotos y no todas tienen el mismo precio así que depende del uso), en fin cuando hago el llamado a esta función tengo el siguiente error: Fatal error: Call to undefined function: cotiza_producto() in /home/digitals/public_html/fotogaleria/mostrar_precio.php on line 45
He aqui los códigos
carrito2.php
Código :
<?php class carrito { //atributos de la clase var $num_productos; var $array_id_prod; var $array_nombre_prod; var $array_cotizado; var $array_rubro; var $array_cod_precio; //constructor. Realiza las tareas de inicializar los objetos cuando se instancian //inicializa el numero de productos a 0 function carrito () { $this->num_productos=0; } //Introduce un producto en el carrito. Recibe los datos del producto //Se encarga de introducir los datos en los arrays del objeto carrito //luego aumenta en 1 el numero de productos function introduce_producto($id_prod,$nombre_prod,$cotizado,$rubro,$cod_precio){ $this->array_id_prod[$this->num_productos]=$id_prod; $this->array_nombre_prod[$this->num_productos]=$nombre_prod; $this->array_cotizado[$this->num_productos]=$cotizado; $this->array_rubro[$this->num_productos]=$rubro; $this->array_cod_precio[$this->num_productos]=$cod_precio; $this->num_productos++; } //Muestra el contenido del carrito de la compra //ademas pone los enlaces para eliminar un producto del carrito function imprime_carrito(){ $sw="false"; for($a=0;$a<$this->num_productos;$a++){ if($this->array_id_prod[$a]!=0){ $sw = "true"; } else { $sw = "false"; } } if($sw=="true") { $mensaje= "Imágenes que actualmente se encuentrarn en su carrito de compras."; } else {$mensaje = "No hay nada en el carrito";} echo "<table border=0 cellspacing=0 cellpadding=0 align=center> <tr> <td colspan=2 class='titulo_verde'>".$mensaje."</td> </tr>"; echo "<tr><td> </td></tr>"; for ($i=0;$i<$this->num_productos;$i++){ if($this->array_id_prod[$i]!=0){ $imagen_id = $this->array_id_prod[$i]; include("conexion.php"); $sql = "select archivo from galeria where cod_imagen=" . $imagen_id; $result = mysql_query($sql); if ($row = mysql_fetch_array($result)) $imagen_foto = $row["archivo"]; echo "<tr><td colspan=2> </td></tr>"; echo "<tr><td ><img alt=foto src='galeria/thumbs/" . $imagen_foto ."'/></td>"; echo "<td><table border=0> <tr><td class='link_menu' align='left'># Imagen:</td><td class='link_menu'>".$imagen_id."</td></tr> <tr><td class='link_menu' align='left'>Nombre:</td><td class='link_menu'>". $this->array_nombre_prod[$i] ."</td></tr> <tr><td> </td><td align=left><a class='titulo_verde' href='eliminar_producto2.php?linea=".$i."'>Eliminar producto</a></td><td></td></tr> <tr><td> </td><td align=left><a class='titulo_verde' href=cotizacion2.php?linea=".$i."&id=".$this->array_id_prod[$i].">Cotizar esta imagen</a></td><td></td></tr> </table> </td> </tr> "; echo "<tr><td colspan=2 style='border-bottom-color:#CCCCCC; border-bottom-style:dotted; border-bottom-width:thin'> </td></tr>"; } } } function descarga_carrito(){ $suma = 0; $datos = ""; for ($i=0;$i<$this->num_productos;$i++){ if($this->array_id_prod[$i]!=0){ $arreglo[$i] = array("id"=>$this->array_id_prod[$i], "nombre"=>$this->array_nombre_prod[$i], ); } } $datos["arreglo"]= $arreglo; return($datos); } //elimina un producto del carrito. recibe la linea del carrito que debe eliminar //no lo elimina realmente, simplemente pone a cero el id, para saber que esta en estado retirado function elimina_producto($linea){ $this->array_id_prod[$linea]=0; } function revisa_carrito($codigo){ $sw="false"; for($i=0;$i<$this->num_productos;$i++){ if ($this->array_id_prod[$i] == $codigo){ $sw = "true"; } else { $sw = "false"; } } return $sw; } } function dato_producto($linea){ $arreglo[$linea] = array("id"=>$this->array_id_prod[$linea], "nombre"=>$this->array_nombre_prod[$linea], ); return($arreglo); } [color=red]function cotiza_producto($linea,$cotizado,$rubro,$cod_precio,$dolares){ $this->array_cotizado[$linea]=$cotizado; $this->array_rubro[$linea]=$rubro; $this->array_cod_precio[$linea]=$cod_precio; } [/color] ?>
y este es el codigo de mostrar_precio.php
Código :
<?php include("carrito2.php"); session_start(); $uso = $_POST["uso"]; $especifico = $_POST["especifico"]; $tamanio = $_POST["tamanio"]; $tiraje = $_POST["tiraje"]; $distribucion = $_POST["distribucion"]; $territorio=$_POST["territorio"]; $fecha=$_POST["fecha"]; $duracion=$_POST["duracion"]; $user_id =7;//$_COOKIE["id"]; $donde = $_REQUEST["donde"]; $alcance = $_REQUEST["alcance"]; $id = $_REQUEST["id"]; $linea = $_REQUEST["linea"]; if($uso==1){ $sql = "select precio,dolares,cod_precio from precios_libro where codigo=".$especifico." and tiraje=".$tiraje." and tamano_pag='".$tamanio."' and dist_elect=".$distribucion; } else if ($uso==2){ $sql = "select precio,dolares,cod_precio from precios_revista where codigo=".$especifico." and tiraje=".$tiraje." and tamano_pag='".$tamanio."' and dist_elect=".$distribucion; } else if ($uso==3) { $sql = "select precio,dolares,cod_precio from precios_periodico where codigo=".$especifico." and tiraje=".$tiraje." and dist_elect=".$distribucion; } else if ($uso==4) { $sql = "select precio,dolares,cod_precio from precios_movil where codigo=".$especifico." and tiraje=".$tiraje; } else if ($uso==5){ $sql = "select precio,dolares,cod_precio from precios_web where codigo=".$especifico." and uso=".$uso." and alcance=".$alcance; } else if ($uso==6){ $sql = "select precio,dolares,cod_precio from precios_tv where codigo=".$especifico." and tamano=".$tamanio; } include("conexion.php"); //echo $sql; $result = mysql_query($sql); if(!$result) echo "Mysql Error: " . mysql_error(); if($row=mysql_fetch_array($result)){ $precio = $row["precio"]; $dolares = $row["dolares"]; $cod_precio = $row["cod_precio"]; } if ($linea==""){ $_SESSION["carrito"]->introduce_producto($id,$nombre_prod,$cotizado,$rubro,$cod_precio); } else { $_SESSION["carrito"]->cotiza_producto($linea,$cotizado,$uso,$cod_precio,$precio,$dolares); } include("resumen_cotizacion.php"); ?>
Se que este error da cuando la funcion no existe pero ya me asegure que alli esta, que la estoy llamando con el nombre correcto y aun asi no funciona.
Espero me puedan ayudar.
Gracias
Ana.