Во-первых: знайте, что вы выполняете код, который содержит пользовательский ввод! Таким образом, пользователь может попытаться выполнить код на вашем сервере, который он хочет, но вы не наносите серьезного ущерба своему серверу или вашим данным!
Чтобы решить вашу проблему с загрузчиком, вы должны попробовать использовать Javascript и одну страницу для ввода формы и загрузки счетчика. Если вы включили jQuery, перехватите отправку формы и отправьте данные с помощью AJAX. Во время выполнения запроса вы можете показать свой загрузочный счетчик.
$(function() {
$("form").submit(function(e) {
e.preventDefault(); // Prevent the default submission of the form
var form = $(this);
var url = form.attr('action'); // Extract the URL from the form
// Show your loading information and hide the form
$("#loading_div").show();
$("form").hide();
$.ajax({
type: "POST",
url: url,
data: form.serialize(), // Send the form information as
success: function(data) {
// Script has finished
// Do something here...
},
error: function() {
// Script execution not successful
}
});
});
});
И ваш индекс:
<form action="welcome.php" method="post">
<div class="row">
<div class="col-25">
<label for="fname">Website url</label>
</div>
<div class="col-75">
<input type="text" name="site" placeholder="Enter the site to be validated" autocomplete="off" pattern="(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+" required>
</div>
</div>
<div class="row">
<!--input type="submit" value="Validate"-->
<div><input type="submit" name="user_button" value="I'm a normal user"></div>
<div><input type="submit" name="programmer_button" value="I'm a programmer"></div>
</div>
</form>
<div style="display: none;" id="loading_div">
<h1>Please wait</h1>
<p> Processing the url. It may take a few seconds. </p>
<img src="images/loader.gif" alt="loading" id="loader" />
</div>
Полагаю, ваш второй фрагмент с "php code" - welcome.php?