Autor Tema: $_POST y $_GET bien explicados  (Leído 15328 veces)

0 Usuarios y 6 Visitantes están viendo este tema.

Desconectado senseijulio

  • The Communiter-
  • *
  • Mensajes: 2785
  • Zildjian Rules!
$_POST y $_GET bien explicados
« : mayo 12, 2007, 10:09:06 pm »
wenas, yo se que etos dos sirven para capturar datos de formularios en php, pero lo que aun no tengo bien claro es la forma correcta de usarlos, tanto de sintaxis como de su uso, cuando usarlos y cuando no, etc.

si es con ejemplos sencillos pero bien explicativos, pues mucho mejor.
yo he aprendido php a puro videotutorial y algunas cosas ya están un tanto defasadas.

gracias por la ayuda broders
Jugadores Salvadoreños de PS3 acá
https://www.facebook.com/groups/ps3elsalvador/

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: $_POST y $_GET bien explicados
« Respuesta #1 : mayo 12, 2007, 10:29:00 pm »
wenas, yo se que etos dos sirven para capturar datos de formularios en php, pero lo que aun no tengo bien claro es la forma correcta de usarlos, tanto de sintaxis como de su uso, cuando usarlos y cuando no, etc.

si es con ejemplos sencillos pero bien explicativos, pues mucho mejor.
yo he aprendido php a puro videotutorial y algunas cosas ya están un tanto defasadas.

gracias por la ayuda broders

ok mira para que entendas la diferencia entre una solicitud GET y una solicitud POST, vamos a remontarnos a los inicios del internet y del protocolo HTTP. (Que bonito suena)

Resulta que el protocolo HTTP, tiene varios métodos para que los usuarios puedan enviar datos al servidor, los mas comunes son los denominados GET, POST y PUT (este último utilizado para enviar archivos).

La diferencia primordial entre los mismos radica en la forma en que se utilizan.

Una solicitud GET, envía los parámetros de usuario a travez de la URL, de esta manera:

http://www.algunlugarl.com/miscript.php?parametro1=valor1&parametro2=valor2&parametro3=valor3

Esa solicitud envía al servidor tres parámetros:

parametro1=valor1
parametro2=valor2
parametro3=valor3

¿Ventajas? bueno, las solicitudes GET son sencillas, y no necesitan de un formulario, uno puede crear vínculos que envíen estos parámetros. PHP almacena los valores de cada uno de estos parámetros en la variable $_GET, así:

$_GET['parametro1'] := valor1
$_GET['parametro2'] := valor2
$_GET['parametro3'] := valor3

Como regla general se debe usar una solicitud GET, cuando los valores que envíamos no modifican los datos de nuestra aplicación, o cuando únicamente los utilizamos como marcadores, o como consultas. Una busqueda (que no modifica nuestros datos de aplicacion) es un buen ejemplo de cuando debemos usar GET:

http://www.algunlugar.com/miscript.php?buscar=palabraclave

¿Desventajas? Por lo general, todas las direcciones accesadas quedan guardadas en el historial. De tal manera, que utilizar el metodo GET para autenticar nuestros usuarios. P.E. ?usuario=mxgxw&password=iwonttellyou representaría un grave problema de seguridad y de privacidad de datos. Se debe de procurar no enviar datos sensibles mediante solicitudes GET.

Con el método POST, el navegador hace una conexión al servidor y se encarga de mandar los datos de manera separada, de esta forma los datos se mantienen hasta cierto punto privados, y tenemos la ventaja de que podemos envíar una mayor cantidad de datos en la solicitud.

Para enviar los datos mediante un metodo POST, debemos de poner el atributo method="POST" en nuestro formulario.

<form action="miscript.php" method="POST">
<input type="text" name="parametro1" value="valor1"><br />
<input type="text" name="parametro2" value="valor2"><br />
<input type="text" name="parametro2" value="valor2"><br />
<input type="submit">
</form>

En PHP los valores de esta solicitud se guardan en la variable $_POST

$_POST['parametro1'] := valor1
$_POST['parametro2'] := valor2
$_POST['parametro3'] := valor3

