Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] evento onclick para cambiar dato de coockie

Estas en el tema de evento onclick para cambiar dato de coockie en el foro de PHP en Foros del Web. Hola amigos tal como lo dice el titulo vengo por aca a ver si esxiste alguna manera de hacerlo, tengo un boton el cual en ...

  #1 (permalink)  
Antiguo 19/02/2014, 20:02
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
evento onclick para cambiar dato de coockie

Hola amigos tal como lo dice el titulo vengo por aca a ver si esxiste alguna manera de hacerlo, tengo un boton el cual en el caso de que el usuario le de click deberia de cambiar el valor de una cockie, y al mismo tiempo re direcionar.

les dejo el codigo:

Código PHP:
Ver original
  1. <form class="fleft"><input type="button" onClick="location.href='/* cambiar el valor de la variable $_session['Valor'] = 2 */'" name="button" class="button" value="Perfil de Usuario"></form>
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #2 (permalink)  
Antiguo 19/02/2014, 20:45
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

Puedes hacerlo a través de Ajax para no recargar la página.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 19/02/2014, 21:24
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

ok necesito recargar la pagina ya que al recargarla hay ciertas funciones automaticas que tomaran ese valor de la coockie y para redireccionar al usuario a otra pagina...

la idea es crear un sistema que si un usuario llega por primera ves a la pagina le muestre el loggin, si no tiene cuenta al hacer click en un boton de registrar lo redirecciones a ese archivo, y si en desea visitar la pagina sin tener cuenta puede darle click a otro boton... no se si me entiendas... la idea de hacer esto es con un filtro de valores en una variable de $_session en la cockies de la empresa... para asi evitar que si el cliente dejo la sesion avierta tenga que ver la pagina de login nuevamente y vaya directo al contenido.. gracias por todo pero ya casi lo tengo listo
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #4 (permalink)  
Antiguo 19/02/2014, 21:40
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

Lo que intentas hacer con la variable de sesión para el manejo del login se entiende, de hecho lo hago así desde hace unos años. Si la idea es cambiar el valor de la variable de sesión al darle clic al botón y a la vez recargar la página para reconocer el nuevo valor, solamente te bastaría enviar dicho valor ya sea por GET o POST (de preferencia) hacia el mismo archivo y hacer la verificación cuando se produzca la recarga del mismo, si se recibió un valor, éste es asignado a la variable de sesión, sino, queda como está.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 19/02/2014, 22:29
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

estoy trabajando en algo asi.. pero por ahora lo qye tengo es bastante extenso y lo estoy simplificando creo que si son 4 filtros no deberia de pasar de 4 condiciones pero el tranformar un valor en otro me esta costando un poquito jejeje
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #6 (permalink)  
Antiguo 19/02/2014, 23:57
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

No sé cómo será la estructura de tu aplicación, pero por lo que entendí, podrías hacerlo así:

Código PHP:
Ver original
  1.  
  2. if ($_POST['sesion'])
  3.     $_SESSION['variable'] = $_POST['sesion']; //2
  4.  
  5. if ($_SESSION['variable'] != 2)
  6.     //Se muestra el formulario de login

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 20/02/2014, 12:40
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 14 años, 11 meses
Puntos: 7
Respuesta: evento onclick para cambiar dato de coockie

Código PHP:
Ver original
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Documento sin título</title>
  6. </head>
  7. <body>
  8. <?PHP
  9. //ahora mismo estoy trabajando en este codigo:
  10. //no se si esto se hace con isset() o con empty() o con null(), leer todo el post antes de comentar
  11. //evitar errores de undefined...
  12. if(isset($_GET['visita'])){//saber si la variable se fue esta declarada por post, recivida y si contiene un valor de 1,2,3 superio o valores negativos
  13.     $visita=$_GET['visita'];
  14.     if($visita==1){
  15.         echo "mostrar contenido pagina web para usuario registrado";
  16.          //mostraría contenido de la pagina para usuario
  17.     }else{
  18.          if($visita==2){
  19.              echo "mostrar Mostrar el formulario de registro";
  20.             //mostraría el formulario de registro al usuario
  21.             //el formulario de registro debe devolver un mensaje de que el registro fue correcto; y
  22.             //pasado 15 segundo o que el cliente de click en ir a la pagina,
  23.             //el formulario de registro debe cambiar automáticamente el valor de $_POST[visita]=1;
  24.          }else{
  25.              if($visita>=3 or $visita<0){//por si meten valores negativos o mayores he = a 3
  26.                  echo "mostrar pagina para usuarios no registrados";
  27.                  //mostrara un mensaje de que no esta registrado ni loggeado y no cuenta con privilegios de usuario
  28.                  //mostraría contenido de la pagina para usuario Sin privilegios
  29.                  //debe existir un boton de Registro y Login para cambiar el valor de $_POST[visita] y re-dirigirlo al formulario.
  30.              }
  31.          }
  32.     }
  33. }else{
  34.  echo "Formulario de loggin";
  35. //si no se recibe nada por POST o el valor es 0
  36. //Se muestra el formulario de login
  37. //puede pasar 3 cosas:
  38. //1. si hace loggin cambia el valor inexistente cambiara a $_POST[visita]=1; mostraria la pagina web como usuario
  39. //2. si hace Click en registrarce  el valor inexistente cambiara a $_POST[visita]=2; y lo envia al formulario de registro
  40. //3. si hace click en  Entrar como Quest, mostraría la pagina como usuari de visita sin privilegios, $_POST[visita]=3;
  41. // el problema es este como cambiar esos valores... enviar mediante un boton esos valores
  42. }
  43. //Actualmente lo estoy probandolo, ya que quiero convertir esto en una funcion: vistanueva();  y ejecutar el codigo, es lo que se me complica
  44. ?>
  45. </body>
  46. </html>

