Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Getting crazy with CaptivePortal and PHP execution

    Scheduled Pinned Locked Moved Captive Portal
    16 Posts 2 Posters 4.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      deajan
      last edited by

      This is the content of my test.php I just re-uploaded to pfSense CP.
      The variable inside the function does not show.

      
      $somevar = "Hello world !";
      echo "Say ". $somevar."
      ";
      
      startPage();
      
      function startPage()
      {
      	global $somevar;
      	?>
      
      							echo "I will never show the variable ". $somevar."
      ";
      			?>
      
      	}
      
      echo "I too say ". $somevar;
      ?>
      
      

      The real code of my project works now since I replaced all global keywords with function($varX, $varY).
      I'll upload my real code to github once I have removed the company branding stuff, and will post a new HowTo once everything is ready for me.

      NetPOWER.fr - some opensource stuff for IT people

      1 Reply Last reply Reply Quote 0
      • D
        doktornotor Banned
        last edited by

        As noted above - the variable inside the function shows perfectly fine on any box I tried… Your real code is broken.

        
        Say Hello world !
        
        			I will never show the variable Hello world !
        
        	I too say Hello world !
        
        

        Global variables are used extensively across the entire pfSense code.  ::)

        1 Reply Last reply Reply Quote 0
        • D
          deajan
          last edited by

          Well I'm sorry to insist, but this code gives me the following when executed on pfSense 2.1.4 CP:

          
          Say Hello world !
          
          			I will never show the variable 
          
          	I too say Hello world !
          
          

          Maybe something is corrupt in my installation (I've played a bit with it to install MySQL, but this shouldn't be an issue after all).
          I'll investigate from a new install, redo all steps, and see where it hangs.

          NetPOWER.fr - some opensource stuff for IT people

          1 Reply Last reply Reply Quote 0
          • D
            doktornotor Banned
            last edited by

            I don't have any pfSense 2.1.4 anywhere. Noone cares about dead code. If you have a PHP bug there, it will never get fixed. (As noted, global variables are extensively used in the entire pfSense code. And frankly, tired of "debugging" some wannabe reduced test case that doesn't reproduce anything anyway.) If you want to debug something, post the real thing, not broken "testcases".

            1 Reply Last reply Reply Quote 0
            • D
              deajan
              last edited by

              Typo, using pfSense 2.2.4 of course.
              I frankly don't get it. I narrowed down the problem to this test case so I it would be easier to find the problem.

              I usually wait until I my code gets a bit polished before bringing it online, but here it is:
              https://github.com/deajan/pfSense-cp-auth-onestep

              The file used on the captive portal is ozy-captive.php

              Here's what I get once uploaded. The red marks show where variables are missing.

              I wrote the documention to setup this captive portal along with FreeRADIUS & MySQL. Once I could get all my problems resolved, I'll make a HowTo thread here.

              NetPOWER.fr - some opensource stuff for IT people

              1 Reply Last reply Reply Quote 0
              • D
                deajan
                last edited by

                @doktornotor Code has been posted, anything missing ?

                NetPOWER.fr - some opensource stuff for IT people

                1 Reply Last reply Reply Quote 0
                • D
                  doktornotor Banned
                  last edited by

                  Did not have time to look at all yet, sorry. Need some break on weekends. :P

                  1 Reply Last reply Reply Quote 0
                  • D
                    deajan
                    last edited by

                    Okay, no hurry. I'll take patience until you may find what's the problem here.  :P

                    NetPOWER.fr - some opensource stuff for IT people

                    1 Reply Last reply Reply Quote 0
                    • D
                      doktornotor Banned
                      last edited by

                      Before I forget this again: perhaps you'd have better luck if you stick something like this into captiveportal-config.php

                      
                      global $brand, $hotelName, $hotelSite, $identificator;
                      
                      

                      before declaring those variables.

                      1 Reply Last reply Reply Quote 0
                      • D
                        deajan
                        last edited by

                        Hi,

                        Seems you're right, the php version on FreeBSD needs declaration of global variables before the functions, mine didn't.
                        Thanks, works like a charm :)

                        NetPOWER.fr - some opensource stuff for IT people

                        1 Reply Last reply Reply Quote 0
                        • D
                          doktornotor Banned
                          last edited by

                          Thanks for reporting back; have completely forgotten about this one meanwhile.

                          1 Reply Last reply Reply Quote 0
                          • D
                            deajan
                            last edited by

                            Hello,

                            I've finally posted the how to that goes with my single step captive portal wrapper here https://forum.pfsense.org/index.php?topic=108493.msg604190#msg604190
                            If you find this useful, could you consider putting it as sticky post ?

                            Regards,
                            Ozy.

                            NetPOWER.fr - some opensource stuff for IT people

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.