Player controller Code error for 3D game

I’m making a clone game and I’m having trouble moving the player.

I used the space shoot tutorial on how to move the ship and set a boundary.

http://unity3d.com/earn/tutorials/projects/space-shooter/moving-the-player

The camera in my game is behind the play so I made a few alterations to fit. before i added the boundary code it worked fine (up, down, left, right), now the player can move left and right but when it comes to up and down it just jutts forward a few units

progress so far:
**using UnityEngine;
using System.Collections;

[System.Serializable]
public class Boundary
{
public float xMin, xMax, yMin, yMax;
}

public class PlayerController : MonoBehaviour
{
public float speed;

public Boundary boundary; 

void FixedUpdate ()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");

Vector3 movement = new Vector3(moveHorizontal, moveVertical, 0.0f);
rigidbody.velocity = movement * speed; //time:9mins 

rigidbody.position = new Vector3 
	(
Mathf.Clamp (rigidbody.position.x, boundary.xMin, boundary.xMax),
0.0f,
    Mathf.Clamp (rigidbody.position.y, boundary.yMin, boundary.yMax)
	);
}

}

Can anyone offer some advice???

If you moved your camera from top down to behind the player try moving your ship on the z axis instead of the y axis.

Mathf.Clamp (rigidbody.position.z, boundary.zMin, boundary.zMax)