tambien el dilema de pasarlo por GET o por POST, con POST me da un ERROR...
  #8 (permalink)  
Antiguo 20/02/2014, 16:13
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

Te propongo una forma sencilla para controlar el tema de los usuarios registrados y no registrados:

Al acceder un usuario a la página, creamos una sesión o la reactivamos si es que ya existe una y definimos una variable de sesión, luego, verificamos si hemos recibido algún valor por el método POST (creo que es el más adecuado para este caso), dicha variable será enviada desde el formulario de identificación (Login), con lo cual el usuario se identificará para acceder a determinada información. Como inicialmente no se ha identificado (la primera vez que ingresa a la página), la variable de sesión no tiene un valor asignado, por lo que solamente se muestra la página de inicio con el formulario de identificación, pero si ya se identificó, asignamos a la variable de sesión un valor cualquiera, como un número aleatorio, el Id del usuario, etcétera. El formulario de registro actuará de una manera similar al de identificación, con la diferencia que añadirá valores en la BD (INSERT), mientras que el de identificación solamente buscará en la BD los datos que el usuario ingresó (SELECT).

Luego de registrarse, puedes redirigir al usuario hacia la página principal asignando a la variable de sesión el Id del usuario o el valor que desees utilizar. La variable de sesión viajará a través de todos los archivos que integren la página, manteniendo siempre la sesión activa con session_start().

Cada vez que el usuario (identificado o no) navegue a través de cada enlace la página, deberás hacer una sencilla comprobación; si la variable de sesión tiene un valor asignado, quiere decir que el usuario se ha identificado y se muestra el contenido, pero si no es el caso, se le redirige hacia el formulario de registro o hacia el de identificación, que además de estar en la página de inicio mientras el usuario aún no se identifique, debes tener en otro archivo, para hacer la redirección hacia dicho archivo, tal y como sucede con esta página y muchas otras.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 20/02/2014, 17:49
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

ok bien, pero esto funciona con $_POST, el problema seria como regresar la variable:

si tengo un
inicio.php->procedimiento.phpX aqui muere...

Regresar de procedimiento.php a inicio.php la variable por $_POST
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #10 (permalink)  
Antiguo 20/02/2014, 18:14
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

Entonces hazlo por GET para que no tengas esa complicación, aunque lo ideal sería que una vez que recibas el valor, lo añadas a la variable de sesión y luego de hacer la redirección, podrás manipular la variable de sesión con el valor actualizado.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #11 (permalink)  
Antiguo 20/02/2014, 18:33
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

ok estube tomando la primera idea de hacer por POST, aun no pruebo el escript pero expongo la idea y como deberia de funcionar, si ven algun error logico no duden en comentarlo, si tienen una mejor idea de como hacer el script tambien pueden hacerlo, estoy averiguando y al parecer no existia nada parecido:

