Simple question please help

The problem its that when a rotate when i press forward on the stick or key it goes on direction of the X axis and when I press backwards it goes on the Z axis like it should, before rotating everythong works fine. heres the code

public class Player : MonoBehaviour {

public float speed = 10.0f;
public float rotationSpeed = 100.0f;
public float jumpSpeed = 8.0f;
public float gravity = 20.0f;
private Vector3 moveDirection = Vector3.zero;
private float rotation;
private bool attacking = false;

public Camera myCamera = null;
public GameObject weapon = null;

void Update () {
Movement();
MoveCamera();
}
public void Movement() {
if (attacking == false) {
CharacterController controller = GetComponent();
if (controller.isGrounded) {
moveDirection = new Vector3(0, 0, Input.GetAxis(“Vertical”));
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
if (Input.GetButton(“Jump”))
moveDirection.y = jumpSpeed;
}
moveDirection.y -= gravity * Time.deltaTime;
controller.Move(moveDirection * Time.deltaTime);
rotation = Input.GetAxis(“Horizontal”) * rotationSpeed;
rotation = Time.deltaTime;
transform.Rotate(0, rotation, 0);
}
}
//needs more work
public void MoveCamera() {
//myCamera.transform.RotateAround(transform.position,Vector3.up,100 * Input.GetAxis(“2Vertical”) * Time.deltaTime);
//myCamera.transform.RotateAround(transform.position,Vector3.forward,16
Input.GetAxis(“2Horizontal”)*Time.deltaTime);
}

}

Please use ‘code’ tags when posting code (and make sure the indentation and formatting are preserved as well).