Paso de argumentos [Problema]
Publicado por JAI-MAN (2 intervenciones) el 13/01/2009 20:37:15
Hola a todos quienes me lean xD
Tengo una colsulta. Necesito hacer un filtro de páginas y acciones (Agregar, Eliminar, Editar) según el usuario que se ha ingresado a la página.
He creado tres funciones dentro de una clase (Control_Class.php) las que deberían encargarse de devolver al final del proceso si el usuario tienen o no el accesos a aquello que se le pregunte...
Mi problema es el siguiente:
Cuando hago la prueba para ver si mi invento ( xD ) funciona, a pesar que me contesta como debiese, me arroja unos Warnings. Pero no logro entender por qué los arroja.
Si alguien puede decirme a qué deben se los agradecería mucho :) y, si es muy complejo, indicarme qué hacer para solucionarlo.
Adjunto los detalle que creo necesitan para poder responderme
De antemano, les agradezco el que le dediquen un poco de su tiempo para ayudarme.
Este es el código de las funciones que cree:_______________________________________________________
<?php
class Control{
private $SQL;
private $query;
private $ke;
private $donde;
private $condicion;
static private $ctrl = NULL;
function Control(){
$this->SQL = MySQL::getInstancia();
session_start();
}
public function opControl($idRUT,$pag,$accion){
$ke = "GRP.ID_USERSGROUP,GRP.NOMBREGRUPO";
$donde = "adm_usersgroup GRP,adm_roles R";
$cond = "GRP.ID_USERSGROUP=R.ID_USERSGROUP AND R.ID_RUT=".$idRUT."'";
$Q = $this->SQL->select($ke,$donde,$cond);
/*Linea 73*/ if(strcmp($this->findPages($Q,$pag,$accion))==0){ return 'true'; }
return 'false';
}
public function findPages($GRP,$pag,$accion){
/*Linea 77*/ if($row = mysql_fetch_row($GRP)){
$ke = "O.ID_PROCESO,A.ACTIVO";
$donde = "adm_opsis O, adm_access A, adm_usersgroup GRP";
$cond = "O.ID_PROCESO=A.ID_PROCESO AND GRP.ID_USERSGROUP=A.ID_USERSGROUP AND GRP.ID_USERSGROUP=".$GRP[0]." AND O.NOMBREPROCESO='".$pag."'";
if(strcmp($pag,$accion)==0){
if($row = mysql_fetch_row($query)){ return 'true'; }
}
else if(strcmp($this->findAccion($GRP,$this->SQL->select($ke,$donde,$cond),$accion))==0){ return 'true'; }
}
return 'false';
}
public function findAccion($GRP,$idPag,$accion){
if($row = mysql_fetch_row($idPag)){
$ke = "A.ACTIVO";
$donde = "adm_opsis O, adm_access A, adm_usersgroup GRP";
$cond = "O.ID_PROCESO=A.ID_PROCESO AND GRP.ID_USERSGROUP='".$GRP[0]."' AND O.REFIDPROCESO='".$idPag[0]."' AND O.NOMBREPROCESO='".$accion."'";
$group = "O.ID_PROCESO";
$query = $this->SQL->select($ke,$donde,$cond);
if($row = mysql_fetch_row($query)){ return 'true'; }
}
return 'false';
}
}
?>
_______________________________________________________________________________________
Desde fuera las llamo así:__________________________________
<?php
include("ClassControl_Class.php");
include("ClassMySQL_Class.php");
$sql = MySQL::getInstancia();
$verif = Control::getInstancia();
session_start();
if(strcmp($verif->opControl($_SESSION['usuario'],'Usuarios','Agregar'),'true')==0){
echo("El Usuario puede agregar a otros usuarios");
}
?>
______________________________________________________
Esto es lo que desde la web me responden:___________________________________
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in D:[...]PHPClassControl_Class.php on line 77
Warning: Wrong parameter count for strcmp() in D:[...]PHPClassControl_Class.php on line 73
El Usuario puede agregar a otros usuarios
______________________________________________________________________
Según entendí me reclama, creo, por la variable que contiene la consulta que mandé a pedir al pasarla por parámetro... ¿Es este tipo de variables ($Q) una especie de array o son matrices?
Tengo una colsulta. Necesito hacer un filtro de páginas y acciones (Agregar, Eliminar, Editar) según el usuario que se ha ingresado a la página.
He creado tres funciones dentro de una clase (Control_Class.php) las que deberían encargarse de devolver al final del proceso si el usuario tienen o no el accesos a aquello que se le pregunte...
Mi problema es el siguiente:
Cuando hago la prueba para ver si mi invento ( xD ) funciona, a pesar que me contesta como debiese, me arroja unos Warnings. Pero no logro entender por qué los arroja.
Si alguien puede decirme a qué deben se los agradecería mucho :) y, si es muy complejo, indicarme qué hacer para solucionarlo.
Adjunto los detalle que creo necesitan para poder responderme
De antemano, les agradezco el que le dediquen un poco de su tiempo para ayudarme.
Este es el código de las funciones que cree:_______________________________________________________
<?php
class Control{
private $SQL;
private $query;
private $ke;
private $donde;
private $condicion;
static private $ctrl = NULL;
function Control(){
$this->SQL = MySQL::getInstancia();
session_start();
}
public function opControl($idRUT,$pag,$accion){
$ke = "GRP.ID_USERSGROUP,GRP.NOMBREGRUPO";
$donde = "adm_usersgroup GRP,adm_roles R";
$cond = "GRP.ID_USERSGROUP=R.ID_USERSGROUP AND R.ID_RUT=".$idRUT."'";
$Q = $this->SQL->select($ke,$donde,$cond);
/*Linea 73*/ if(strcmp($this->findPages($Q,$pag,$accion))==0){ return 'true'; }
return 'false';
}
public function findPages($GRP,$pag,$accion){
/*Linea 77*/ if($row = mysql_fetch_row($GRP)){
$ke = "O.ID_PROCESO,A.ACTIVO";
$donde = "adm_opsis O, adm_access A, adm_usersgroup GRP";
$cond = "O.ID_PROCESO=A.ID_PROCESO AND GRP.ID_USERSGROUP=A.ID_USERSGROUP AND GRP.ID_USERSGROUP=".$GRP[0]." AND O.NOMBREPROCESO='".$pag."'";
if(strcmp($pag,$accion)==0){
if($row = mysql_fetch_row($query)){ return 'true'; }
}
else if(strcmp($this->findAccion($GRP,$this->SQL->select($ke,$donde,$cond),$accion))==0){ return 'true'; }
}
return 'false';
}
public function findAccion($GRP,$idPag,$accion){
if($row = mysql_fetch_row($idPag)){
$ke = "A.ACTIVO";
$donde = "adm_opsis O, adm_access A, adm_usersgroup GRP";
$cond = "O.ID_PROCESO=A.ID_PROCESO AND GRP.ID_USERSGROUP='".$GRP[0]."' AND O.REFIDPROCESO='".$idPag[0]."' AND O.NOMBREPROCESO='".$accion."'";
$group = "O.ID_PROCESO";
$query = $this->SQL->select($ke,$donde,$cond);
if($row = mysql_fetch_row($query)){ return 'true'; }
}
return 'false';
}
}
?>
_______________________________________________________________________________________
Desde fuera las llamo así:__________________________________
<?php
include("ClassControl_Class.php");
include("ClassMySQL_Class.php");
$sql = MySQL::getInstancia();
$verif = Control::getInstancia();
session_start();
if(strcmp($verif->opControl($_SESSION['usuario'],'Usuarios','Agregar'),'true')==0){
echo("El Usuario puede agregar a otros usuarios");
}
?>
______________________________________________________
Esto es lo que desde la web me responden:___________________________________
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in D:[...]PHPClassControl_Class.php on line 77
Warning: Wrong parameter count for strcmp() in D:[...]PHPClassControl_Class.php on line 73
El Usuario puede agregar a otros usuarios
______________________________________________________________________
Según entendí me reclama, creo, por la variable que contiene la consulta que mandé a pedir al pasarla por parámetro... ¿Es este tipo de variables ($Q) una especie de array o son matrices?
Valora esta pregunta


0