Código PHP:
Ver original
  1. <?php
  2. //entramos a la pagina
  3. //iniciamos sesion (esto debe pasar a ser una funcion para que se ejecute de forma global con un include();)
  4. session_name('nombre');
  5. //inicia el script (esto debe pasar a ser una funcion para que se ejecute de forma global con un include();)
  6. if(empty($_session['visita'])){//verificamos si existe y esta vacia la sesion
  7.     //si la sesion no existe y esta vacia la creamos y le damos un valor
  8.     $_session['visita']=1;
  9.     //preguntamos si recivimos la variable vista por post y si esta vacia
  10.     if(empty($_POST['visita'])){
  11.         //si no esta declara y o esta vacia entonces la creamos y le damos el mismo valor que el de la sesion
  12.         $visita=$_session['visita'];
  13.     }else{
  14.         //si la variable si existe y viene con datos estos datos se los pasamos a una variable
  15.         $visita=$_POST['visita'];
  16.         //reescribirmos la sesion tambien
  17.         $_session['visita']=$visita;
  18.     }
  19.     //como es primera ves que entra el usuario debemos mostrar aqui el formulario de login
  20.     //mostrar el formulario de login
  21.     //1. si hace loggin cambia el valor de la variable de sesion a 4, mostraria la pagina web como usuario no enviamos nada por post
  22.     //2. si hace Click en registrarce  el valor de la variable de sesion a 3, y enviamos por POST el valor 3 y lo envia al formulario de registro
  23.     //3. si hace click en Entrar como Quest, cambia el valor de la variable de sesion a 2 y enviamos por POST el valor 2, mostraría la pagina como usuari de visita sin privilegios,
  24. }else{
  25.     //en este lado entra si existe una variable sesion establecida y si tiene un valor en ella
  26.     //lo primero que hacemos es verificar nuevamente si traemos algun valor por post
  27.     if(empty($_POST['visita'])){
  28.         //como no traemos valores por POST creamos la variable y asignamos su valor desde la sesion
  29.         $vista=$_session['visita'];
  30.     }else{
  31.         //si viene algo por post lo capturamos
  32.         $visita=$_POST['visita'];
  33.         }
  34.     //Despues de esto revisamos cual es el valor de $visita
  35.     if($visita==1){
  36.         //mostrar el formulario de login
  37.         //1. si hace loggin cambia el valor de la variable de sesion a 4, mostraria la pagina web como usuario no enviamos nada por post
  38.         //2. si hace Click en registrarce  el valor de la variable de sesion a 3, y enviamos por POST el valor 3 y lo envia al formulario de registro
  39.         //3. si hace click en Entrar como Quest, cambia el valor de la variable de sesion a 2 y enviamos por POST el valor 2, mostraría la pagina como usuari de visita sin privilegios,
  40.     }
  41.     if($visita==2 or $visita<0/*valores negativos*/ or $visita>4){
  42.         //mostramos la pagina para un usuario sin loggin no registrado
  43.         echo "mostrar pagina para usuarios no registrados";
  44.         //la pagina tendra 2 botones para regresar al login o al registro enviamos valores por post
  45.         //los botones cambiaran por POST la variable: 1 para entrar al login y 3 para ir al registro
  46.     }
  47.     if($visita==3){
  48.         //mostramos el Registro de usuario
  49.         echo "mostrar Mostrar el formulario de registro";
  50.         //al final del registro estableceremos la variable sesion en
  51.     }
  52.     if($visita==4){
  53.         //mostramos la pagina para usuarios que han hecho loggin
  54.         echo "mostrar contenido pagina web para usuario registrado";
  55.         //al final del registro estableceremos la variable sesion en
  56.     }
  57. }
  58. ?>
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB

Última edición por arcanisgk122; 20/02/2014 a las 18:40
  #12 (permalink)  
Antiguo 20/02/2014, 18:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: evento onclick para cambiar dato de coockie

Primero, no veo mucho sentido al uso de session_name('nombre'); a menos que tengas un propósito específico. Yo lo uso para poder diferenciar una sesión de otra entre los diferentes sitios que tengo en localhost.

En todo caso, debe ejecutarse antes de session_start(); para que tenga efecto.

Segundo, usa $_SESSION en mayúsculas.

Corrige y si sigue sin funcionar, regresa con el código actualizado.

Edito: Tienes por ahí una declaracion de $vista en lugar de $visita, supongo que también puede generar algún problema.
__________________
- León, Guanajuato
- GV-Foto
  #13 (permalink)  
Antiguo 20/02/2014, 19:21
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

bueno a todos les agradezco su ayuda, he realizado los cambios que todos me han indicado, para hacer pruebas he montado todo el sistema usando GET y link para pasar las variables por URL pero al final pasare esos GET a POST, espero tener hoy terminado el script final, les dejare el script de prueba para que vean como funciona. subiré el código tal cual esta con las notas y todo y luego lo subiré terminado en POST...

PD, agregue varios hecho, para ver donde entraba el script y en que posicion estaba:


