Foros del Web » Programando para Internet » PHP »

Comparando elementos en documento y URL

Estas en el tema de Comparando elementos en documento y URL en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/02/2018, 16:29
 
Fecha de Ingreso: noviembre-2005
Mensajes: 843
Antigüedad: 12 años, 9 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.
  #2 (permalink)  
Antiguo 09/02/2018, 17:14
 
Fecha de Ingreso: noviembre-2005
Mensajes: 843
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: Comparando elementos en documento y URL

He sustituido la segunda parte por esta otra para obtener la última parte del url.

Código:
$uriSegments = explode("/", parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
$lastUriSegment = array_pop($uriSegments);
echo '<div id ="url-id">'. $lastUriSegment .'</div>';
Lo dicho, ¿es posible prescindir de los divs para la comparación de los dos elementos?

Gracias.
  #3 (permalink)  
Antiguo 10/02/2018, 04:10
 
Fecha de Ingreso: noviembre-2015
Mensajes: 230
Antigüedad: 2 años, 9 meses
Puntos: 85
Respuesta: Comparando elementos en documento y URL

Puedes hacer la comparación en php y mostrar la alerta que corresponda

Etiquetas: elementos, url
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 02:32.