usuario2389087
Tengo una URL a la que paso parámetros
ejemplo/éxito.php?id=enlace1
Yo uso php para agarrarlo
$slide = ($_GET["id"]);
luego una declaración if para mostrar el contenido basado en el parámetro
<?php if($slide == 'link1') { ?>
//content
} ?>
Solo necesito saber en PHP cómo decir, si el parámetro de URL existe, tómalo y haz la función if, si no existe, no hagas nada.
Gracias chicos
Usar Está establecido()
$matchFound = (isset($_GET["id"]) && trim($_GET["id"]) == 'link1');
$slide = $matchFound ? trim($_GET["id"]) : '';
EDITAR: Esto se agrega por el bien de la integridad. $_GET en php es un variable reservada eso es una matriz asociativa. Por lo tanto, también podría hacer uso de ‘array_key_exists(mixed $key, array $array)’. Devolverá un valor booleano de que la clave se encuentra o no. Entonces, lo siguiente también estará bien.
$matchFound = (array_key_exists("id", $_GET)) && trim($_GET["id"]) == 'link1');
$slide = $matchFound ? trim($_GET["id"]) : '';
if(isset($_GET['id']))
{
// Do something
}
quieres algo asi
Aquí está el código PHP para verificar si el parámetro ‘id’ existe en la URL o no:
if(isset($_GET['id']))
{
$slide = $_GET['id'] // Getting parameter value inside PHP variable
}
Espero que te ayude.
-
Esto estuvo bastante bien cubierto años antes de que se publicara esta respuesta.
– miken32
16 de noviembre de 2019 a las 22:01
No está muy claro de qué función está hablando y si necesita 2 sucursales separadas o una. Suponiendo uno:
Cambia tu primera línea a
$slide="";
if (isset($_GET["id"]))
{
$slide = $_GET["id"];
}
Sé que esta es una vieja pregunta, pero desde php7.0 puedes usar el operador coalescente nulo (otro recurso).
Es similar al operador ternario, pero se comportará como isset en el operando de la izquierda en lugar de usar simplemente su valor booleano.
$slide = $_GET["id"] ?? 'fallback';
Así que si $_GET["id"]
está establecido, devuelve el valor. Si no, devuelve el respaldo. Encontré esto muy útil para $_POST, $_GET o cualquier parámetro pasado, etc.
$slide = $_GET["id"] ?? '';
if (trim($slide) == 'link1') ...
jimshot
¿Por qué no simplemente simplificarlo a if ($_GET?[‘id’]). Devolverá verdadero o falso según el estado de existencia del parámetro.
se llama isset().
if (isset($_GET['...'])) { $slide = $_GET['...']; if ($slide == 'link1): ?> content <?php endif; ?>
– Royal Bg
16 de agosto de 2013 a las 10:29