Código PHP:
Ver original
  1. <?php
  2. session_name('prueba');
  3. ?>
  4. <!doctype html>
  5. <html>
  6. <head>
  7. <meta charset="utf-8">
  8. <title>Documento sin título</title>
  9. </head>
  10. <body>
  11. <?php
  12. //entramos a la pagina
  13. //iniciamos sesion (esto debe pasar a ser una funcion para que se ejecute de forma global con un include();)
  14. echo "estacion 1<br>";
  15. //inicia el script (esto debe pasar a ser una funcion para que se ejecute de forma global con un include();)
  16. if(empty($_SESSION['visita'])){//verificamos si existe y esta vacia la sesion
  17.     //si la sesion no existe y esta vacia la creamos y le damos un valor
  18.     $_SESSION['visita']=1;
  19.     echo "estacion 2<br>";
  20.     echo $_SESSION['visita']."<br>";
  21.     //preguntamos si recivimos la variable vista por post y si esta vacia
  22.     if(empty($_GET['visita'])){
  23.         echo "estacion 3<br>";
  24.         //si no esta declara y o esta vacia entonces la creamos y le damos el mismo valor que el de la sesion
  25.         $visita=$_SESSION['visita'];
  26.         echo $_SESSION['visita']."sesion <br>";
  27.         echo $visita."variable <br>";
  28.     }else{
  29.         echo "estacion 4<br>";
  30.         //si la variable si existe y viene con datos estos datos se los pasamos a una variable
  31.         $visita=$_GET['visita'];
  32.         //reescribirmos la sesion tambien
  33.         $_SESSION['visita']=$visita;
  34.         echo $_SESSION['visita']."sesion <br>";
  35.         echo $visita."variable <br>";
  36.     }
  37.     echo "estacion 5<br>";
  38.     echo $_SESSION['visita']."sesion <br>";
  39.     echo $visita."variable <br>";
  40.     ?>
  41.     <a href="#">login</a><br>
  42.     <a href="?visita=3">Registro</a><br>
  43.     <a href="?visita=2">navegar</a><br>
  44.     <?php
  45.  
  46.     //como es primera ves que entra el usuario debemos mostrar aqui el formulario de login
  47.     //mostrar el formulario de login
  48.     //1. si hace loggin cambia el valor de la variable de sesion a 4, mostraria la pagina web como usuario no enviamos nada por post
  49.     //2. si hace Click en registrarce  el valor de la variable de sesion a 3, y enviamos por POST el valor 3 y lo envia al formulario de registro
  50.     //3. si hace click en Entrar como Quest, cambia el valor de la variable de sesion a 2 y enviamos por POST el valor 2, mostraría la pagina como usuari de visita sin privilegios,
  51. }else{
  52.     //en este lado entra si existe una variable sesion establecida y si tiene un valor en ella
  53.     //lo primero que hacemos es verificar nuevamente si traemos algun valor por post
  54.     if(empty($_GET['visita'])){
  55.         echo "estacion 6<br>";
  56.         //como no traemos valores por POST creamos la variable y asignamos su valor desde la sesion
  57.         $vista=$_SESSION['visita'];
  58.         echo $_SESSION['visita']."sesion <br>";
  59.         echo $visita."variable <br>";
  60.     }else{
  61.         echo "estacion 7<br>";
  62.         //si viene algo por post lo capturamos
  63.         $visita=$_GET['visita'];
  64.         echo $_SESSION['visita']."sesion <br>";
  65.         echo $visita."variable <br>";
  66.         }
  67.     //Despues de esto revisamos cual es el valor de $visita
  68.     if($visita==1){
  69.         $_SESSION['visita']=$visita;
  70.         echo "estacion 8<br>";
  71.         echo $_SESSION['visita']."sesion <br>";
  72.         echo $visita."variable <br>";
  73.         ?>
  74.         <a href="#">login</a>
  75.         <a href="?visita=3">Registro</a>
  76.         <a href="?visita=2">navegar</a>
  77.         <?php
  78.         //mostrar el formulario de login
  79.         //1. si hace loggin cambia el valor de la variable de sesion a 4, mostraria la pagina web como usuario no enviamos nada por post
  80.         //2. si hace Click en registrarce  el valor de la variable de sesion a 3, y enviamos por POST el valor 3 y lo envia al formulario de registro
  81.         //3. si hace click en Entrar como Quest, cambia el valor de la variable de sesion a 2 y enviamos por POST el valor 2, mostraría la pagina como usuari de visita sin privilegios,
  82.     }
  83.     if($visita==2 or $visita<0/*valores negativos*/ or $visita>4){
  84.         $_SESSION['visita']=$visita;
  85.         echo $_SESSION['visita']."sesion <br>";
  86.         echo $visita."variable <br>";
  87.         echo "estacion 9<br>";
  88.         //mostramos la pagina para un usuario sin loggin no registrado
  89.         echo "mostrar pagina para usuarios no registrados<br>";
  90.         ?>
  91.         <a href="#">login</a>
  92.         <a href="?visita=1">Regresar al login</a>
  93.         <a href="?visita=3">Regresar al Registro</a>
  94.         <?php
  95.         //la pagina tendra 2 botones para regresar al login o al registro enviamos valores por post
  96.         //los botones cambiaran por POST la variable: 1 para entrar al login y 3 para ir al registro
  97.     }
  98.     if($visita==3){
  99.         $_SESSION['visita']=$visita;
  100.         echo $_SESSION['visita']."sesion <br>";
  101.         echo $visita."variable <br>";
  102.         echo "estacion 10<br>";
  103.         //mostramos el Registro de usuario
  104.         echo "mostrar Mostrar el formulario de registro<br>";
  105.         //al final del registro estableceremos la variable sesion en
  106.         ?>
  107.         <a href="?visita=1">Regresar al login</a>
  108.         <?php
  109.     }
  110.     if($visita==4){
  111.         $_SESSION['visita']=$visita;
  112.         echo $_SESSION['visita']."sesion <br>";
  113.         echo $visita."variable <br>";
  114.         echo "estacion 11<br>";
  115.         //mostramos la pagina para usuarios que han hecho loggin
  116.         echo "mostrar contenido pagina web para usuario registrado<br>";
  117.         //al final del registro estableceremos la variable sesion en
  118.     }
  119. }
  120. ?>
  121. </body>
  122. </html>
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #14 (permalink)  
Antiguo 21/02/2014, 17:41
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

buenas esto nuevamente por aquí, ahora les traigo el código un poco mas limpio:

les presento mi index actualmente :
Código PHP:
Ver original
  1. <?php
  2.     include('cont/funciones.php');// llamo a las funciones
  3.     sesion();//inicio la sesion mediante una funcion
  4. ?>
  5. <!doctype html>
  6. <html lang="es">
  7. <?php include('cont/head.php'); ?>
  8. <body>
  9. <?php
  10.     visita();// llamo a la funcion de visita que hace el filtro del contenido que vera el cliente en su visita.
  11. ?>
  12. </body>
  13. </html>

le muestro el archivo funciones.php que es donde guardo las funciones.


