Avatar Image
Usuario Novato
Usuario Novato

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

Atomo64
Machacateclados
Machacateclados

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

Avatar Image
Usuario Novato
Usuario Novato

Usando POST sin formulario

Atomo64
Machacateclados
Machacateclados

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>

Avatar Image
Usuario habitual
Usuario habitual

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

Avatar Image
@man / @woman
@man / @woman
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.
Avatar Image
Usuario habitual
Usuario habitual

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

Atomo64
Machacateclados
Machacateclados

(por eso es bueno leer todo), jeje

Avatar Image
Usuario habitual
Usuario habitual
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
Atomo64
Machacateclados
Machacateclados
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...
luis010182
Usuario habitual
Usuario habitual

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

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

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

fb@726049825
Usuario Novato
Usuario Novato

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!

fb@726049825
Usuario Novato
Usuario Novato

Olvídenlo !!!

Acabo de probarlo y la sintaxis correcta es:

Hola <?php echo $_SESSION['Usuario']['Nombre']; ?>

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

<?php
session_start();
?>

al iniciar el archivo...

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

Saludos y gracias de todas formas!

gino2874
Usuario Novato
Usuario Novato
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

alphasierra
Usuario Novato
Usuario Novato

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.

<?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.

fb@878140788985002
Usuario Novato
Usuario Novato

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...

Hola <?php echo $_SESSION['Usuario']['Nombre']; ?>

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

<?php
session_start();
?>

al iniciar el archivo...

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

Saludos y gracias de todas formas!

Avatar Image
@man / @woman
@man / @woman

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.

fb@726049825
Usuario Novato
Usuario Novato

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".

Hola <?php echo $_SESSION['Usuario']['Nombre']; ?>

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

<?php
session_start();
?>

al iniciar el archivo...

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

Saludos y gracias de todas formas!

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 12/Oct/2005, 02:12
genesis_foro sk.valshk214kOct/05
Por: , el 31/Ago/2012, 13:11
JoaoTeamm NoSetup.org Tito GestionXls1314kSep/12