Usaremos un formulario con el método POST, cuando los valores que el usuario envían, modifican de alguna manera los valores de aplicación de nuestro programa. Por ejemplo, cuando se ingresan valores a nuestra base de datos, cuando un usuario se loguea al sistema, o cuando no querramos que los datos sean visibles por la dirección del navegador.

¿Ventajas? No hay un limite de atributos o tamaño que se puedan enviar, esto se limita mas que todo al tiempo de ejecución del script en el servidor y a las mismas conexiones del cliente.

¿Desventajas? Si una página responde a los valores de un POST, cada vez que querramos entrar a esa página debemos de enviar nuevamente los datos del POST, ya que estos no se "cachean" puede darnos inconvenientes al utilizar los botones de "atras" y "adelante" si no hemos considerado este comportamiento para nuestra aplicacion.

También puede resultar un problema cuando el usuario trata de guardar en bookmarks una página que ha sido el resultado de una solicitud con datos enviados mediante POST, ya que posiblemente estos datos no esten disponibles para cuando quiera accesarlos posteriormente.

En resumen, usaremos solicitudes GET cuando los parametros del usuario no modifican los datos de la aplicación, y usaremos POST cuando si lo hagan.

Espero con esto solventar tus dudas!!


Desconectado darkela

  • Sv Vampire Team ®
  • The Communiter-
  • ***
  • Mensajes: 1619
  • 다르켈라
Re: $_POST y $_GET bien explicados
« Respuesta #2 : mayo 12, 2007, 10:55:53 pm »

En resumen, usaremos solicitudes GET cuando los parametros del usuario no modifican los datos de la aplicación, y usaremos POST cuando si lo hagan.

Espero con esto solventar tus dudas!!

cabal cabal cabal... asi mero...
yo participo jakajkajka

mx y digamos... casi siempre que usas? o andas pensando en si... se vana  modifcar los datos o no...?

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: $_POST y $_GET bien explicados
« Respuesta #3 : mayo 12, 2007, 11:08:45 pm »
cabal cabal cabal... asi mero...
yo participo jakajkajka

mx y digamos... casi siempre que usas? o andas pensando en si... se vana  modifcar los datos o no...?

Depende de la aplicacion darkela :P por lo general todo lo que es despliegue de información se va con GET. todo lo que es ingreso de información se va con POST.


Desconectado darkela

  • Sv Vampire Team ®
  • The Communiter-
  • ***
  • Mensajes: 1619
  • 다르켈라
Re: $_POST y $_GET bien explicados
« Respuesta #4 : mayo 12, 2007, 11:13:35 pm »
mira y en ondas de auditoria te friega eso?

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: $_POST y $_GET bien explicados
« Respuesta #5 : mayo 12, 2007, 11:14:23 pm »
mira y en ondas de auditoria te friega eso?

Auditoria de que? de codigo de seguridad? no te capto drakelita :P jejeje  :phew:


Desconectado darkela

  • Sv Vampire Team ®
  • The Communiter-
  • ***
  • Mensajes: 1619
  • 다르켈라
Re: $_POST y $_GET bien explicados
« Respuesta #6 : mayo 12, 2007, 11:23:14 pm »
Auditoria de que? de codigo de seguridad? no te capto drakelita :P jejeje  :phew:

sii creo.... por que cuando hacen aunditorias de las conexiones a las bases cuando agarras info o manejas info... si tenes una contraseña no muy segura... lo friegan auno como informatico vea.... pues segun lo que el super catedratico nos ha dicho, supongo que es codigo el que revisan... o no se como es al auditoria que hacen.

pero tampoco se en los methods por eso preguntaba  x_x

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: $_POST y $_GET bien explicados
« Respuesta #7 : mayo 12, 2007, 11:30:19 pm »
sii creo.... por que cuando hacen aunditorias de las conexiones a las bases cuando agarras info o manejas info... si tenes una contraseña no muy segura... lo friegan auno como informatico vea.... pues segun lo que el super catedratico nos ha dicho, supongo que es codigo el que revisan... o no se como es al auditoria que hacen.

pero tampoco se en los methods por eso preguntaba  x_x


Ahh no pero eso es otro cuento drakelita... idealmente, para cada parte de tu aplicación deberías de tener diferentes usuarios con accesos limitados.

