RFID check

I hope you like it now

Well, I don't.

  if(RFID.available()>0){
    
  data[0] = RFID.read(); 
  data[1] = RFID.read(); 
  data[2] = RFID.read();
  data[3] = RFID.read();

If there is at least one byte to read, read all 4 of them. Why can't you see that this is wrong?

    if ((data[0] == tag1[0])&&(data[1] == tag1[1])&&(data[2] == tag1[2])&&(data[3] == tag1[3])) {

Googling memcmp() is in your future.

  if (tag1_card==true) {

Don't you suppose that true == true evaluates to true, just like true does?

if(tag1_card)
{ // Down here where it belongs!