Нет
Ну "онклик" же явно говорит, что функция срабатывает на клик. А вам это не надо. Соответсвенно ваша ошибка в php.
Вы проверяете пустой или нет $_POST['login'], а вам нужно проверить есть ли он вообще. if (isset($_POST['login']))..... и вы этом случае не выводить ни чего. В настоящий момент при этой ситуации php скрипт попадает в ваше условие заставляющее отобразить окно с ошибкой
<?php
if (isset($_POST['login'])) {
if(empty ($_POST['login'])) {?>
<script>
window.onload = function() {
swal("Password or Login incorrect!");
}
</script>
<?php
}
else {
echo 'login correct';
}
}
?>