Por ejemplo, para hacer una busqueda, tu aplicacion debería de conectarse con un usuario que tenga acceso a las tablas, pero solo para realizar SELECT, y únicamente a tablas que tengan la información necesaria para mostrar la información de la busqueda. Igual cuando haces un insert a una tabla, tu aplicacion idealmente debería de conectarse mediante un usuario que solo tenga permisos de hacer INSERT a ciertas tablas.

En la realidad es muy diferente, por lo general la mara solo hace un usuario que se conecta a la BD con permisos "para todo" y ahí es donde comienza a fallar la seguridad, P.E. Si se te olvida "limpiar" un parámetro de usuario bien te pueden hacer una injección SQL o algo por el estilo.

Fijate que yo personalemente trato de no exponer la estructura de la base de datos en la aplicación de cliente, de tal manera que un formulario que tenga un dato "valor" no implica que en la base de datos exista una tabla o columna que se llame "valor".

En realidad habría que ver a que va enfocada la auditoria a la que te refieres. Para implementar la seguridad en variables obtenidas del usuario lo podes hacer evaluandolas por medio de expresiones regulares, o revisando si son del tipo de dato que corresponden. Por ejemplo, si para un valor de formulario esperas un numero y te mandan una cadena, obviamente debes de desplegar un error, todo esto lo podes hacer independientemente de tu "estilo" para hacer los formularios y de enviar los datos.

Aunque como te dije arriba, hay que considerar ciertas cosas, como que el GET queda guardado en el history del navegador, así que no vas a poner datos demasiado sensibles ahí. El POST tampoco es tan seguro como lo pintan, pero al menos esos datos no se guardan en el navegador.


Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: $_POST y $_GET bien explicados
« Respuesta #8 : mayo 12, 2007, 11:39:54 pm »
Si es información privada usa POST, si es informacion que no importa que se vea usa GET.

Tambien usa GET cuando por ejemplo es necesario para un buen bookmark, cosas asi, si el parametro que va en GET cambia la presentación de la pagina y cosas así.

Siempre las personas pueden enviarte datos basura por medio de POST , pueden crear formularios ficticios o inclusive utilizar algun codigo para enviar datos por medio de POST sin necesidad de hacer formularios.

mira y en ondas de auditoria te friega eso?

Lo que tenes que hacer es cuando estas en un ambiente de produccion , desactivas los errores por ejemplo de PHP en el modo visible y los dejas en modo de log de errores.

Tambien podes poner capturadores de errores en tus aplicaciones y que ellos creen su propio log.

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: $_POST y $_GET bien explicados
« Respuesta #9 : mayo 12, 2007, 11:46:44 pm »
Si es información privada usa POST, si es informacion que no importa que se vea usa GET.

Tambien usa GET cuando por ejemplo es necesario para un buen bookmark, cosas asi, si el parametro que va en GET cambia la presentación de la pagina y cosas así.

Siempre las personas pueden enviarte datos basura por medio de POST , pueden crear formularios ficticios o inclusive utilizar algun codigo para enviar datos por medio de POST sin necesidad de hacer formularios.

Lo que tenes que hacer es cuando estas en un ambiente de produccion , desactivas los errores por ejemplo de PHP en el modo visible y los dejas en modo de log de errores.

Tambien podes poner capturadores de errores en tus aplicaciones y que ellos creen su propio log.

La nueva "tendencia" es usar solicitudes GET para solicitar acciones... Por ejemplo:

do.php?action=show&id=12 // mostrar id=15

do.php?action=delete&post=15 // borrar post=15

O de una manera mas "user-friendly" con URL Rewrite:

/do/show/12

/do/delete/15

Todo eso puede ir en GET, porque es información mas relacionada con el funcionamiento de la aplicación que con los datos que se trabajan en la misma.

Ahora como te dijo el rdoggsv, los datos "privados" o que no queres que quede registro del envio de los mismos (esto no es completamente cierto) los envias via POST. ¿Que es un dato privado? pues depende de la aplicación pero por lo general, podes considerar datos privados: combinaciones de usuario/password, información personal, información de contacto, comentarios, etc.

