Hola,
El problema con la primera URL solucionado... o eso creo, de momento. Se trataba de cierta función utilizada para propagar variables "GET". Precisamente, esta función no la escribí yo de mi copete, sino que más bien la adapté de cierto código, como puede verse:
Código PHP:
/**
* Propaga las variables contenidas en $_GET en la URL de la página que
* llame a esta función. Utilizamos esta función básicamente para la pa-
* ginación de enlaces.
*
* El algoritmo principal de esta función está tomado del Script Paginator
* escrito por Jorge Pinedo Rosas (http://jpinedo.webcindario.com)
*
* @author dec
* @since 0.0.1
* @access private
* @param string $menosEstaVar Nombre de la variable que no debe propagarse
* @return string
*/
function PropagarVariblesGet($menosEstaVar = '')
{
$qs = '';
if(($menosEstaVar != '')
&& isset($_GET[$menosEstaVar]))
unset($_GET[$menosEstaVar]);
$aPropagar = array_keys($_GET);
foreach($aPropagar as $varGet)
{
if(isset($GLOBALS[$varGet])) {
$qs.= $varGet."=".$GLOBALS[$varGet]."&";
}
elseif(isset($_REQUEST[$varGet])) {
$qs.= $varGet."=".$_REQUEST[$varGet]."&";
}
} // endfor
return $qs;
}
Pues bien. Escapando las variables que nos llegan conseguimos salvar el obstáculo puesto por la primera URL. Es decir, la función ha quedado así de momento:
Código PHP:
function PropagarVariblesGet($menosEstaVar = '')
{
global $bdatos; // Nuevo
$qs = '';
if(($menosEstaVar != '')
&& isset($_GET[$menosEstaVar]))
unset($_GET[$menosEstaVar]);
$aPropagar = array_keys($_GET);
foreach($aPropagar as $varGet)
{
$varGet = $bdatos->Escapar($varGet); // Nuevo
if(isset($GLOBALS[$varGet])) {
$qs.= $varGet."=".$GLOBALS[$varGet]."&";
}
elseif(isset($_REQUEST[$varGet])) {
$qs.= $varGet."=".$_REQUEST[$varGet]."&";
}
} // endfor
return $qs;
}
Aún estoy con la segunda de las URLs... ¿qué os parece de todo esto? ¿Curioso cuando menos no?
Por cierto, el método "Escapar" de la clase "Bdatos" y es tal cual:
Código PHP:
/**
* Escapa una cadena para su inserción en la base de datos.
*
* Atención: este método no asegura la entrada del usuario, que es algo
* que deberá hacer en todo caso por otros medios.
*
* @author dec
* @since 0.0.1
* @version 1.0
* @param string $cadena Cadena a escapar.
* @return string
*/
function Escapar($cadena) {
return mysql_real_escape_string(stripslashes
(strip_tags($cadena)), $this->enlaceConexionBd);
}
/* function */