Es válido, pero incorrecto.
Antes de usar una variable deberías comprobar su existencia, sobre todo cuando sabes que en ocasiones no está presente.
La solución correcta sería mas o menos así:
Código PHP:
if (isset($_GET['variable'])) {
$variable = $_GET['variable'];
} else {
$variable = 'valor por defecto';
}
// acá todo el código
De forma abreviada:
Código PHP:
$variable = isset($_GET['variable']) ? $_GET['variable'] : 'valor por defecto';
// acá todo el código
De igual forma, lo correcto sería, si no puedes usar una valor predeterminado condicionar todo el script en base a la existencia de la variable.
Ejemplo:
Código PHP:
if (isset($_GET['variable'])) {
$variable = $_GET['variable'];
// acá todo el código
}
¿Se entiende?