Use RFID and SD Card together

Alright still struggling with some additional code. I've been all over the googles. I found you need to install a resistor on the MSIO (which I did). This has allowed me to leave the cards connected and run the code for each separate from one another and they work just fine. However when I combine the codes the SD card faults when reading a RFID tag.

I eventually would like to add the uid to a string that I save to the SD card every second.

I am open to try anything.

#include <SD.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "RTClib.h"
#include <SPI.h>
#include <MFRC522.h>
RTC_DS3231 rtc;
const int chipSelect = 10;
LiquidCrystal_I2C lcd(0x27,4,20);
unsigned long previousMillis = 0;
const long interval = 1000;
#define SS_PIN 49
#define RST_PIN 6
MFRC522 rfid(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key key;
byte nuidPICC[4];


void setup()
{
 pinMode(4, OUTPUT);
 pinMode(10, OUTPUT);
 pinMode(53, OUTPUT); 
 pinMode(49, OUTPUT);
 digitalWrite(10, HIGH);
 digitalWrite(49, HIGH);

 lcd.init(); 
 lcd.backlight();
 Serial.begin(9600);
 Serial.println("Prepare SD card");
 lcd.setCursor(0, 0);
 lcd.print("Prepare SD card");
 delay(500);
 
 if (!SD.begin(chipSelect)) {
 Serial.println("Card Failed");
 lcd.setCursor(0,1);
 lcd.print("Card Failed");
 while (1);
 }
 Serial.println("Card Ready");
 lcd.setCursor(0,1);
 lcd.print("Card Ready");
 delay(500);
 lcd.clear();
 delay(500);
SPI.begin(); // Init SPI bus
  rfid.PCD_Init(); // Init MFRC522 

  for (byte i = 0; i < 6; i++) {
    key.keyByte[i] = 0xFF;
  }

}


void loop() 
{
  if ( ! rfid.PICC_IsNewCardPresent())
    return;
   if ( ! rfid.PICC_ReadCardSerial())
    return;



 for (byte i = 0; i < 4; i++) {
      nuidPICC[i] = rfid.uid.uidByte[i];
    }
   
  printHex(rfid.uid.uidByte, rfid.uid.size);
    Serial.println();
   rfid.PICC_HaltA();

  
  rfid.PCD_StopCrypto1();
  
  DateTime now = rtc.now();
  
  unsigned long currentMillis = millis();
  
  String path = "";
  String sensors = "";
  String dataString = "";
  String filename = "";
  String foldername = "";
  String date = "";
  
  if (currentMillis - previousMillis >= interval) {
      previousMillis = currentMillis;
  lcd.clear();
  for (int analogPin = 0; analogPin < 8; analogPin++) {
  int sensor = analogRead(analogPin);
  dataString += String(sensor);
  sensors += String(sensor);
  if (analogPin < 7) {
  dataString += ",";
  sensors += ",";
  }
  }
  
  dataString += ",";
  dataString += String(now.month(), DEC);
  dataString += "/";
  dataString += String(now.day(), DEC);
  dataString += "/";
  dataString += String(now.year(), DEC);
  dataString += ",";
  dataString += String(now.hour(), DEC);
  dataString += ":";
  dataString += String(now.minute(), DEC);
  dataString += ":";
  dataString += String(now.second(), DEC);
  
  filename += String(now.hour(), DEC);
  filename += ".csv";
  
  foldername += String(now.year(), DEC);
  foldername += String(now.month(), DEC);
  foldername += String(now.day(), DEC);
  
  path += String(foldername);
  path += "/";
  path += String(filename);

  date += String(now.month(), DEC);
  date += "/";
  date += String(now.day(), DEC);
  date += "/";
  date += String(now.year(), DEC);
  date += "   ";
  date += String(now.hour(), DEC);
  date += ":";
  date += String(now.minute(), DEC);
  date += ":";
  date += String(now.second(), DEC);

  SD.mkdir(foldername);  
  
  File dataFile = SD.open(path, FILE_WRITE);
  
  if (dataFile) {
  dataFile.println(dataString);
  dataFile.close();
  
  Serial.println(sensors);
  Serial.println(foldername);
  Serial.println(filename);
  Serial.println(path);
  
  lcd.home();
  lcd.print(date);
  lcd.setCursor(0,2);
  lcd.print("Folder:");
  lcd.setCursor(14,2);
  lcd.print("File:");
  lcd.setCursor(0,3);
  lcd.print(foldername);
  lcd.setCursor(14,3);  
  lcd.print(filename);

  
  
  }
  else {
  Serial.println("Error Opening File");
  lcd.setCursor(0,0);
  lcd.print("Error Opening File");
  }
  }

}

void printHex(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    Serial.print(buffer[i], HEX);
  }
}

I think my error is with the cs. How do i disable the rfid to write to the sd then disable the sd to read the rfid

A wiring diagram and links to the used hardware are the least information we need.