Поэтому я работаю в системе входа / регистрации с 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, но у меня этого нет. Я просто хочу, чтобы сообщение отображалось, если нет подключения к интернету.
Вы должны проверить с javascript на стороне клиента, потому что php на стороне сервера и будет выполняться, только если онлайн
<script>
$.ajax({
url: "http://www.google.com",
context: document.body,
error: function(jqXHR, exception) {
alert('offline')
},
success: function() {
alert('ONline')
}
})
</script>
Если у вас нет соединения, как вы сможете загрузить страницу PHP? Вы должны проверить клиента, если у вас есть доступ в интернет, например, пингуя сервер.
В качестве альтернативы, если вы обрабатываете вывод сайтов («Имя пользователя уже существует» и т. Д.), Вы можете проверить
if(answer = "") {
//seems to have no connection
//your code goes here
}