Obtener variable de una URL de referencia en PHP

  • Autor Autor Franyer Rivas
  • Fecha de inicio Fecha de inicio
Franyer Rivas

Franyer Rivas

1
Pi
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Suscripción a IA
Saludos, no se si es el titulo o pregunta adecuada pero explico mas o menos que es lo que deseo hacer,

quiero a esta url (es un ejemplo)

https://www.google.com/url?sa=t&rct....google.com/&usg=AOvVaw1xDfJh-YduXzT4-Mrql0P3

Añadirle una variable propia por ejemplo tt=abcd

quedaria así:
https://www.google.com/url?sa=t&rct....google.com/&usg=AOvVaw1xDfJh-YduXzT4-Mrql0P3&tt=abcd


estoy intentando usar un if else
PHP:
<?php $myvar = $_GET ['tt'] ;
if ($myvar = "")  
  {   
 echo "no hay variable" ;  
  }else 
 {  
 echo "si hay variable" ;
 } 
?>

Pero no me funciona ...
que otro codigo debo estudiar para poder determinar si la url de referencia tiene o no dicha variable ?
 
Última edición:
Podrías hacer un echo de la variable para ver que valor tiene cuando no se envía/está en blanco.

Sino en php tienes "isset", que quizás podría servirte.
 
Última edición:
Hasta donde sé, con $_GET es como recoges la info.
eso lo que trato y lo que encuentro en google , pero no me esta funcionando xD no se muestra ninguna variable
 
Lo estas haciendo mal, tienes que usar "==" no "=" el igual se usa para asignar un valor, el doble igual para comparar, aparte, no tienes que usar el == , con un isset es suficiente, tienes que hacerlo así

PHP:
<?php
if (!isset($_GET['tt']))  
  {   
 echo "no hay variable" ;  
  }else 
 {  
 echo "si hay variable" ;
 } 
?>
 
Lo estas haciendo mal, tienes que usar "==" no "=" el igual se usa para asignar un valor, el doble igual para comparar, aparte, no tienes que usar el == , con un isset es suficiente, tienes que hacerlo así

PHP:
<?php
if (!isset($_GET['tt']))  
  {   
 echo "no hay variable" ;  
  }else 
 {  
 echo "si hay variable" ;
 } 
?>
gracias, ya lo he modificado, pero me sigue dando valor vacio, creo que ahora el problema es que debo leer la variable o la url de referencia, estuve usando
PHP:
$_SERVER['HTTP_REFERER']
pero solo me devuelve la raiz del dominio osea "hhtps://www.google.com/" alguna forma de leer la url completa ?
 
gracias, ya lo he modificado, pero me sigue dando valor vacio, creo que ahora el problema es que debo leer la variable o la url de referencia, estuve usando
PHP:
$_SERVER['HTTP_REFERER']
pero solo me devuelve la raiz del dominio osea "hhtps://www.google.com/" alguna forma de leer la url completa ?

Si quieres mándame el código que estas usando por Mp y te lo arreglo, ya que en teoría el código que te pase te tiene que funcionar
 
Con el isset es suficiente para evaluar la variable.

Si quieres imprimirla utiliza:

PHP:
echo $_GET['tt'];
 
gracias, ya lo he modificado, pero me sigue dando valor vacio, creo que ahora el problema es que debo leer la variable o la url de referencia, estuve usando
PHP:
$_SERVER['HTTP_REFERER']
pero solo me devuelve la raiz del dominio osea "hhtps://www.google.com/" alguna forma de leer la url completa ?

En teoría como lo estás haciendo debería funcionar imprime la variable haber que te esta dando.
 
En teoría como lo estás haciendo debería funcionar imprime la variable haber que te esta dando.
no me da valor , por lo que estuve investigando hasta el momento es que el http_referer no pasa valores de variables ni nada despues del /
que la unca forma de hacerlo seria con javascript pero aun ando buscando la solucion xD
 
no me da valor , por lo que estuve investigando hasta el momento es que el http_referer no pasa valores de variables ni nada despues del /
que la unca forma de hacerlo seria con javascript pero aun ando buscando la solucion xD

Utiliza $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ó $_SERVER['HTTP_REFERER'].$_SERVER['REQUEST_URI']; según veas no sé si es lo que buscas y si no mediante javascript como mencionas.

- - - Actualizado - - -

