OBTENER el parámetro de dirección URL en PHP

Estoy tratando de pasar una URL como parámetro de url en php, pero cuando trato de obtener este parámetro me sale nada

Estoy utilizando la dirección url siguiente forma:

http://localhost/dispatch.php?link=www.google.com

Estoy tratando de conseguir a través de:

$_GET['link'];

Pero nada volvió. ¿Cuál es el problema?

  • Mostrar el código
  • hacer var_dump de la $_GET param, que debería estar allí
  • ¿$_REQUEST['link'] trabajo? También tenga en cuenta la clave de índice link es sensible a mayúsculas para lo que hay en la url.
  • Usted no está realmente tratando de un $_GET pero pasando a ser la publicación estás?
  • Y cuál fue la solución de esto? Teniendo el mismo problema
  • Normalmente esto funciona muy bien en la situación que usted describe. No podemos resolver su problema sin más información.
  • ¿qué sucede si usted llama a PONER con ‘url’/?id=5’ y quiere conseguir que la identificación fuera? ¿Cómo puede usted, probablemente no con $_GET desde la llamada PUT (puedo enviar algunos datos también)

InformationsquelleAutor Feras Odeh | 2011-05-04

8 Kommentare

  1. 258

    $_GET no es una función o construcción del lenguaje—es sólo una variable (una matriz). Probar:

    <?php
    echo $_GET['link'];

    En particular, es un superglobal: una variable integrada rellenado por PHP y está disponible en todos los ámbitos (se puede utilizar desde dentro de una función sin la global palabra clave).

    Ya que la variable no existe, se podría (y debería) asegurarse de que su código no desencadenar avisos:

    <?php
    if (isset($_GET['link'])) {
        echo $_GET['link'];
    } else {
        //Fallback behaviour goes here
    }

    Alternativamente, si desea omitir el índice del manual de cheques y tal vez agregar más validaciones puede utilizar el filtro extensión:

    <?php
    echo filter_input(INPUT_GET, 'link', FILTER_SANITIZE_URL);
    • Si usted no tiene nada que hacer con esto, como yo, que usted debe saber, que ‘link’ es un nombre de variable en la dirección URL! Así que con $_GET[‘link’]; usted necesita para entrar en la URL como esta: localhost/?link=prueba
    • Estoy usando WAMP en localhost y esta solución no funciona. http://localhost/station?type=2 echo $_GET['type']; es null
    • Finalmente he utilizado parse_str(parse_url($actual_link)['query'], $params);. Más información de stackoverflow.com/a/11480852/4458531
    • Usted dice «$_GET no es una función o construcción del lenguaje—es sólo una variable (una matriz),» pero no tenemos acceso de valores a través del índice, en lugar de que usted está accediendo a los valores a través de la cadena. Esto es más de un diccionario de una matriz?
    • Estoy hablando en el contexto de PHP estructuras de datos. En PHP, un array es una lista ordenada de clave/valor de combinaciones. Que difiere de lo que otros idiomas (por ejemplo, C o JavaScript) llamada «matriz».
    • impresionante. Gracias por aclarar.

  2. 26

    Por favor enviar su código,

    <?php
        echo $_GET['link'];
    ?>

    o

    <?php
        echo $_REQUEST['link'];
    ?>

    hacer trabajo…

  3. 9

    Aceptado la respuesta es buena. Pero si usted tiene un escenario como este:

    http://www.mydomain.me/index.php?state=California.php#Berkeley

    Usted puede tratar el anclaje con nombre como una cadena de consulta como esta:

    http://www.mydomain.me/index.php?state=California.php&city=Berkeley

    A continuación, acceder a ella como esta:

    $Url = $_GET['state']."#".$_GET['city'];
  4. 2

    Estaba recibiendo nada por cualquier $_GET["..."] (e.g print_r($_GET) dio un array vacío) sin embargo, $_SERVER['REQUEST_URI'] mostró cosas debería estar allí. Al final resultó que yo era sólo llegar a la página web porque mi .htaccess fue redirigirla allí (mi 404 controlador de la misma .archivo php, y de que había cometido un error tipográfico en el navegador cuando se prueba).

    Simplemente cambiando el nombre significa el mismo código php trabajado una vez que el 404 redirección no estaba pateando!

    Así hay maneras $_GET puede devolver nada, incluso a pesar de que el código php puede ser correcto.

  5. 0

    Quien consigue nada, creo que solo tiene que adjuntar el resultado en las etiquetas de html,

    Como este:

    <html>
    <head></head>
    <body>
    <?php
    echo $_GET['link'];
    ?>
    <body>
    </html>
    • No, las etiquetas html no son necesarios. Texto sin formato es representado por todo de los navegadores.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea