所以我正在使用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,但我没有。如果没有可用的互联网连接,我只想要显示一条消息。
答案 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
}