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.
