player entering car position

im trying to make the player enter and exit a car. i have it all working good except as the player enters the car the cars position and rotation changes to what the players position and rotation is. i found turning the charactor controller to help the player position exiting the car

This is attached to the car object:

    void enterCar(){
        CharacterController cc = player.GetComponent(typeof(CharacterController)) as CharacterController;
        cc.enabled = false;
            enteredCar = true;
            //this.transform.rotation = player.transform.rotation;
            //this.transform.position = player.transform.position;
            player.transform.rotation = this.transform.rotation;
            player.transform.position = this.transform.position;
            this.transform.parent = player.transform;
        } else {
            enteredCar = false;
            this.transform.parent = null;
            player.transform.position = player.transform.position + new Vector3(0,0,-3);
            //player.transform.position = new Vector3(-3f,0,-3f);
        cc.enabled = true;

If its fine that the player just disappears, why dont you just disable the whole player gameObject? And when you exit car, then set it active again.