android — Как отобразить: & quot; Ошибка: нет соединения & quot; в php, когда нет подключения к интернету?

Поэтому я работаю в системе входа / регистрации с php, которую я могу использовать для своего приложения для Android (работающей с Android Studio 2.3.1).

Я уже могу зарегистрироваться через мой телефон. Но я обнаружил, что если я отключаю Wi-Fi и мои данные, и я пытаюсь зарегистрироваться, отображается пустое сообщение. Я хотел бы заполнить это пустое сообщение с текстом: «Ошибка: нет связи», но я действительно не знаю, как.

Мой код:

<?php
if($_SERVER['REQUEST_METHOD']=='POST')
{
$hostname = "hostname";
$username = "username";
$password = "password";
$dbname = "databasename";

$conn = mysql_connect($hostname, $username, $password);

if (!$conn)
{ die('Could not connect: ' . mysql_error());  }

mysql_select_db($dbname, $conn);

$name = $_POST["name"];
$username = $_POST["username"];
$password = $_POST["password"];
$email = $_POST["email"];
$repeatpassword = $_POST["repeatpassword"];

if($name == '' || $username == '' || $password == '' || $email == ''){
echo 'Please fill in the missing fields';
}else{

$checkusername = mysql_query("SELECT * FROM users WHERE
username='$username'");
$checkemail = mysql_query("SELECT * FROM users WHERE email='$email'");
$testusername = mysql_fetch_array($checkusername);
$testemail = mysql_fetch_array($checkemail);

if($testemail) {
echo 'Email is already used';
}else {

if ($testusername){
echo 'Username already exists';
} else{

if ($_POST["password"] <> $_POST["repeatpassword"]) {
echo 'Passwords do not match';
}else {

if (mysql_query("INSERT INTO users (name, username, password, email) VALUES
('$name','$username', '$password','$email')")){
echo 'Successfully registered. Now try logging in.';
}else{
echo 'Oops! Please try again!';
}

}
}
}
}

mysqli_close($conn);
}

Я еще не очень разбираюсь в php и его функциях, или в этом вопросе от stackoverflow, и поэтому сам пока не смог найти решение и не могу найти его в Интернете, потому что все, что я получаю, это люди возникли проблемы с подключением к Wi-Fi, но у меня этого нет. Я просто хочу, чтобы сообщение отображалось, если нет подключения к интернету.

0

Решение

Вы должны проверить с javascript на стороне клиента, потому что php на стороне сервера и будет выполняться, только если онлайн

    <script>
$.ajax({
url: "http://www.google.com",
context: document.body,
error: function(jqXHR, exception) {
alert('offline')
},
success: function() {
alert('ONline')
}
})
</script>
1

Другие решения

Если у вас нет соединения, как вы сможете загрузить страницу PHP? Вы должны проверить клиента, если у вас есть доступ в интернет, например, пингуя сервер.

В качестве альтернативы, если вы обрабатываете вывод сайтов («Имя пользователя уже существует» и т. Д.), Вы можете проверить

 if(answer = "") {
//seems to have no connection
//your code goes here
}
0

По вопросам рекламы [email protected]