with - GET parámetro de URL en PHP
redirect html (8)
Intento pasar una URL como parámetro url en php, pero cuando trato de obtener este parámetro, no obtengo nada
Estoy usando la siguiente forma de url:
http://localhost/dispatch.php?link=www.google.com
Estoy tratando de pasarlo:
$_GET[''link''];
Pero nada regresó. ¿Cuál es el problema?
La respuesta aceptada es buena. Pero si tienes un escenario como este:
http://www.mydomain.me/index.php?state=California.php#Berkeley
Puede tratar el ancla nombrada como una cadena de consulta como esta:
http://www.mydomain.me/index.php?state=California.php&city=Berkeley
Entonces, acceda de esta manera:
$Url = $_GET[''state'']."#".$_GET[''city''];
No obtuve nada por $_GET["..."]
(por ejemplo, print_r($_GET)
dio una matriz vacía) pero $_SERVER[''REQUEST_URI'']
mostró que las cosas deberían estar allí. Al final resultó que solo estaba llegando a la página web porque mi .htaccess estaba redireccionando allí (mi controlador 404 era el mismo archivo .php, y había hecho un error en el navegador cuando lo probaba).
¡Simplemente cambiar el nombre significaba que el mismo código php funcionaba una vez que la redirección 404 no estaba funcionando!
Entonces, hay maneras en que $_GET
puede devolver nada aunque el código php sea correcto.
Para asegurarse de estar siempre en el lado seguro, sin obtener todo tipo de inserción de código no deseado use FILTROS:
echo filter_input(INPUT_GET,"link",FILTER_SANITIZE_STRING);
Más información sobre php.net function filter_input , o consulta la descripción de los diferentes filtros
Por favor publique su código,
<?php
echo $_GET[''link''];
?>
o
<?php
echo $_REQUEST[''link''];
?>
trabaja ...
Quien no recibe nada, creo que solo tiene que adjuntar el resultado en etiquetas html,
Me gusta esto:
<html>
<head></head>
<body>
<?php
echo $_GET[''link''];
?>
<body>
</html>
Utilizar esta. He realizado esto en dispatch.php.
$parameter = $_SERVER[''QUERY_STRING''];
echo $parameter;
or Just use
echo $_GET[''link''];
$_GET
no es una construcción de función o lenguaje, es solo una variable (una matriz). Tratar:
<?php
echo $_GET[''link''];
En particular, es un superglobal : una variable incorporada que está poblada por PHP y está disponible en todos los ámbitos (puede usarlo desde dentro de una función sin la palabra clave global ).
Dado que la variable podría no existir, usted podría (y debería) asegurarse de que su código no active avisos con:
<?php
if (isset($_GET[''link''])) {
echo $_GET[''link''];
} else {
// Fallback behaviour goes here
}
Alternativamente, si desea omitir las comprobaciones manuales del índice y quizás agregar más validaciones, puede usar la extensión del filter :
<?php
echo filter_input(INPUT_GET, ''link'', FILTER_SANITIZE_URL);
$Query_String = explode("&", explode("?", $_SERVER[''REQUEST_URI''])[1] );
var_dump($Query_String)
Array ([0] => link = www.google.com)