TouchPhase won't return anything but Began

I’m using Unity 4, working on an Android game. When I put the following code at the beginning of my Update function:

myGUI.text =  Input.touches[0].phase + "";

it works perfectly, prints Moved when I move my finger, prints Stationary when I don’t, etc. myGUI is a GUIText object.

But when I put that same snippet of code after this code:

		if (Input.touches[0].phase == TouchPhase.Began) {
			if (Input.touches[0].position.y < scrnW/2) {
				rightTouchNum = 1; }
			else if (Input.touches[0].position.y > scrnW/2) {
				leftTouchNum = 1;  }
			}

		else if (Input.touches[1].phase == TouchPhase.Began) {
			if (Input.touches[1].position.y < scrnW/2) {
				rightTouchNum = 2;	}
			else if (Input.touches[1].position.y > scrnW/2) {
				leftTouchNum = 2;  }
			}

It won’t return anything but Began. Why is this?? How can I possibly be altering the results of touchphase with these if statements? rightTouchNum, leftTouchNum and scrnW are just integers.

I’ve attached my code for good measure. Thank you!

I can’t see anything wrong with your code, just for testing try this:

switch(Input.touches[0].phase)
		{
			case TouchPhase.Began:
			break;
			
			case TouchPhase.Moved:
			break;
			
			case TouchPhase.Ended:
			break;
		}

Figured it out! Turns out i’m a big old dummy. Here’s the correct code

		if(Input.touchCount > 0)
		{
		
		//When finger is touched down, determines if left or right:
		if (Input.touches[0].phase == TouchPhase.Began) {
			if (Input.touches[0].position.y < scrnW/2) {
				rightTouchNum = 1; }
			else if (Input.touches[0].position.y > scrnW/2) {
				leftTouchNum = 1;  }
			}
				
				
			if (Input.touchCount >1) {	
		if (Input.touches[1].phase == TouchPhase.Began) {
			if (Input.touches[1].position.y < scrnW/2) {
				rightTouchNum = 2;	}
			else if (Input.touches[1].position.y > scrnW/2) {
				leftTouchNum = 2;  }
			}
			}
		}