如何在没有互联网连接的情况下显示:“错误:无连接”?

时间:2017-04-21 18:03:14

标签: php android mysql post wifi

所以我正在使用php进行登录/注册系统,我可以将其用于我的Android应用程序(使用Android Studio 2.3.1)。

我已经可以通过手机注册了。但我发现,如果我关闭wifi和我的数据,我尝试注册一个空消息显示。我想用文本填写这个空消息:“错误:没有连接”,但我真的不知道如何。

我的代码是:

<?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及其功能还不是很有经验,或者对于那个问题有堆栈流,因此我自己还没能找到解决方案而且我无法在线找到它,因为我只是得到的是人们无法连接到wifi,但我没有。如果没有可用的互联网连接,我只想要显示一条消息。

2 个答案:

答案 0 :(得分:1)

你应该在客户端检查javascript,因为php是服务器端,只有在线时才会执行

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

答案 1 :(得分:0)

如果没有连接,您应该如何加载PHP页面?如果您有互联网接入,您必须检查客户端,例如通过ping服务器。

或者,如果您正在处理网站输出(&#39;用户名已存在&#39;依此类推),您可以检查

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