Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/03/2007, 08:05
AldeaCMS
 
Fecha de Ingreso: mayo-2006
Mensajes: 17
Antigüedad: 18 años
Puntos: 0
Re: php5, objetos, ajax y pear... base de datos..

Gracias por tu respuesta, tienes razon con respecto a $usuario->$db... me conundi al escribirlo, pero en mi desarrollo lo escribi bien (el eclipse muestra todos los errores jaja)

Explico mas claro todo:

Como funciona XAJAX? debes crear funciones, luego registrar dichas funciones en xajax y luego cargarlas con los "onclick" en los formularios...

Yo hice una conexion con pear, y la guardo en $db.

Cita:
function Conectarse()
{

$DB_host = "xxx";
$DB_user = "xxx";
$DB_pass = "xxx";
$DB_dbName = "xxx";
$DB_dbType = "pgsql";

$conexion =$DB_dbType . "://"
. $DB_user . ":"
. $DB_pass . "@"
. $DB_host . "/"
. $DB_dbName;


$db = DB::connect($conexion, TRUE);

if (DB::isError($db))
{

die($db->getMessage());
}


return($db);
}
mi funcion para xajax sirve para verificar el usuario y la contraseña en la base de datos...

Cita:
function ingreso($aFormValues)
{
$objResponse = new xajaxResponse();
$rut = $aFormValues['rut'];
$password = $aFormValues['password'];
$usuario=$_SESSION["usuario"]; // <- ahi intente ver si logro obtener la conexion desde la session
$db=$usuario->db; // y luego guardarla en $db ...

// ese fue uno de mis tantos intentos por obtener el $db dentro de la funcion


$objResponse->addAlert("Formulario: $rut - $password ");
$objResponse->addAlert("db: $usuario->db ");
ese objeto response solo me miestra lo primero:
Formulario : rut - password .. .por lo que funciona bien
lo segundo no me aparece ... db:


intente enviarndo el $db como parametro.. pero en ese caso simplemente no funcionaba el "objresponse" ... no me devolvia nada.. no hacia nada..

intente enviando un objeto $usuario... que contuviera el $db..
como lo comente en el mensaje anterior $usuario->db

finamente intente eso de la session... guardando en session el objeto usuario...
y nada


el formulario es:

Cita:
<form method="post" id="form_login" name="form_login" onsubmit="return false;">
<input class="inputTextLog" name="rut" type="text" id="nombre" maxlength="8">
<input class="inputTextLog" name="password" type="password" id="password" maxlength="10">
<input class="boton" name="Submit" type="submit" value="Entrar" onclick="xajax_ingreso(xajax.getFormValues('form_l ogin'));">
</form>
por cierto, en la pagina del formulario fui probando si mis ocurrencias funcionaban y efectivamente, cada una de mis pruebas resultaba bien:

Cita:


echo '<br/>db: '.$db; // el db original
echo '<br/>Usuario->db: '.$usuario->db; // el db guardado en el objeto usuario
echo '<br/>db2: '.$db2; //guarde en db2 $usuario->db (para ver si dentro de la funcion resultaria asi
echo '<br/>Session_usuario db: '.$_SESSION["usuario"]->db; // finalmente muestro la session que es copia del objeto usuario
todo eso funciona.. y en cada uno de ellos la conexion esta activa:
Cita:
usuario-> db:
db_pgsql: (phptype=pgsql, dbsyntax=pgsql) [connected]

db:
db_pgsql: (phptype=pgsql, dbsyntax=pgsql) [connected]

db2:
db_pgsql: (phptype=pgsql, dbsyntax=pgsql) [connected]

Session_usuario db:
db_pgsql: (phptype=pgsql, dbsyntax=pgsql) [connected]

no se de que manera puedo enviarle la conexion a la funcion, para no tener que conectarme en cada funcion

alguien podria ayudarme o corregir algun error?

gracias
Daniel