Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/02/2018, 17:29
JUMASOL
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Comparando elementos en documento y URL

Hola.

He ido completando este script que incluye php y javascript para insertar un elemento en caso de identidad entre el elemento $userId (número de usuario en el sitio) y url-id (último fragmento de la url en su caso).

La primera parte identifica el número de usuario y lo inserta en un div con id=user-id.

La segunda extrae la última parte de la url y la inserta en otro div con id="url-id "

Luego javascript se encarga de comparar ambas y en caso de igualdad alerta con "iguales" (luego lo sustituiré con otra cosa).

Código:
<?php
$user =& JFactory::getUser();
$userId = $user->get( 'id' );
echo '<div id ="user-id">'. $userId .'</div>';

$url = (!empty($_SERVER['HTTPS'])) ? 
"https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : 
"http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$parts = parse_url($url);
$path_parts= explode('/', $parts[path]);
$user = $path_parts[4];
echo '<div id ="url-id">'. $user .'</div>';

echo '<script>var a = document.getElementById("user-id");var b = document.getElementById("url-id");var tc_a = a ? a.textContent || a.innerText : NaN;var tc_b = b ? b.textContent || b.innerText : NaN;if( tc_a === tc_b ) alert( "iguales" );</script>';
?>
Esto funciona bien, pero se me antojan dos mejoras si fuesen posibles y me gustaría preguntar a gente que puedan saber más que yo.

Primero, si hay alguna forma de evitar el uso de esos dos divs porque se trata de dos elementos que voy a tener que ocultar después en el código.

Segundo, no me gusta demasiado la solución de seleccionar la cuarta parte del url. Lo cierto suele ser la cuarta en este caso, pero podría no serlo en algunas situaciones y no funcionaría. He intentado obtener la última parte del url sea cual sea la profundidad de la misma pero no lo he conseguido.

En fin, me gustaría oír opiniones y sugerencias.

Gracias.