Código PHP:
Ver original
  1. <?php
  2. ///////////////////////////////////////////////////////////////////////////
  3. function sesion(){//inicia una sesion
  4.     session_name('nombre');
  5.     session_start();
  6. }
  7. ///////////////////////////////////////////////////////////////////////////
  8. function visita(){//selector de zona
  9.     if(empty($_SESSION['visita'])){
  10.         $_SESSION['visita']=1;
  11.         if(empty($_POST['visita'])){
  12.             $visita=$_SESSION['visita'];
  13.         }else{
  14.             $visita=$_POST['visita'];
  15.             $_SESSION['visita']=$visita;
  16.         }
  17.         //como es primera ves que entra el usuario debemos mostrar aqui el formulario de login
  18.         //mostrar el formulario de login
  19.         //1. si hace loggin cambia el valor de la variable de sesion a 4, mostraria la pagina web como usuario no enviamos nada por post
  20.         //2. si hace Click en registrarce  el valor de la variable de sesion a 3, y enviamos por POST el valor 3 y lo envia al formulario de registro
  21.         //3. si hace click en Entrar como Quest, cambia el valor de la variable de sesion a 2 y enviamos por POST el valor 2, mostraría la pagina como usuari de visita sin privilegios,
  22.     }else{
  23.         if(empty($_POST['visita'])){
  24.             $vista=$_SESSION['visita'];
  25.         }else{
  26.             $visita=$_POST['visita'];
  27.             }
  28.         //Despues de esto revisamos cual es el valor de $visita
  29.         if($visita==1){//                             linea 34
  30.             $_SESSION['visita']=$visita;
  31.             //mostrar el formulario de login
  32.             include('cont/login.php');
  33.             //1. si hace loggin cambia el valor de la variable de sesion a 4, mostraria la pagina web como usuario no enviamos nada por post
  34.             //2. si hace Click en registrarce  el valor de la variable de sesion a 3, y enviamos por POST el valor 3 y lo envia al formulario de registro
  35.             //3. si hace click en Entrar como Quest, cambia el valor de la variable de sesion a 2 y enviamos por POST el valor 2, mostraría la pagina como usuari de visita sin privilegios,
  36.         }
  37.         if($visita==2 or $visita<0/*valores negativos*/ or $visita>4){//                             linea 42
  38.             $_SESSION['visita']=$visita;
  39.             //la pagina tendra 2 botones para regresar al login o al registro enviamos valores por post
  40.             //los botones cambiaran por POST la variable: 1 para entrar al login y 3 para ir al registro
  41.         }
  42.         if($visita==3){//                             linea 47
  43.             $_SESSION['visita']=$visita;
  44.             include('cont/registro.php');
  45.         }
  46.         if($visita==4){//                             linea 51
  47.             $_SESSION['visita']=$visita;
  48.             //mostraria la pagina web como usuario
  49.         }
  50.     }
  51. }
  52. ?>
  53. ///////////////////////////////////////////////////////////////////////////


solo por prueba lo puse a funcionar a ver que me salia por pantalla:

Cita:
Notice: Undefined variable: visita in C:\xampp\htdocs\cont\funciones.php on line 34
Notice: Undefined variable: visita in C:\xampp\htdocs\cont\funciones.php on line 42
Notice: Undefined variable: visita in C:\xampp\htdocs\cont\funciones.php on line 42
Notice: Undefined variable: visita in C:\xampp\htdocs\cont\funciones.php on line 42
Notice: Undefined variable: visita in C:\xampp\htdocs\cont\funciones.php on line 47
Notice: Undefined variable: visita in C:\xampp\htdocs\cont\funciones.php on line 51
esto me sale al visitar la pagina entonces no se como resolverlo...

he buscado las recomendaciones son estas:

Cita:
Ways to deal with the issue:

1. Recommended: Declare your variables. Or use isset() to check if they are declared before referencing them, as in: $value = isset($_POST['value']) ? $_POST['value'] : '';.

2. Set a custom error handler for E_NOTICE and redirect the messages away from the standard output (maybe to a log file). set_error_handler('myHandlerForMinorErrors', E_NOTICE | E_STRICT).

3. Disable E_NOTICE from reporting. A quick way to exclude just E_NOTICE is error_reporting( error_reporting() & ~E_NOTICE ).

4. Suppress the error with the @ operator.

Note: It's strongly recommended to implement just point 1.
el detalle es que aunque tengo conocimiento programando como no lo estudio a fondo no se como implementar las medidas descritas.

Agradezco el apoyo que me pueda brindar, y como verán esos son los errores que me sale cuando utilizo el método POST sera que debo cambiar lo s isset(); por emty();???
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB

Última edición por arcanisgk122; 21/02/2014 a las 17:48
  #15 (permalink)  
Antiguo 21/02/2014, 17:58
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

