Player's position won't change no matter what

I don’t know why but one test, the player moves freely and fine and now it won’t budge, even in scene view (this only happens when I’m playing in the Game View). I’ve tried everything I can think of and it’s driving me insane.

Please Help.

can we see the code?

@faraz_zaidi22
using UnityEngine;
using UnityEngine.UI;

public class PlayerControl : MonoBehaviour
{
    public Rigidbody rb;
    public float PlayerSpeed = 50f;
    public bool Running = false;
    public SpriteRenderer sr;
    public Animation anim;
    public Animator animator;
    public bool canSideWalk = true;
    public float switchdelay = 1;
    public int character_id = 1;
    public int encounter_chance = 1;
    public PlayerControl playerControl;
    public Battle battle;
    public CameraControl cameraControl;
    public GameObject player;
    public bool canwalk = true;
    void Start()
    {
        sr = GetComponent<SpriteRenderer>();
        anim = GetComponent<Animation>();
        animator = GetComponent<Animator>();
    }

    void FixedUpdate()
    {
        if (Input.GetKey("up"))
        {
            if (canwalk == true)
            {
                rb.AddForce(0, PlayerSpeed * Time.deltaTime, 0);
                encounter_chance = Random.Range(1, 501);
                if (character_id == 1)
                {
                    canSideWalk = false;
                    animator.Play("CollinWalkUp");
                    Invoke("switchside", switchdelay);
                }
                if (encounter_chance == 69)
                {
                    Debug.Log("Battle Started!");
                    if (battle.location != 0)
                    {
                        canwalk = false;
                        Invoke("StartBattle", 1.5f);
                    }
                }
            }
        }
        //same for all other directions

        if (Input.GetKey("x"))
        {
            if (Running == false)
            {
                PlayerSpeed = PlayerSpeed * 2;
                Running = true;
            }
        }
        if (!Input.GetKey("x"))
        {
            if (Running == true)
            {
                PlayerSpeed = PlayerSpeed / 2;
                Running = false;
            }
        }
    }
    void switchside()
    {
        canSideWalk = true;
    }
    void StartBattle()
    {
        Music1.SetActive(false);
        Music2.SetActive(false);
        Music3.SetActive(false);
        Music4.SetActive(false);
        Music5.SetActive(true);
        Music6.SetActive(false);
        battle.enabled = true;
        canwalk = true;
        playerControl.enabled = false;
        openMenu.enabled = false;
    }

Did you set the rigidbody to kinematic?

if (canwalk == true)

why are there 2 =

try changing it to

             if (canwalk = true)