Arduino-Arduino RF Communication Problem-message to be sent several times

Hello every body.

I'm communicating two Arduino (Arduino UNO as sender & Arduino Mega as receiver) via RF 433 MHz. Communication is pretty fine sender is sending and receiver is receiving and performing actions accordingly. But there is a problem,I've to send message (say a character or integer) several times using serial monitor to get my desired action performed.
What do I need to do so that communication must take place by sending message only once.

Here are transmitter and receiver codes:
[

//Transmitter Code (Arduino UNO)
#include <VirtualWire.h>
int wrongSignal = 8;
void setup()
{
** Serial.begin(9600);**
** vw_setup(2400);**
** vw_set_tx_pin(7);**
** pinMode(wrongSignal,OUTPUT);**
}
void loop()
{
if(Serial.available())
{
** char c= Serial.read();**

** if(c == '8') //To move foreward**
** {**
vw_send((uint8_t )c, 1); //send one bit i.e. 8
** }
*
** else if(c=='4') //To move left**
** {**
vw_send((uint8_t )c, 1); //send one bit i.e. 4
** }
*
** else if (c=='6') //To move right**
** {**
vw_send((uint8_t )c, 1); //send only one bit i.e. 6
** }
*
** else if(c=='2') // To move reverse**
** {**
vw_send((uint8_t )c, 1); // send only one bit i.e. 2
** }
*
else if(c=='5') // To stop
** {**
vw_send((uint8_t )c, 1); // send only one bit i.e. 5
** }
*

** else if(c=='0') // To stop**
** {**
vw_send((uint8_t )c, 1); // send only one bit i.e. 5
** }
*
** Serial.println(c);**
}
** else**
** digitalWrite(wrongSignal, HIGH);**
}
]
----------------------------------------------------------------------------------------------
[
Receiver Code (Arduino Mega ADK 2560)
#include <VirtualWire.h>
// extra pins -------------------------------- **
const int wrongSignal = 8; // for indication that user sending invalid command
const int enablePin = 12; // enable of the ICs used in circuit
//---------------------------------------------
// base controling pins -------------------
** // Front Left motor M1

** const int frontLeft1 = 30;**
** const int frontLeft2 = 31;**

** // Front Right motor M2**
** const int frontRight1 = 32;**
** const int frontRight2 = 33;**

** //Back Left motor M3**
** const int backLeft1 = 34;**
** const int backLeft2 = 35;**

** //Back Right motor M4 **
** const int backRight1 = 36;**
** const int backRight2 = 37;**
//------------------------------------------
void setup() {

** //Extra pins**
** pinMode(enablePin, OUTPUT); // initialize the enable pin as an output**
** pinMode(wrongSignal, OUTPUT); //initialize wrongSignal pin as output pin**

** // for Motor drive IC pins**
** pinMode(frontLeft1, OUTPUT);**
** pinMode(frontLeft2, OUTPUT);**

** pinMode(frontRight1, OUTPUT);**
** pinMode(frontRight2, OUTPUT);**

** pinMode(backLeft1, OUTPUT);**
** pinMode(backLeft2, OUTPUT);**

** pinMode(backRight1, OUTPUT);**
** pinMode(backRight2, OUTPUT);**

** digitalWrite(enablePin, HIGH);**
** Serial.begin(9600); // initialize serial communications:**
** vw_setup(2400); // baud rate is 2400**
** vw_set_rx_pin(7); // Receiver pin is pin 7**
** vw_rx_start(); // start receiving**
}
void loop()
{

** uint8_t buflen = VW_MAX_MESSAGE_LEN;**
** uint8_t buf[buflen];**

** if(vw_get_message(buf, &buflen))**
** {**
** for (int i = 0; i < buflen; i++)**
** {**
__ if (buf == '8') // move forward, all motors uni-direction__
* {*
* digitalWrite(frontLeft1, HIGH);*
* digitalWrite(frontLeft2, LOW);*
* digitalWrite(frontRight1, HIGH);*
* digitalWrite(frontRight2, LOW);*
* digitalWrite(backLeft1, HIGH);*
* digitalWrite(backLeft2, LOW);*
* digitalWrite(backRight1, HIGH);*
* digitalWrite(backRight2, LOW);*
* } *
_ else if (buf == '4') // move left, M1 >, M4 <
* {
digitalWrite(frontLeft1, HIGH); //M1*
* digitalWrite(frontLeft2, LOW);
digitalWrite(frontRight1, LOW); //M2*
* digitalWrite(frontRight2, LOW);
digitalWrite(backLeft1, LOW); //M3*
* digitalWrite(backLeft2, LOW);
digitalWrite(backRight1, LOW); //M4*
* digitalWrite(backRight2, HIGH);
}*_

* // If the input is '0', turn off the ledPin i.e. send a low signal*

_ else if (buf == '6') // move right, M2>, M3<
* {
digitalWrite(frontLeft1, LOW); //M1*
* digitalWrite(frontLeft2, LOW);
digitalWrite(frontRight1, HIGH); //M2*
* digitalWrite(frontRight2, LOW);
digitalWrite(backLeft1, LOW); //M3*
* digitalWrite(backLeft2, HIGH);
digitalWrite(backRight1, LOW); //M4*
* digitalWrite(backRight2, LOW);
}*_

_ else if (buf == '2') // reverse
* {
digitalWrite(frontLeft1, LOW);
digitalWrite(frontLeft2, HIGH);
digitalWrite(frontRight1, LOW);
digitalWrite(frontRight2, HIGH);
digitalWrite(backLeft1, LOW);
digitalWrite(backLeft2, HIGH);
digitalWrite(backRight1, LOW);
digitalWrite(backRight2, HIGH);
} *_

_ else if (buf == '5') // all motors stop
* {
digitalWrite(frontLeft1, LOW);
digitalWrite(frontLeft2, LOW);
digitalWrite(frontRight1, LOW);
digitalWrite(frontRight2, LOW);
digitalWrite(backLeft1, LOW);
digitalWrite(backLeft2, LOW);
digitalWrite(backRight1, LOW);
digitalWrite(backRight2, LOW);
} *_

_ else if (buf == '0') // all motors stop
* {
digitalWrite(frontLeft1, LOW);
digitalWrite(frontLeft2, LOW);
digitalWrite(frontRight1, LOW);
digitalWrite(frontRight2, LOW);
digitalWrite(backLeft1, LOW);
digitalWrite(backLeft2, LOW);
digitalWrite(backRight1, LOW);
digitalWrite(backRight2, LOW);
}
else*
* digitalWrite(wrongSignal, HIGH);*_

* }*
}
}
]

Please enclose your code in [ code ] [ /code ] tags so the forum software doesn't mangle it. You can go back and edit your post to add them - just select the code, and click on the # button in the edit window to add the tags.

Also, DO NOT CROSS-POST.