Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema clases smarty con xajax

Estas en el tema de Problema clases smarty con xajax en el foro de Frameworks JS en Foros del Web. Muy buenos dias Ultimamente e estado trabajando con un poco de xajax; el smarty hace mucho que lo vengo utilizando, pero hay un problema q ...
  #1 (permalink)  
Antiguo 01/07/2010, 11:09
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Problema clases smarty con xajax

Muy buenos dias

Ultimamente e estado trabajando con un poco de xajax; el smarty hace mucho que lo vengo utilizando, pero hay un problema q no e podido resolver desde hace rato.

Estoy haciendo una pagina para registrar comentarios con xajax.
Voy a dejar unicamente los archivos q me estan causando problema:

ajax.php (donde guardo las funciones que utilizara el xajax)

Código PHP:
<?php

require('include.php');
include_once (
ABSPATH "varios/gestor.php");

function 
procesarform($Descripcion$Calificacion)
{    
   
//$myGestorBD = new gestor();    
   //$myGestorBD->conectar();
   //$myGestorBD->AgregarComentario($Descripcion,$Calificacion);
   
$salida "Insertado correctamente";
   
//$myGestorBD->cerrarConexion();

   
$respuesta = new xajaxResponse();
   
$respuesta->assign("mensaje","innerHTML",$salida);
   return 
$respuesta;
}

function 
suma($a$b)

{

    
$response = new xajaxResponse();

    
$response->assign("resultado","innerHTML"$a $b);

    return 
$response;

}


?>
registro.tpl (un template que voy a utilizar)

Código PHP:
<div class="tcat_bg">
 <
div class="tcat_right">
  <
div class="tcat_left">
Ingrese un nuevo Comentario
  
</div>
 </
div>
</
div>
<
table cellspacing="10" cellpadding="0" class="tborder" align="center" border="0"><tr>

    <
td align="left" valign="middle"><form action="#" method="post">
    <
table border="0"><tr align="left">
    <
td><span class="presentacion"><b>Importante:</bEste recuadro permite al usuario ingresar un nuevo comentario que mas tarde ser&aacuteagregada a la base de datosrecuerda que los campos marcados con son obligatorios.<br /><br /></span></td></tr>
    <
tr align="left"><td><span class="presentacion"><b>*Descripcion:</b></span> <input name="descripcion" type="text"></td></tr>
    <
tr align="left"><td><span class="presentacion"><b>*Calificacion:</b></span> <input name="calificacion" type="text"></td></tr>
<
tr><td colspan="2"><input type="button" value="Enviar" onclick="xajax_procesarform(document.getElementById('descripcion'),document.getElementById('calificacion'))"><br /><br_/><p id="mensaje"></p></td></tr>
    </
table>
    </
form>
</
td><td class="general" align="right" valign="top"><img src="images/hp.jpg" />
<
form action="#" method="post">
        <
input type="text" name="val1" id="val1">
        <
input type="text" name="val2" id="val2">
        <
input type="button" onClick="xajax_suma(document.getElementById('val1').value,document.getElementById('val2').value)" id="btnAdd" value="Click Me" />

        <
p id="resultado"></p>
    </
form></td>
    </
tr></table>
    <
div class="tfoot_bg">
<
div class="tfoot_r">
<
div class="tfoot_l">
&
nbsp;
</
div>
</
div>
</
div>
<
br />
<
br /> 

¿Cual es el problema?

El problema esta en que ya e verificado todo, y las funciones me corren perfectamente, la funcion suma me muestra el resultado inmediatamente abajo y la funcion procesarform tambien me muestra abajo el letro Insertado correctamente, cuando en ambos doy clic en enviar.

Hasta ahi todo va bien, pero cuando quito los // a lo que tengo dentro de la funcion procesarform osea estas 4 lineas:

//$myGestorBD = new gestor();
//$myGestorBD->conectar();
//$myGestorBD->AgregarComentario($Descripcion,$Calificacion);
//$myGestorBD->cerrarConexion();

Ya no me funciona la funcion procesarform y no muestra ningun resultado.
Vale la pena aclarar que siempre me a funcionado bien las 4 lineas anteriores colocandolas en cualquier parte excepto dentro de esa funcion procesarform

Mi pregunta es? sera que no puedo utilizar otras clases php dentro de las funciones de xajax?

Esta es una imagen de mi formulario:



Esto es lo q tengo en gestor.php
Código PHP:
class gestor{
     var 
$servidor "localhost";
    var 
$user "xajax";
    var 
$pass "*****";
    var 
$db "xajax";
    var 
$cn;
    
    
    function 
gestor(){        
    }
    
/**Obtiene una conexion a la BD. Notar que se utiliza pconnect para que el 
    servidor Apache utilice un pool de conexiones*/
    
function conectar(){
        
$this->cn mysql_pconnect($this->servidor$this->user$this->pass );
        if ( !
$this->cn )
            die(
"Fallo en la conexion a la base de datos: ".mysql_error());
        if(!
mysql_select_db($this->db))
            die ( 
"No fue posible comunicarse con la base de datos $db: ".mysql_error());
        
//return $cn;
    
}

//funcion que permite agregar un nuevo comentario a la base de datos
    
public function AgregarComentario($Descripcion,$Calificacion
    {
        
$Descripcionmysql_real_escape_string($Descripcion);
        
$Calificacionmysql_real_escape_string($Calificacion);
         
$consulta "INSERT INTO comentario (descripcion, calificacion) values ('$Descripcion', '$Calificacion')";
        
$this->realizarOperacion($consulta);
    }

/**Realiza la operacion indicada dentro del argumento code*/
    
function realizarOperacion($codigo){
        
        
$resultado mysql_query($codigo$this->cn) ;
            
    }

/**Realiza una consulta sobre la BD*/
    
function consultar($codigo){        
        
//vector donde se almacenaran los resultados de la consulta; cada elemento sera un registro
        
$datos = array(); 
        
$resultado mysql_query($codigo$this->cn) or die(mysql_error($this->cn));
        while ( 
$row mysql_fetch_object($resultado) ){
            
array_push($datos$row);
        }
        return 
$datos;
    }
    
    
/**Cierra la conexion a la BD*/
    
function cerrarConexion(){
        if(
$this->cn)
            
mysql_close$this->cn );
    } 
Mil gracias =)

Última edición por danielgara; 01/07/2010 a las 11:26 Razón: Agregue imagen de mi formulario
  #2 (permalink)  
Antiguo 21/09/2010, 00:17
 
Fecha de Ingreso: mayo-2007
Mensajes: 10
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Problema clases smarty con xajax

Hola disculpa si lo he leido mal, pero estoy de pasada , prueba intentando no usar la funcion mysql_real_escape_string de php pasalo sin esa funcion las varialbes asi sepas q asi no deberia de ir, hoy toda la tarde me llamaron por un aplicativo q hice hace un par de años que siempre funcionaba bien y me tenia loco el no saber q cosanueva a cambiado algo en el nueva version del php no lo se, porque esa funcion sigue activa pero proueb y pruebe desde temprano comente la parte esa ya como jugando y funciona me procesa haber me avisas saludos y disculpa x responder asi mas bien te estoy liando mas creo saludos

Etiquetas: function, smarty, xajax
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 09:51.