Siguiendo la nueva "tendencia" se puede decir que utilizas GET para enviar parámetros de funcionamiento a la aplicación, y POST para enviar datos.


Desconectado senseijulio

  • The Communiter-
  • *
  • Mensajes: 2785
  • Zildjian Rules!
Re: $_POST y $_GET bien explicados
« Respuesta #10 : mayo 13, 2007, 10:11:37 am »
ok mira para que entendas la diferencia entre una solicitud GET y una solicitud POST, vamos a remontarnos a los inicios del internet y del protocolo HTTP. (Que bonito suena)

Resulta que el protocolo HTTP, tiene varios métodos para que los usuarios puedan enviar datos al servidor, los mas comunes son los denominados GET, POST y PUT (este último utilizado para enviar archivos).

La diferencia primordial entre los mismos radica en la forma en que se utilizan.

Una solicitud GET, envía los parámetros de usuario a travez de la URL, de esta manera:

http://www.algunlugarl.com/miscript.php?parametro1=valor1&parametro2=valor2&parametro3=valor3

Esa solicitud envía al servidor tres parámetros:

parametro1=valor1
parametro2=valor2
parametro3=valor3

¿Ventajas? bueno, las solicitudes GET son sencillas, y no necesitan de un formulario, uno puede crear vínculos que envíen estos parámetros. PHP almacena los valores de cada uno de estos parámetros en la variable $_GET, así:

$_GET['parametro1'] := valor1
$_GET['parametro2'] := valor2
$_GET['parametro3'] := valor3

Como regla general se debe usar una solicitud GET, cuando los valores que envíamos no modifican los datos de nuestra aplicación, o cuando únicamente los utilizamos como marcadores, o como consultas. Una busqueda (que no modifica nuestros datos de aplicacion) es un buen ejemplo de cuando debemos usar GET:

http://www.algunlugar.com/miscript.php?buscar=palabraclave

¿Desventajas? Por lo general, todas las direcciones accesadas quedan guardadas en el historial. De tal manera, que utilizar el metodo GET para autenticar nuestros usuarios. P.E. ?usuario=mxgxw&password=iwonttellyou representaría un grave problema de seguridad y de privacidad de datos. Se debe de procurar no enviar datos sensibles mediante solicitudes GET.

Con el método POST, el navegador hace una conexión al servidor y se encarga de mandar los datos de manera separada, de esta forma los datos se mantienen hasta cierto punto privados, y tenemos la ventaja de que podemos envíar una mayor cantidad de datos en la solicitud.

Para enviar los datos mediante un metodo POST, debemos de poner el atributo method="POST" en nuestro formulario.

<form action="miscript.php" method="POST">
<input type="text" name="parametro1" value="valor1"><br />
<input type="text" name="parametro2" value="valor2"><br />
<input type="text" name="parametro2" value="valor2"><br />
<input type="submit">
</form>

En PHP los valores de esta solicitud se guardan en la variable $_POST

$_POST['parametro1'] := valor1
$_POST['parametro2'] := valor2
$_POST['parametro3'] := valor3

Usaremos un formulario con el método POST, cuando los valores que el usuario envían, modifican de alguna manera los valores de aplicación de nuestro programa. Por ejemplo, cuando se ingresan valores a nuestra base de datos, cuando un usuario se loguea al sistema, o cuando no querramos que los datos sean visibles por la dirección del navegador.

¿Ventajas? No hay un limite de atributos o tamaño que se puedan enviar, esto se limita mas que todo al tiempo de ejecución del script en el servidor y a las mismas conexiones del cliente.

¿Desventajas? Si una página responde a los valores de un POST, cada vez que querramos entrar a esa página debemos de enviar nuevamente los datos del POST, ya que estos no se "cachean" puede darnos inconvenientes al utilizar los botones de "atras" y "adelante" si no hemos considerado este comportamiento para nuestra aplicacion.

También puede resultar un problema cuando el usuario trata de guardar en bookmarks una página que ha sido el resultado de una solicitud con datos enviados mediante POST, ya que posiblemente estos datos no esten disponibles para cuando quiera accesarlos posteriormente.

