how many bits of information can a while or if statement take

hello

im having a hard time getting my touch screen to work. the first button works(the sensor menu screen)
then three more buttons appear after pressing this. this is the sensormenu screen.
one button works all the time, I have changed the order of them but the button in first position always works. the second button pressed (either position two or three) will work once and not again until uploading the sketch again. the third button (either button that hasn't been pressed doesn't work at all).

is that using while or if, you can only "store" two values, true and false?

that is what im thinking, im putting one value of true from the first button, a value of true for the second button. problem there is two values of true and why is only one working every time? I don't think its the touch screen as I have tried another which has the same problem.

void sensormenu()   

    {
      myGLCD.clrScr();
      myButtons.deleteButton(butmenu);
          myGLCD.print("Menu", CENTER, 0);
          butbmp = myButtons.addButton( 10, 20, 50, 50, "bmp");
          butdht = myButtons.addButton( 130, 20, 50, 50, "dht22");
          butldr = myButtons.addButton( 260, 20, 50, 50, "LDR");
          myButtons.drawButtons();
     
     while (1)
       {
            if (myTouch.dataAvailable() == true)
    
              {
                  pressed_button = myButtons.checkButtons();
                  
               if (pressed_button==butbmp)
                      {    
                          bmpmenu();
                      }
                  
                  
                  
                  
                  if (pressed_button==butdht)
                      {    
                          dhtmenu();
                      }
                      
              
             
                    
                 if (pressed_button==butldr)
                     {
                          ldrmenu();
                     }
    
              }
          }
     }

There is no storage involved - an expression is evaluated and returns either false (zero) or true
(non-zero). This controls the program's subsequent flow.

Your code has if-statements that evaluate the equality operator '==', which returns
either true or false. The variable you test is not the condition, the == test is the
condition.

It is often a bad idea to write

if (  something == true ) 
{
     //  do something
}
if ( something )
{
    //  do something
}

is better.