Consejo: Usa un editor con corrector sintáctico para programar (por ejemplo, NetBeans). Ayuda a hacer que el script sea más legible.
Esto está mal:
Código PHP:
Ver original$y1 == "si";
$y2 == "si";
$y3 == "no";
$y4 == "no";
Esa no son asignaciones, sino
comparaciones, ya te lo dije un poco más arriba.
Código PHP:
Ver original<?php
if (isset($_POST['x1']) && ); {
$x1 = $_POST['x1'];
$x2 = $_POST['x2'];
$x3 = $_POST['x3'];
$x4 = $_POST['x4'];
$y1 == "si";
$y2 = "si";
$y3 = "no";
$y4 = "no";
}
if
($y1 == $x1 AND
$y2 == $x2 AND
$y3 == $x3 AND
$y4 == $x4):
echo "La seleccion es correcta";
else: echo "La selección es incorrecta";
endif;
?>
Ten cuidado con los "===". Se usan de un modo diferente al "==".
Prueba esto y verás la diferencia:
Código PHP:
Ver original<?php
$a = 1;
$b = "1";
if($a == $b)
{echo "TRUE: $a es igual a $b.<br>";}
if($a === $b)
{echo "TRUE: $a es identico a $b.\n";}
else
{echo "FALSE: $a es de diferente tipo a $b.\n";}
?>
Cita: Notice: Undefined index: x1 in C:\xampp\htdocs\esquema.php on line 57
Eso quiere decir que el indice "x1" de $_post no existe. Al menos no existe en el contexto de ejecución de tu script.
Cita: Notice: Undefined variable: y1 in C:\xampp\htdocs\esquema.php on line 61
La variable $y1 no existe. Probablemente porque estás comparando y no asignando...
¿Por qué no separas el HTML del PHP en scripts separados, como para probar las cosas de modo más ortodoxo? Por allí eso ayuda.