Camera does not follow player

Hi
I am fairy new in Unity and I trying to make a shooter game.
I have a short script that attaches to the player object for his movement and another scripts that control camera movement, But I have encountered a funny bug which I couldn’t solve it.
Player movement script:

using UnityEngine;
using System.Collections;

public class PlayerMovement : MonoBehaviour
{


public float speed = 6f;
//to store movement
Vector3 movement;
Rigidbody playerRigidbody;
int floorMask;
float camRayLenghth = 100f;

//gets called regardless if the script is enabled or not
void Awake(){
	floorMask = LayerMask.GetMask ("Floor");
	playerRigidbody = GetComponent<Rigidbody> ();
	//Input.ResetInputAxes ();
}

//unity calles automatically on every script and fire any physics object
void FixedUpdate(){
	float h = Input.GetAxisRaw ("Horizontal");
	float v = Input.GetAxisRaw ("Vertical");
	Move (h, v);
	//Rotate ();

	Turning ();

}

void Move(float h, float v){
	movement.Set (h,0f,v);
	movement = movement.normalized * speed * Time.deltaTime;
	playerRigidbody.MovePosition (transform.position + movement);
}

void Turning (){
	Ray camRay = Camera.main.ScreenPointToRay (Input.mousePosition);
	RaycastHit floorHit;
	if (Physics.Raycast (camRay,out floorHit,camRayLenghth,floorMask)) {
		Vector3 playerToMouse = floorHit.point - transform.position;
		playerToMouse.y = 0f;
		Quaternion newRotation = Quaternion.LookRotation (playerToMouse);
		playerRigidbody.MoveRotation (newRotation);
	}
}
}

script that attaches to MainCamera:

using UnityEngine;
using System.Collections;

public class CameraFollow : MonoBehaviour {
// a target for camera to follow
public Transform player;

// how fast the camera moves
public float smoothing = 4f;

//the initial offset from the target
Vector3 offset;

void start(){
	//calculation of initial offset (distance) between player and camera
	offset = transform.position - player.position;
	Debug.Log ("offset is " + offset);
}

void FixedUpdate (){
	//updates the position of the camera based on the player's position and offset
	Vector3 playerCameraPosition = player.position + offset;

	//make an smooth transfer of location of camera using lerp
	transform.position = Vector3.Lerp(transform.position, playerCameraPosition, smoothing * Time.deltaTime);			

}

}

But I see some thing funny happening, As soon as I hit play, camera starts moving even though the position of the player is not changed, and Camera moves from top of the player to the ground and the player is not visible any more.
If I make the camera a child of the player, camera starts to rotate.

I spend a good time on why camera behaves like this but zero success. I was wondering if anybody sees some thing wrong with my code.
Thank you

Well,I am a newbie myself but maybe this helps. Attach this script to your player

void Update{
Camera.main.transform.position =this.transform.position-this.transform.forward *10 + this.transform.up * 3;
Camera.main.transform.LookAt (this.transform.position);
Camera.main.transform.parent = this.transform;
}

In your CameraFollow class, the start function is in lower case, it should be Start. Unity is case sensitive.

So in your case the offset equalls to (0,0,0) so the camera is moving to the “anchored” position of the player.

EDIT: I’ve changed the answer a bit thanks to @tanoshimi. Please read his comment as to how to view the private memebers of your scripts in the editor view.