Sería mejor si utilizaras una clase para así instanciar a sus métodos (que en este caso serían sesion y visita y desde el index enviarías el valor de $_POST['visita'] hacia el método visita, pues aunque incluyas al archivo funciones.php en el index, éste no recibirá los valores por POST como sí lo hace el index que es el archivo hacia el cual enviaste los valores en cuestión, por eso aparece la alerta de Undefined variable: visita.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #16 (permalink)  
Antiguo 21/02/2014, 18:07
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

ok y como se hace eso de las clases creo que tengo una idea pero no logro comprenderlo bien a nivel de implementacion sintaxis y estructura???

la problemática es la siguiente con el código tal como esta tendría que declarar
en funciones.php
Código PHP:
Ver original
  1. $visitas='';
al inicio del código y eso me daría como problema el hecho de que el valor se resetearia a vacio siempre. que re recargue, y según el modelo de programación que estamos haciendo index.php debe controlar todo el contenido de la pagina. con diferentes filtro para su navegación.

el otro detalles es el mandar como dices por POST a la clase que dices debo crear.
yo tengo entendido que para mandar por POST necesito un campo, que el cliente lo llene y le de click...

con el código actual simplemente me gustaría ver que esta fallando, por que con include(funcion.php) no recibe los datos por POST.

Gracias
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #17 (permalink)  
Antiguo 21/02/2014, 18:43
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

Ya sea que mandes y recibas los datos por el método GET o POST y deseas procesarlo en una función la cual se encuentra en otro archivo (por más que lo incluyas, no deja de estar en otro archivo), bien puedes ejecutar la función en el mismo archivo index o instanciando una clase en la que la función se encuentre (con lo cual sería un método) y pasarle como argumento el valor recibido por GET o POST.

index.php
Código PHP:
Ver original
  1. include "funciones.php";
  2. visita($_POST['visita']);

funciones.php
Código PHP:
Ver original
  1. function visita($dato){
  2.     //Aquí realizas las instrucciones que desees, pero reemplazando $_POST['visita'] por $dato
  3. }

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #18 (permalink)  
Antiguo 21/02/2014, 18:53
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

no concuerdo con tu argumento
Cita:
Ya sea que mandes y recibas los datos por el método GET o POST y deseas procesarlo en una función la cual se encuentra en otro archivo (por más que lo incluyas, no deja de estar en otro archivo)
tienes documentación de referencia para respaldar esto que dices???

debido a lo que he investigado si o si tiene que ser por post para evitar el envió por URL(GET)... y limitaciones de 512 caracteres...

Cita:
index.php
Código PHP:
Ver original
  1. include "funciones.php";
visita($_POST['visita']);
funciones.php
Código PHP:
Ver original
  1. function visita($dato){
  2.     //Aquí realizas las instrucciones que desees, pero reemplazando $_POST['visita'] por $dato
  3. }
sinceramente si para ti esto es una clase lamento decirte que es lo mismo que lo que hago yo, la diferencia es que no puedes utilizar esto:
Código PHP:
Ver original
  1. $visita($_POST['visita']);
Directamente sobre index.php
debido a que te mandara error cuando no lo recibas y caemos en lo mismo hacer la consulta mediante isset() o empty() que aun no estoy seguro de cual usar...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB

Última edición por arcanisgk122; 21/02/2014 a las 18:58
  #19 (permalink)  
Antiguo 21/02/2014, 18:58
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

No entendiste bien lo que dije. Me refería a que sea cual sea el método que utilices, si vas a procesar el dato recibido en una función que se encuentre en otro archivo, tienes que invocar a dicha función en el archivo que recibe el valor y pasársela como parámetro. Que uses GET o POST, es indiferente a lo que hago referencia.

Por cierto, en ningún momento dije que eso fuera una clase.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 21/02/2014 a las 19:05
  #20 (permalink)  
Antiguo 21/02/2014, 19:05
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

si lo que dices es cierto tendre que dividir en dos funciones para conquistar el objetivo, crear un funcion especifica para saber si
$_sesion['visita'] fue declarada existe y tiene algun valor,
$visita fue declarada existe y tiene algún valor,
en tal caso si no existe retornar valores predeterminados
y luego los valores del return mandarlo a la funcion que hace el friltro.
la idea tiene futuro déjame trabajarla. por que creo que el scrip que diseñe hace exactamente lo mismo pero sin enviar los datos del un return...

ahora el detalle es como retornar 2 valores de una sola funcion?
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #21 (permalink)  
Antiguo 21/02/2014, 19:12
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

Para evitar tener que utilizar dos funciones como dices, podrías hacerlo así:

Código PHP:
Ver original
  1. include "funciones.php";
  2.  
  3. if (isset($_POST['visita']) and !is_null($_POST['visita']) and !empty($_POST['visita']) and strlen($_POST['visita'])){
  4.     visita($_POST['visita']);
  5. }

Como incluyo el archivo funciones.php, puedo invocar directamente a la función, del mismo modo que lo haría instanciando una clase.

Código PHP:
Ver original
  1. include "funciones.php";
  2. $clase = new nombreClase(); //Suponiendo que existiera esa clase en funciones.php
  3.  
  4. if (isset($_POST['visita']) and !is_null($_POST['visita']) and !empty($_POST['visita']) and strlen($_POST['visita'])){
  5.     $clase->visita($_POST['visita']); //Suponiendo que existiera ese método en la clase de funciones.php
  6. }

A lo que he hecho referencia en las últimas respuestas es a que solamente en el archivo index.php puedes utilizar a $_POST['visita'] pues es ese archivo el que lo recibe y no funciones.php, que por más que lo incluyas, no puede recibir dicho dato de esa forma, por eso se lo envío a través de la función visita como parámetro.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #22 (permalink)  
Antiguo 21/02/2014, 20:00
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

ok ya casi esta listo entonces siguiendo tus instrucciones tengo ahora este código:

INDEX.PHP
Código PHP:
Ver original
  1. <?php
  2.     include('cont/funciones.php');
  3.     sesion();
  4. ?>
  5. <!doctype html>
  6. <html lang="es">
  7. <?php include('cont/head.php'); ?>
  8. <body>
  9. <?php
  10.     $visita = verificar();          // con esto llamo a la funcion y al mismo tiempo recivo y guardo la variable que retorna.
  11.     visita($visita);                  //llamos ala funcion que hace el filtro
  12. ?>
  13. </body>
  14. </html>

en Funciones.PHP agregue Echos para imprimir por donde va el filtro en fase de prueba:

Código PHP:
Ver original
  1. <?php
  2. ///////////////////////////////////////////////////////////////////////////
  3. function sesion(){//inicia una sesion
  4.     session_name('NOMBRE');
  5.     session_start();
  6. }
  7. ///////////////////////////////////////////////////////////////////////////
  8. function verificar(){//selector de zona
  9.     echo "pasamos por la funcion verifica. <br>";
  10.     if(empty($_POST['visita'])){
  11.         $_SESSION['visita']=1;
  12.         $visita =1;
  13.         echo "variable sin determinar y vacias por POST, se devolvera el valor de visita = $visita .<br>";
  14.     return $visita;
  15.     }else{
  16.         echo "si tenemos datos por POST, igualaremos la variable y la sesion al datos que venga por POST se devolvera el valor de.<br>";
  17.         $_SESSION['visita']=$_POST['visita'];
  18.         $visita=$_POST['visita'];
  19.     return $visita;
  20.     }
  21.  
  22. }
  23. ///////////////////////////////////////////////////////////////////////////
  24. function visita($visita){//selector de zona a visitar
  25.     echo "pasamos por la funcion visita <br>";
  26.     if(isset($_SESSION['visita']) && empty($_SESSION['visita'])){
  27.         $_SESSION['visita']=1;
  28.         echo "variable sin determinar y vacias en Sesion se igualara a 1.<br>";
  29.     }else{
  30.         $visita=$_SESSION['visita'];
  31.         echo "se determino que la variable de sesion tiene un valor, entonces se lo pasaremos a $visita.<br>";
  32.     }
  33.     echo "en este momento la variable $visita y sesion deben tener valores<br>";
  34.     echo "<br>Valor variable Vista ".$visita."<br>";
  35.     echo "<br>Valor variable sesion ".$_SESSION['visita']."<br>";
  36.     echo "iniciamos el filtro <br>";
  37.     if(empty($visita)){
  38.         echo "si de casualidad la variable esta vacia entonces mostramos el loggin<br>";
  39.         include('cont/login.php');
  40.         }
  41.     if(!empty($visita) && $visita==1){
  42.         $_SESSION['visita']=$visita;
  43.         echo "mostramos el loggin <br>";
  44.         include('cont/login.php');
  45.     }
  46.     if(!empty($visita) && ($visita==2 or $visita<0/*valores negativos*/ or $visita>4)){
  47.         $_SESSION['visita']=$visita;
  48.         echo "si el usuario decide navegar le mostramos la pagiana web<br>
  49.         la pagina tendra 2 botones para regresar al login o al registro enviamos valores por post<br>
  50.         los botones cambiaran por POST la variable: 1 para entrar al login y 3 para ir al registro<br>
  51.         ";
  52.     }
  53.     if(!empty($visita) && $visita==3){
  54.         $_SESSION['visita']=$visita;
  55.         echo "mostramos el registro";
  56.         include('cont/registro.php');
  57.     }
  58.     if(!empty($visita) && $visita==4){
  59.         echo "mostramos la pagina para los usuarios registrados<br>";
  60.         $_SESSION['visita']=$visita;
  61.         //mostraria la pagina web como usuario
  62.     }
  63. }
  64. ///////////////////////////////////////////////////////////////////////////

hasta el momento con solo cargar la pagina no me sale ningun error, llega hasta el Login y me lo muestra, ahora viene lo bueno.

en el loggin tengo 3 botones de esta manera(se que no funcionan por que enviar por GET):

Código HTML:
Ver original
  1. <div><button type="submit" class="lbutton">Login &raquo;</button></div>
  2. <div><form><button type="submit" onClick="location.href='?visita=3'" class="lbutton">Registrarse &raquo;</button><form></div>
  3. <div><form><button type="submit" onClick="location.href='?visita=4'"class="lbutton">Visitar Web &raquo;</button></form></div>

como hago para que esos botones envien valores por POST? al llegar aqui tengo el 90% del script resuelto
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #23 (permalink)  
Antiguo 21/02/2014, 20:29
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

Así como tienes esos formularios, no van a enviar los datos a ningún lugar pues no especificas el nombre del archivo destino. Suponiendo que el destino fuera ejemplo.php, sería así:

Código HTML:
Ver original
  1. <form action = "ejemplo.php" method = "post">
  2.     <input type = "hidden" name = "visita" value = 3 />
  3.     <input type = "submit" value = "Registrarse" />
  4. </form>
  5.  
  6. <form action = "ejemplo.php" method = "post">
  7.     <input type = "hidden" name = "visita" value = 4 />
  8.     <input type = "submit" value = "Visitar Web" />
  9. </form>

Como los campos visita son ocultos, no se verán excepto los botones. Implementa esto y nos muestras el progreso que has logrado.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #24 (permalink)  
Antiguo 21/02/2014, 20:55
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

te equivocas amigo ya eso lo resolví,
lo que pasa es que en el mismo documento de loggin
en una parte hago llamada a la funcion login(); en la cual si existe los datos de usuario y contraseña enviado por POST entra en la funcion y realisa el proceso de logueo la cual a su ves retorna el valor de $visita=4 lo cual a su ves como la pagina se refresca termina enviado a mi preciado usuario a la pagina de usuarios registrados.

bueno hasta el momento esa es la idea... lo cual tengo que probar y hacer que funcione igual que el anterior codigo.

ahora resolvi lo de los botones ya que cuando uno clickea un boton el tambien es enviado como array por POST entonces es facil:

Código HTML:
Ver original
  1. <form method="post" action="" >
  2. Contenido de el login
  3.  
  4. <div><button type="submit" class="lbutton">Login &raquo;</button></div>
  5. <div><button type="submit" name="visita" value="3" class="lbutton">Registrarse &raquo;</button></div>
  6. <div><button type="submit" name="visita" value="4" class="lbutton">Visitar Web &raquo;</button></div>
  7. </form>

como veras le puse un value a los botones y un name... en el momento que lo pulsen enviara $_POST['visita']

ahora tengo un problema diferente de diseño y logica que resolver a la ves, ya que los 3 botones estan dentro del mismo form y necesito sacarlos sin estropear el diseño...

al menos que esto se pueda resolver por ajax... crear un boto dentro de un From que en el momento que se le de click mediate ajax cree otro form y envie por POST el valor que contiene y que en ese precido momento refresque la pagina ignorando al Form padre al que pertenece...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #25 (permalink)  
Antiguo 21/02/2014, 21:05
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

Lo anterior lo dije por esto:

Código HTML:
Ver original
  1. onClick="location.href='?visita=4'"

Eso no tendría que funcionar pues ?visita=4 es la query string de la URI, sin embargo, como tenías los botones dentro de formularios y no especificaste en ellos el nombre del archivo destino, pues se realiza el envío hacia el mismo sitio. Para lo segundo que mencionas, puedes hacerlo como te lo expliqué en la respuesta anterior, un formulario para cada dato, como los campos que contienen el dato están ocultos, no se verán y por ende, no distorsionarán el diseño.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #26 (permalink)  
Antiguo 21/02/2014, 21:14
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

exacto funcionaria si todo estuviera en GET el script (GET hace Reques por URL) pero como pasamos Todo POST ahora el boton no sirve. o eso creo a menos que se pueda modificar el boton para que trabaje con POST.

detallo mas al respecto en el Foro de javascript ya que este tema no tendría nada que ver con programación PHP:

http://www.forosdelweb.com/f13/crear...4/#post4570915
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #27 (permalink)  
Antiguo 21/02/2014, 21:23
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

Si envías el valor desde un formulario como te expliqué en una de las respuestas anteriores, el método a usar lo especificas en el atributo method del formulario. Si colocas POST, se realizará el envío por dicho método, caso contrario, por GET.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #28 (permalink)  
Antiguo 21/02/2014, 21:29
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

ok confirmarme lo que me estas queriendo decir:

si yo tengo un form con metod post

y dentro hay un boton con un evento de esta clase

Código HTML:
Ver original
  1. onClick="location.href='?visita=4'"

puedo recivir la variable por POST??? aunque este en la URL?
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #29 (permalink)  
Antiguo 21/02/2014, 21:39
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evento onclick para cambiar dato de coockie

Quita el onclick, está de más puesto que para los formularios existe el <input> de tipo submit, al pulsarlo, se envía la información. La idea es que tengas el valor a enviar en un campo oculto dentro del formulario, de modo que cuando pulses el botón, se envía dicho valor a través del método POST.

Código HTML:
Ver original
  1. <form action = "ejemplo.php" method = "post">
  2.     <input type = "hidden" name = "visita" value = 3 />
  3.     <input type = "submit" value = "Registrarse" />
  4. </form>
  5.  
  6. <form action = "ejemplo.php" method = "post">
  7.     <input type = "hidden" name = "visita" value = 4 />
  8.     <input type = "submit" value = "Visitar Web" />
  9. </form>

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #30 (permalink)  
Antiguo 21/02/2014, 21:44
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: evento onclick para cambiar dato de coockie

ese es el detalle tal como me lo imaginaba, el problema esta en que el diseño deñ formulario ya esta hecho, y el Boton de Registrarse y Visitar Web Entan dentro del mismo form de login y cuando le soy click a cualquier boton me bloquea la accion... ya que para el form los input de usuario y contraseña son required... y adivina que el mismo problema existe con el formulario de registro...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB

Etiquetas: dato, evento, onclick, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:56.