compilation ERROR home Alarm

**Hello, **
I'm developing a home alarm, but have an error

Arduino:1.8.7 (Windows 7), Tarjeta:"Arduino/Genuino Uno"

C:\Users\747\Documents\Arduino\Alarma matias\alarma_loop\alarma_loop.ino: In function 'void loop()':

alarma_loop:84:5: error: expected '}' before 'else'

else

^

At global scope:

alarma_loop:93:3: error: 'val' does not name a type

val = digitalRead(Sensor);

^

alarma_loop:94:15: error: expected constructor, destructor, or type conversion before '(' token

digitalWrite(ledEstado, HIGH);

^

alarma_loop:96:3: error: expected unqualified-id before 'if'

if(val == LOW){

^

alarma_loop:105:3: error: expected unqualified-id before 'else'

else{

^

alarma_loop:111:1: error: expected declaration before '}' token

}

^

exit status 1
expected '}' before 'else'

Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.

can anybody help me?
This is my code.

#include <LiquidCrystal.h>

LiquidCrystal lcd(7,6,5,4,3,2);

int ledEstado = 13;
int Sensor = 9;
int buzzer = 8;
int val = 0;

#include <Keypad.h> // importa libreria Keypad

const byte FILAS = 1; // define numero de filas
const byte COLUMNAS = 2; // define numero de columnas
char keys[FILAS][COLUMNAS] = { // define la distribucion de teclas
{'1','2'},
};

byte pinesFilas[FILAS] = {11}; // pines correspondientes a las filas
byte pinesColumnas[COLUMNAS] = {10,12}; // pines correspondientes a las columnas

Keypad teclado = Keypad(makeKeymap(keys), pinesFilas, pinesColumnas, FILAS, COLUMNAS); // crea objeto

char TECLA; // almacena la tecla presionada
char CLAVE[7]; // almacena en un array 6 digitos ingresados
char CLAVE_MAESTRA[7] = "121221"; // almacena en un array la contraseña maestra
byte INDICE = 0; // indice del array

void setup() {
Serial.begin(9600);
pinMode(ledEstado,OUTPUT);
pinMode(Sensor, INPUT);
pinMode (buzzer, OUTPUT);
lcd.begin(16,2);
}

//ACCESO

void loop() {

lcd.setCursor(0,0);
lcd.print("INGRESE CODIGO");
TECLA = teclado.getKey();

if (TECLA){

CLAVE[INDICE] = TECLA;
INDICE++;
Serial.print(TECLA);
lcd.setCursor(0,1);
lcd.print(TECLA);

}

if(INDICE == 6) //6 digitos almacenados
{
if(!strcmp(CLAVE, CLAVE_MAESTRA))
Serial.println (" CORRECTA");

//ALARMA ACTIVADA

val = digitalRead(Sensor);
digitalWrite(ledEstado, HIGH);

if(val == LOW){
lcd.clear();
lcd.print("Atencion intruso!!!!");
digitalWrite(ledEstado, HIGH);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(ledEstado,LOW);
digitalWrite(buzzer, LOW);
delay(200);}
else{
digitalWrite(ledEstado,LOW);
digitalWrite(buzzer,LOW);
}

else
Serial.println (" INCORRECTA");
INDICE = 0;

}

}

delay(200);}
  else{
    digitalWrite(ledEstado,LOW);
    digitalWrite(buzzer,LOW);
  }
    else
    Serial.println (" INCORRECTA");

There are two else statements in a row.

Thaks!!!!
I remove the second else, compilation sucessful. But i have two new problems:
1- when i remove else , alarma activated OK but the program get in the loop.
correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto

How to get out of
this?

2- I need the second else in the case the key is wrong

else
Serial.println (" INCORRECTA");
INDICE = 0;

How i do?

thank you very much is my first program

For #2 maybe have a look at the else if statement

Thank you.

I read that information and was able to successfully compile

but is

correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto correcto

I don't know how to make that when the password is correct it remains in // Alarm activated

#include <LiquidCrystal.h>

LiquidCrystal lcd(7,6,5,4,3,2);

int ledEstado = 13;
int Sensor = 9;
int buzzer = 8;
int val = 0;

#include <Keypad.h> // importa libreria Keypad

const byte FILAS = 1; // define numero de filas
const byte COLUMNAS = 2; // define numero de columnas
char keys[FILAS][COLUMNAS] = { // define la distribucion de teclas
{'1','2'},
};

byte pinesFilas[FILAS] = {11}; // pines correspondientes a las filas
byte pinesColumnas[COLUMNAS] = {10,12}; // pines correspondientes a las columnas

Keypad teclado = Keypad(makeKeymap(keys), pinesFilas, pinesColumnas, FILAS, COLUMNAS); // crea objeto

char TECLA; // almacena la tecla presionada
char CLAVE[7]; // almacena en un array 6 digitos ingresados
char CLAVE_MAESTRA[7] = "121221"; // almacena en un array la contraseña maestra
byte INDICE = 0; // indice del array

void setup() {
Serial.begin(9600);
pinMode(ledEstado,OUTPUT);
pinMode(Sensor, INPUT);
pinMode (buzzer, OUTPUT);
lcd.begin(16,2);
}

//ACCESO

void loop() {

lcd.setCursor(0,0);
lcd.print("INGRESE CODIGO");
TECLA = teclado.getKey();

if (TECLA){

CLAVE[INDICE] = TECLA;
INDICE++;
Serial.print(TECLA);
lcd.setCursor(0,1);
lcd.print(TECLA);

}

if(INDICE == 6) //6 digitos almacenados
{
if(!strcmp(CLAVE, CLAVE_MAESTRA)){
lcd.clear();

Serial.println (" CORRECTA");

//ALARMA ACTIVADA

val = digitalRead(Sensor);
digitalWrite(ledEstado, HIGH);

if(val == LOW){
lcd.clear();
lcd.print("Atencion intruso!!!!");
digitalWrite(ledEstado, HIGH);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(ledEstado,LOW);
digitalWrite(buzzer, LOW);
delay(200);}
else{
digitalWrite(ledEstado,LOW);
digitalWrite(buzzer,LOW);
}

}

else{
Serial.println (" INCORRECTA");
INDICE = 0;
}

}

}