En resumen, usaremos solicitudes GET cuando los parametros del usuario no modifican los datos de la aplicación, y usaremos POST cuando si lo hagan.

Espero con esto solventar tus dudas!!

gracias men, me has ayudado un montón, ahora tengo otra duda.
Haciendo una aplicación (una que tenés para inventar cuando vas aprendiendo algo, y le aplicas lo q vas aprendiendo) le metí funciones, y mandaba los datos por medio de POST ( no de $_POST, sino del formulario). resulta que cuando enviaba los datos, la función no me los agarraba porque no les había especificado los parametros al declararla, y al declararle los parámetros, me obligaba a enviar los datos via url, mientras lo hacía sin funciones no tenía problema.

otra duda, q ventajas tiene usar $_POST['dato'] o usar simplemente $dato

y la otra, lo q mencionabas de volver a mandar los datos en caso de regresar a la página, como usar $_POST para arreglos globales? (que son laas variables que te quedan ahi guardadas de página en página)?

gracias men
Jugadores Salvadoreños de PS3 acá
https://www.facebook.com/groups/ps3elsalvador/

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: $_POST y $_GET bien explicados
« Respuesta #11 : mayo 13, 2007, 10:53:29 am »
gracias men, me has ayudado un montón, ahora tengo otra duda.
Haciendo una aplicación (una que tenés para inventar cuando vas aprendiendo algo, y le aplicas lo q vas aprendiendo) le metí funciones, y mandaba los datos por medio de POST ( no de $_POST, sino del formulario). resulta que cuando enviaba los datos, la función no me los agarraba porque no les había especificado los parametros al declararla, y al declararle los parámetros, me obligaba a enviar los datos via url, mientras lo hacía sin funciones no tenía problema.

otra duda, q ventajas tiene usar $_POST['dato'] o usar simplemente $dato

y la otra, lo q mencionabas de volver a mandar los datos en caso de regresar a la página, como usar $_POST para arreglos globales? (que son laas variables que te quedan ahi guardadas de página en página)?

gracias men

Lo primero no te lo entendí. jejeje talvez me lo podes explicar de otra manera.

Ahora con lo segundo, antes php tenía habilitada la opción de configuración "register globals", esto hacía que si por ejemplo, el script recibía un parámetro ya sea en $_POST o en $_GET, lo registraba como una variable. Por ejemplo.

$_POST['nombre'] lo podías accesar como $nombre.

La razón porque la gente de PHP desactivo esta configuración es mas que todo por razones de seguridad, ya que todas las variables globales se registraban como variables locales, y esto podría dar lugar a problemas de seguridad en aplicaciones donde el nombre de alguna de tus variables, coincidiera con alguna de las variables que PHP establecía.

Lo recomendable es usar siempre $_POST o $_GET para accesar a los parametros de la solicitud y no directamente con el nombre de la variable, como se recomendaba anteriormente.

A ver, ahora con lo último. PHP posee variables globales, pero no funcionan de la forma en que tu lo has especificado. Te voy a explicar un poquitin como funciona, pero antes hay que conocer las variables predefinidas de PHP.

PHP define por ciertas variables en toda aplicación, entre ellas estan las mencionadas ahorita $_GET, $_POST, y también $_SERVER, $_ENV, $_FILES, $_REQUEST, $_SESSION, $_GLOBALS.

Una variable global es aquella que es accesible independientemente de la posición del código en que se encuentre. P.E.

Si vos tenes algo como lo siguiente:

Código: [Seleccionar]
<?php
$mivariable 
"prueba";

function 
funcion_prueba() {
&
#160; echo $mivariable;
}
?>


Te va a dar un error de que la variable no ha sido declarada, ya que esta un nivel arriba de "{}" y por tanto no es accesible.

Hay varias formas para accesar a estas variables, la más sencilla es haciendo uso de la palabra clave "global"

Código: [Seleccionar]
<?php
$mivariable 
"prueba";

function 
funcion_prueba() {
&
#160; global $mivariable;
&#160; echo $mivariable;
}
?>


Con eso tendrás acceso a $mivariable y la salida será "prueba".

Sin embargo, si te queres evitar estar definiendo todo el tiempo cuales variables son globales, simplemente podes definirlas en el array $_GLOBAL

