Ese es el punto, isset() sirve para verificar si una variable existe antes de utilizarla.
Si no existe y la usas entonces salta el error de "undefined variable" justo como dices que te sucede ahora.
La comprobación lógica es bastante sencilla.
Código PHP:
if (isset($_POST['foo'])) {
// el resto del código que utiliza dicha variable
}
Otra forma es asignar un valor por defecto en caso de que no exista, así evitamos errores.
Código PHP:
$foo = isset($_POST['foo']) ? $_POST['foo'] : 'valor por defecto';
// ?: equivale a
if (isset($_POST['foo'])) { $foo = $_POST['foo']; } else { $foo = 'valor por defecto'; }