How to lose a life every one second after entered a trigger?

Hi guys, I am currently working on a 2D game. But I have a problem that makes my character die instantly when I hit a trigger. I set my code to reduce 1 health everytime entered the trigger. Can you please help me to get through this problem. Thank you for instance. Here is my code;

using UnityEngine;
using System.Collections;

public class GameManager : MonoBehaviour {

	public Texture2D playerHealthTextureFull;
	public Texture2D playerHealthTextureEmpty;
	public GUITexture health1;
	public GUITexture health2;
	public GUITexture health3;

	public int playerHealth = 3;


	void Start () {

		playerHealth = 3;
	
	}

	void Update () 
	{
		if ( playerHealth == 3 ) 
		{
			health1.texture = playerHealthTextureFull;
			health2.texture = playerHealthTextureFull;
			health3.texture = playerHealthTextureFull;
		}
		
		if( playerHealth == 2 )
		{
			health1.texture = playerHealthTextureFull;
			health2.texture = playerHealthTextureFull;
			health3.texture = playerHealthTextureEmpty;
		}
		
		if ( playerHealth == 1 ) 
		{
			health1.texture = playerHealthTextureFull;
			health2.texture = playerHealthTextureEmpty;
			health3.texture = playerHealthTextureEmpty;
		}
		if (playerHealth == 0) 
		{
			health1.texture = playerHealthTextureEmpty;
			health2.texture = playerHealthTextureEmpty;
			health3.texture = playerHealthTextureEmpty;
		}
	}

	void PlayerDamaged(int damage)
	{
		if(playerHealth > 0 )
		{
			playerHealth -= damage;

		}

		if(playerHealth <= 0)
		{
			playerHealth = 0;
			Application.LoadLevel(0);
		}
	}


}

Setup a new bool to check to see if you can take damage in the first place. This is useful if your character falls on spikes, and you want to give the player 2 seconds to get to safe place.

So,

If I can take damage
++canTakeDamage = false;
–Do what you already have
++Start a coroutine to countdown X seconds

Coroutine
++Waitforseconds X
++canTakeDamage = true;

Can anyone help this to get rid of that problem ?