pasar variable entre páginas

¿Es una buena manera de pasar variables entre páginas usando el método $ _GET con url:

<a href="https://stackoverflow.com/questions/8127988/passing-variable-between-pages/input_obj.php?id='$id'&method=plain 

y tómelo en el archivo input_obj.php con dicho código:

 $id = $_GET['id']; $method = $_GET['method']; 

O

usando la sesión – alguien tiene idea de cómo?

Depende de sus necesidades, en realidad, si pasa argumentos de búsqueda entre páginas, por ejemplo, y las variables deben ser persistentes y estar disponibles para el usuario final (a través de marcadores, por ejemplo), luego páselos en la URL (pero por lo general, no use comillas como si tuviera $id en "input_obj.php?id='$id'&method=plain )

Si realmente está pasando variables internas entre scripts, esto se hace mejor a través $_SESSION variables $_SESSION . Recuerde que los usuarios finales pueden modificar fácilmente las variables pasadas a través de las URL. A menos que sean para uso del usuario final, eso puede ser un problema real. Al usar $_SESSION , aísla las variables de su script de la manipulación por parte del usuario final cuando es necesario aislarlas. (a menos que, por supuesto, las variables sean producidas por otra entrada del usuario a través de GET / POST / COOKIE)

 //page1.php session_start(); $_SESSION['id'] = $id; //page2.php session_start(); echo $_SESSION['id']; 

Las variables GET son una forma mucho mejor de ir. Cuando comienzas a soltar variables en la sesión, puede tener efectos secundarios, como copiar / pegar una URL del navegador al navegador o intentar marcar como favoritos, puede mostrar diferentes páginas (lo que en consecuencia es una pesadilla para el SEO). Además, puede haber complicaciones si alguna vez comienzas a agrupar tus servidores b / c, tendrás que lidiar con la conmutación por error de la sesión.

En mi humilde opinión, la mejor solución es usar mod_rewrite para implementar variables basadas en ruta … obtienes URLs bonitas con todos los beneficios de GET vars.

GET es una forma razonable de pasar variables a otra página.

$_SESSION y cookies es otra manera, pero no permitirá que un usuario marque una página.

POST es otra forma, pero requiere el envío de formularios que necesitaría la intervención del usuario o javascript.

Depende de para qué son los datos, su tipo y su longitud. Usualmente, pasar variables en la cadena de consulta está bien.

Tenga en cuenta que cuando acepta parámetros mutables, necesita verificar que sean lo que espera que sean. Por ejemplo, podría cambiar ?id=5 a ?id=hello y posiblemente romper su aplicación. Para remediar esto, podríamos convertir el ID en un número entero:
$id = isset($_GET['id']) ? (int) $_GET['id'] : 0;

También puedes usar cookies. Estos se envían así:

 setcookie(name, value, expire, path, domain); 

puede omitir la ruta y las variables de dominio. Esto debe declararse antes de la etiqueta. El nombre es solo el nombre con el que lo obtendrás. El valor es lo que se devolverá y caducará es el momento en el que caduca la cookie (se escribe en la forma de time() + $timeTillExpire donde timetillexpire es un valor variable o constante que se establece). Esto, por supuesto, tiene la limitación de que si la persona tiene cookies no funcionará.

Obtienes una cookie con:

 $_COOKIE["name"]; 

y devuelve valor

la forma en que lo hiciste funciona bien.

Si solo está usando variables en su script PHP, realmente no necesita ‘pasarlas’. Puede crear una variable globalmente y acceder desde otra página.