Versión imprimible del tema: Pasar parámetros POST sin usar formularios
URL: https://soporte.miarroba.es/17451/3045833-pasar-parametros-post-sin-usar-formularios/

De la comunidad de foros: Foro de soporte
URL: https://soporte.miarroba.es


Autor: QuiNtaN, 06/Abr/2005, 13:27


Buenas, estoy tratando de pasar unos parámetros de un enlace a otro pero sin usar formularios de por madio. Quizá podría hacerlo mediantes sesiones pero no sé seguro si están bien configuradas en el servidor. Saludos y gracias de antemano


Autor: Atomo64, 07/Abr/2005, 00:24


a ver, decídete, quieres pasar datos o pasar datos usando POST sin formulario?


Autor: QuiNtaN, 07/Abr/2005, 09:06


Usando POST sin formulario


Autor: Atomo64, 08/Abr/2005, 00:05


pues que yo sepa no hay otra forma, lo que puedes hacer es sustituir el botón de submit con una cosa así:
<!-- el form ->
<form id="form1" action="blabla.php" method="post">
<!-- cosas del form ->
</form>
<!-- el link ->
<a href="#" onclick="javascript:document.form1.submit()" title="Abre el enlace">Enlace</a>


Autor: gohrum, 16/Abr/2005, 18:04


Es mucho mas sencillo que eso.

mira:un formulario tiee el atributo action="" que indica el recipiente del formulario.

Puedes enviar los mismos datos por url, por ejemplo si tu haces: en lugar de post action="recibir.php", puedes hacer en la barra de direcciones: recibir.php?campo1=valor1&campo2=valor2&campo3=valor3, donde el campo es el nombre de los input en el formulario


Autor: NoSetup.org, 16/Abr/2005, 19:54


Escrito originalmente por gohrum

Puedes enviar los mismos datos por url, por ejemplo si tu haces: en lugar de post action="recibir.php", puedes hacer en la barra de direcciones: recibir.php?campo1=valor1&campo2=valor2&campo3=valor3, donde el campo es el nombre de los input en el formulario


Eso se llama GET y es lo que el usuario quiere evitar.


El POST por medio de un formulario.
Autor: gohrum, 16/Abr/2005, 23:49


cierto, tienes razon, no lo habia entendido bien, lo que puedes hacer es input type="hidden" y que el form se envie como dice Atomo64


Autor: Atomo64, 17/Abr/2005, 02:35


(por eso es bueno leer todo), jeje


Autor: Caid, 17/Abr/2005, 09:38


Escrito originalmente por Atomo64
(por eso es bueno leer todo), jeje


El problema no suele ser leer todo, sino entender algo Vacilando No lo digo por QuiNtaN especialmente, sino porque hay bastantes mensajes en este foro que no se descifrarían ni con la máquina Enigma loco
Autor: Atomo64, 17/Abr/2005, 20:55


Escrito originalmente por Caid
El problema no suele ser leer todo, sino entender algo Vacilando No lo digo por QuiNtaN especialmente, sino porque hay bastantes mensajes en este foro que no se descifrarían ni con la máquina Enigma loco

Tienes razón, hay algunos que ni ellos mismos...
Autor: luis010182, 06/Abr/2013, 03:49


si queres pasar parametros por post desde una pagina sin usar un formulario, podes usar ajax, con la libreria jquery es muy sencillo

http://api.jquery.com/jQuery.post/

si lo queres hacer desde un archivo .php que ejecute cuando los llamas o ejecutas por consola podrias usar curl, un poco mas complejo pero no mucho este es un ejemplo http://davidwalsh.name/curl-post, lo malo es que no es nativo de php, y tenes que instalarlo, o pedir a tu hosting que te lo habilite

espero que te sirva


Autor: aerialss88, 07/Abr/2013, 00:45


8 años despues del post inicial. Qué coraje!.


Autor: fb@726049825, 14/Dic/2014, 20:19


Bueno... Yo también tengo coraje de publicar y no sólo 8 años después sino más de 9 !!!

Pero cuando uno busca se topa con publicaciones viejas que pueden ser útiles.

En este caso pregunto, ¿pudieron resolver el caso?

Yo tengo un tema con las variables $_SESSION y es el siguiente:

Utilizo un formulario <FORM> </FORM> con su method="post" y action="validar.php"

La conexión a la base de datos MySQL está OK, ya que puedo acceder a una tercer página "admin.php" que sólo es posible ingresar con user y pass correctos en la validación de acceso.

Pero me sucede esto: Al entrar a la página "admin.php" me aparece el mensaje "Hola" con el error:

"Notice: Undefined variable: X in admin.php on line 9"

El tema es que esta variable $X se crea en el archivo "validar.php" pero al querer consultarla desde "admin.php" no es visible.

Siendo una varialbe de SESSION, ¿qué me estará faltando para que la misma sea visible?

Intenté cambiando la sintaxis de todos los modos posibles:

Ejemplos:
$_SESSION['arreglo']['Nombre'] 
$_SESSION['arreglo']['nombre']
$_SESSION['Nombre']

No hubo modo...

Gracias por cualquier mano que me puedan dar!


Autor: fb@726049825, 14/Dic/2014, 20:27


Olvídenlo !!!

Acabo de probarlo y la sintaxis correcta es:

Código:
Hola <?php echo $_SESSION['Usuario']['Nombre']; ?>