Código: [Seleccionar]
<?php
$_GLOBAL
['mivariable'] = "prueba";

function 
funcion_prueba() {
&
#160; echo $_GLOBAL['mivariable'];
}
?>


Estas variables quedarán definidas el tiempo que se ejecute el script, es decir, estarán disponibles únicamente para el momento en que se accese la página. Si vos definis una variable global al inicio de un script, solo mantendrá su valor en el tiempo de ejecución de ese script, y no se mantendrá entre las diferentes páginas que accese el usuario.

Si necesitas variables que se almacenen y sean accesibles en todas las páginas que el usuario accese, entonces necesitas definir variables de sesión.

Una variable de sesión mantiene su valor hasta que la sesión expira, o hasta que la terminas explicitamente con la función session_destroy();

No voy a entrar en detalles, pero funciona más o menos así. P.E. Si tuvieras tres scripts, y el usuario los accesa secuencialmente

Código: (uno.php) [Seleccionar]
<?php
session_start
(); // Esto va al inicio de todas las p&#225;ginas que tienen variables de sesion

$_SESSION['mivar'] = 1;

echo 
$_SESSION['mivar'];
$_SESSION['mivar']++;
?>


Salida: "1"

Código: (dos.php) [Seleccionar]
<?php
session_start
();

if(isset(
$_SESSION['mivar'])) {
&
#160; &#160; echo $_SESSION['mivar'];
&#160; &#160; $_SESSION['mivar']++;
}
?>


Salida: "2"

Código: (tres.php) [Seleccionar]
<?php
session_start
();

if(isset(
$_SESSION['mivar'])) {
&
#160; &#160; echo $_SESSION['mivar'];
}
?>


Salida: "3"

Que es algo como lo que tu necesitas, una variable que se mantenga guardada en diferentes páginas que accesa el usuario.
« Última Modificación: mayo 13, 2007, 03:18:56 pm por mxgxw »


Desconectado senseijulio

  • The Communiter-
  • *
  • Mensajes: 2785
  • Zildjian Rules!
Re: $_POST y $_GET bien explicados
« Respuesta #12 : mayo 13, 2007, 02:07:16 pm »
a lo que me refería con lo de las funciones, es que cuando declaraba una función tenía que pasarles los parametros, q generalmente eran datos provinientes de un formulario. por ejemplo, una función que me guardara los datos en la tabla. ahora bien, como tenía que poner los parametros de la función, al momento de llamar la función, tenía que pasarle los parámetros, que eran las variables que me mandaba el formulario. pues resulta que si no mandaba los datos por medio de la url, la función no me funcionaba porque no le pasaba los parámetros que le había especificado, lo que me obligaba a mandarselos por url (cuando trabajo con funciones)

no se si ya me entendes o captas la idea, y de antemano, gracias men
Jugadores Salvadoreños de PS3 acá
https://www.facebook.com/groups/ps3elsalvador/

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: $_POST y $_GET bien explicados
« Respuesta #13 : mayo 13, 2007, 03:08:45 pm »
Eso no tiene nada que ver si se los mandes a la funcion por GET o por POST , la funcion debe de poder trabajar con ellos de cualquier manera.

Tal vez habia algun otro error.

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: $_POST y $_GET bien explicados
« Respuesta #14 : mayo 13, 2007, 03:14:24 pm »
a lo que me refería con lo de las funciones, es que cuando declaraba una función tenía que pasarles los parametros, q generalmente eran datos provinientes de un formulario. por ejemplo, una función que me guardara los datos en la tabla. ahora bien, como tenía que poner los parametros de la función, al momento de llamar la función, tenía que pasarle los parámetros, que eran las variables que me mandaba el formulario. pues resulta que si no mandaba los datos por medio de la url, la función no me funcionaba porque no le pasaba los parámetros que le había especificado, lo que me obligaba a mandarselos por url (cuando trabajo con funciones)

no se si ya me entendes o captas la idea, y de antemano, gracias men

Esta raro vos, sigo sin captarte, talvez si tenes el codigo que te da ese problema se puede revisar. Como te dijo el rdoggsv seguramente se debe a algun error.