También depende de la información que estés utilizando si es una etiqueta es interpretada por el navegador y es mediante javascript
 
Última edición:
PHP:
if (isset($_GET['tt'])) {
     $url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
    echo $url;
}else{
$url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] .'&tt=abcd';
echo $url;
  echo 'No existe la variable';
}
 
Utiliza $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ó $_SERVER['HTTP_REFERER'].$_SERVER['REQUEST_URI']; según veas no sé si es lo que buscas y si no mediante javascript como mencionas.

- - - Actualizado - - -

También depende de la información que estés utilizando si es una etiqueta es interpretada por el navegador y es mediante javascript
probé ambos y me sigue mostrando solo la raiz , supongo que será solo con javascript, seguire investigando, gracias !
 
Debería funcionar, si no funciona simplemente algo esta mal, puede ser la URL.


Basandome en la url ejemplo.com/test.php?algo&tt=abcd


PHP:
<?php
if (isset($_GET['tt'])) {
    $variable1 = $_GET['tt'];
} else {
    $varible1 = false;
}

// alternativa
$variable1 = isset($_GET['tt']) ? $_GET['tt'] : false;


var_dump($variable1);
 
Debería funcionar, si no funciona simplemente algo esta mal, puede ser la URL.


Basandome en la url ejemplo.com/test.php?algo&tt=abcd


PHP:
<?php
if (isset($_GET['tt'])) {
    $variable1 = $_GET['tt'];
} else {
    $varible1 = false;
}

// alternativa
$variable1 = isset($_GET['tt']) ? $_GET['tt'] : false;


var_dump($variable1);
tampoco funciona, al parecer por que es una re-direccion, entonces no se envia la variable , osea la variable la necesito en la url de google pero cuando se ingresa me re-dirige al dominio final, anque me toma como referencia que se entro "mediante google" en ese proceso no se envia la url

la unica forma que se puede hacer es colocando directamente la variable en la url codificada de google, sin embargo si se modifica aparece un aviso de redireccion que no queria
zerlWY0.jpg
 
tampoco funciona, al parecer por que es una re-direccion, entonces no se envia la variable , osea la variable la necesito en la url de google pero cuando se ingresa me re-dirige al dominio final, anque me toma como referencia que se entro "mediante google" en ese proceso no se envia la url

la unica forma que se puede hacer es colocando directamente la variable en la url codificada de google, sin embargo si se modifica aparece un aviso de redireccion que no queria
zerlWY0.jpg
Puedes explicar que quieres hacer exactamente? Tal vez exista una mejor solución.
 
Puedes explicar que quieres hacer exactamente? Tal vez exista una mejor solución.
realmente es un experimiento pero para explicarlo el objetivo seria
un enlace a la url de ejemplo https://www.google.com/url?sa=t&rct....google.com/&usg=AOvVaw1xDfJh-YduXzT4-Mrql0P3
esto es el link de un resultado de busqueda
se le añade una variable &tt=abcdfr
nos quedaria:
https://www.google.com/url?sa=t&rct....google.com/&usg=AOvVaw1xDfJh-YduXzT4-Mrql0P3&tt=abcdfr

En la pagina de destino final se deberia recibir el valor de la variable "tt" para
1. en caso de que exista mostrar un valor
2. en caso de que no exista (osea el usuario ingresa de manera directa o desde otra ulr) no se muestra dicho valor
es un experimiento black hat asi que necesito camuflajear el referer y eso fue lo que se me ocurrio, no obligatoriamente debe ser así pero creo que es la forma de simular un ingreso natural
 
Creo que no te estas explicando que deseas hacer en realidad, el ejemplo de google ha confundido. Creo que todos aquí pensamos que deseabas pasar datos por el método get en tu propio dominio. pero parece que estas tratando de pesarla a una url externa, no es asi?
 
Creo que no te estas explicando que deseas hacer en realidad, el ejemplo de google ha confundido. Creo que todos aquí pensamos que deseabas pasar datos por el método get en tu propio dominio. pero parece que estas tratando de pesarla a una url externa, no es asi?
exacto, por eso en el titulo puse "url de referencia" no desde mi propio dominio, eso si lo se hacer, en mi ultimo comentario explique paso a paso lo que necesito, lo unico que no es igual es la url del resultado de busqueda, ya que ese deberia ser el dominio de destino final que mantengo oculto por privacidad
 
Atrás
Arriba