El problema estaba en que en el archivo "admin.php" no había incluido la función

Código:
<?php
session_start();
?>

al iniciar el archivo...

Al menos quizá a algunos le puedan servir mis errores!

Saludos y gracias de todas formas!


Autor: gino2874, 26/Dic/2014, 06:30


Escrito originalmente por @QuiNtaN

Buenas, estoy tratando de pasar unos parámetros de un enlace a otro pero sin usar formularios de por madio. Quizá podría hacerlo mediantes sesiones pero no sé seguro si están bien configuradas en el servidor. Saludos y gracias de antemano


Autor: alphasierra, 15/Abr/2016, 03:51


Mi respuesta viene 11 años y 8 días después de la pregunta que originó este tema. Hace 4.026 días que QuiNtaN hizo que muchos se devanaran los sesos buscando responderle. Aquí va mi aporte.

Código:
<?php
    echo "
        <html>
            <head>
                <meta content='text/html; charset=utf-8' http-equiv='Content-Type' />
                <title>Procesando...</title>
                <script type='text/javascript'>
                    function enviarForm(){
                        document.nameForm.submit();
                    }
                </script>
            </head>
            <body onLoad='javascript:enviarForm();'>
                <form name='nameForm' action='pagina-destino.php' method='post'>
                    <input type='hidden' name='campo1' value='[valor]'/>
                    <input type='hidden' name='campo2' value='[valor]'/>
                    <input type='hidden' name='campo3' value='[valor]'/>
                </form>
            </body>
        </html>";
?>

Espero le sirva a alguien.

Saludos desde Chile.


Autor: fb@878140788985002, 29/Ago/2016, 06:49


OK, Despues de mas de 11 años me encontre con un problema similar que me saca de onda y me ha hecho reconstruir mi citio desde 0 mas de 10 veces, Y lo que me pasa es que envio un formulario por el metodo post para recibilo en la pagina a la que redirecciona el formulario y una vez ahi ejecuta una funcion que se encuentra en un archivo externo con la funcion "include "Connect.php";" donde lo que hace es tomar por el metodo post el contenido del formulario, pero no toma el contendo de ellos atravez del archivo externo ni tampoco sin el...

De verdad es fastidioso puesto que en otra recontruccion de mi pagina lograba engañar a mi servidor diciendo que habia datos correctos respecto a otros, pero al momento de introducir los datos del formulario a una variable de sesion se descubre el error puesto que estas variables quedan vacias..

Pero a lo que se debe el problema es que no pasa las variables por el metodo POST...

Escrito originalmente por Raimundo Baravaglio

Olvídenlo !!!

Acabo de probarlo y la sintaxis correcta es:

Código:
Hola <?php echo $_SESSION['Usuario']['Nombre']; ?>

El problema estaba en que en el archivo "admin.php" no había incluido la función

Código:
<?php
session_start();
?>

al iniciar el archivo...

Al menos quizá a algunos le puedan servir mis errores!

Saludos y gracias de todas formas!


Autor: GestionXls, 04/Sep/2016, 18:46


Fernando, si necesitas que una función codificada en un módulo pueda leer (y tratar) el contenido de las variables en otro módulo; debes primero definir las variales en el módulo que llama (en este caso, el módulo que recibe el POST) y luego la instrucción 'include()' al módulo que contiene la función que las tratará (no antes).

Esto es por cómo se aplica la 'visibilidad' de las variables.


Autor: fb@726049825, 22/Nov/2016, 22:36


No entendí tu duda ni lo que mencionaste sobre las variables $_POST.

Las variables $_SESSION no se pasan vía $_POST, sino que son variables de sesión que quedan activas si la página, al cargarse, recupera la sesión con la función "session_start()"

La función "session_start()" posee un nombre un tanto engañoso, ya que no siempre realiza un "start" (inicio) de una nueva sesión, sino que, en aquellos casos que una sesión se haya abierto, la restaura para su uso en cada página ".php".

Escrito originalmente por Reyvi Fernando

OK, Despues de mas de 11 años me encontre con un problema similar que me saca de onda y me ha hecho reconstruir mi citio desde 0 mas de 10 veces, Y lo que me pasa es que envio un formulario por el metodo post para recibilo en la pagina a la que redirecciona el formulario y una vez ahi ejecuta una funcion que se encuentra en un archivo externo con la funcion "include "Connect.php";" donde lo que hace es tomar por el metodo post el contenido del formulario, pero no toma el contendo de ellos atravez del archivo externo ni tampoco sin el...

De verdad es fastidioso puesto que en otra recontruccion de mi pagina lograba engañar a mi servidor diciendo que habia datos correctos respecto a otros, pero al momento de introducir los datos del formulario a una variable de sesion se descubre el error puesto que estas variables quedan vacias..

Pero a lo que se debe el problema es que no pasa las variables por el metodo POST...

Escrito originalmente por Raimundo Baravaglio

Olvídenlo !!!

Acabo de probarlo y la sintaxis correcta es:

Código:
Hola <?php echo $_SESSION['Usuario']['Nombre']; ?>

El problema estaba en que en el archivo "admin.php" no había incluido la función

Código:
<?php
session_start();
?>

al iniciar el archivo...

Al menos quizá a algunos le puedan servir mis errores!

Saludos y gracias de todas formas!