• Resuelto javiprada1

    (@javiprada1)


    Hola!

    Es la primera vez que escribo y me gustaría felicitar a toda la comunidad por el mantenimiento y desarrollo de esta maravillosa herramienta.

    Mi duda es la siguiente:

    He probado de mil formas diferentes y no logro asignar valor a unas variables de sesion, no sé que me puede estar fallando, adjunto codigo de la page functions.php:

    add_action ('init', 'myStartSession', 1);
    function myStartSession() {
         if (! session_id ()) {
             session_start();
    $_SESSION['myname'] = "4lvin";
    $_SESSION["color"]  = "verde";
    $_SESSION['animal'] = 'gato';
    $_SESSION['time']   = time();
         }
    }

    y lo estoy imprimiendo así:

    echo "<br>Color ".$_SESSION["color"];  // verde
          echo "<br>Animal ".$_SESSION['animal']; // gato
          echo "<br>Fecha ".$_SESSION['time'];
    
    	  if (isset($_SESSION['color'])){
            echo "<br>Variable registrada";
    		}else{
            echo "<br>Variable NO registrada";
    		}
             	  if (isset($_SESSION['animal'])){
            echo "<br>Variable registrada";
    		}else{
            echo "<br>Variable NO registrada";
    		}	  if (isset($_SESSION['time'])){
            echo "<br>Variable registrada";
    		}else{
            echo "<br>Variable NO registrada";
    		}   if (isset($_SESSION['myname'])){
            echo "<br>Variable registrada";
    		}else{
            echo "<br>Variable NO registrada";
    		}

    Muchas gracias y saludos.

Viendo 1 respuesta (de un total de 1)
  • Iniciador del debate javiprada1

    (@javiprada1)

    Disculpad, ya he encontrado mi fallo, era bastante obvio…

    La cuestión era la siguiente, desde WP llamaba a otra pagina PHP que me gestionaba el pago por PAYPAL, pues bien, el fallo mio es que a esta nueva página no le había puesto el session_start(), quedando definitivamente de la siguiente forma:

    <?php
    //Iniciar sesion
     if (!session_id()) {
             session_start();
    		}
    ?>

    OJO: Me generaba el Warning: «…cannot send session cache limiter – headers already sent (output started…» Yo lo he solucionado poniendo el bloque php anterior en la parte superior de mi página y perfecto.

    Espero que os sirva de ayuda, podéis encontrarme en mi blog, saludos.

Viendo 1 respuesta (de un total de 1)
  • El debate ‘No puedo usar las variabres $SESSION en mi WordPress’ está cerrado a nuevas respuestas.