检查用户名是否存在于Android代码
问题描述:
我试图检查我的EditText的文本是否已经在数据库中。我真的很新PHP & MySQL。检查用户名是否存在于Android代码
我试图接收所有的用户名,并检查它是否等于EditText Text。起初它看起来不错。我检查了它与
if(!UsernameDB.equals(editUsername.getText().toString()){
Toast.makeText(Register.this, "Not taken", Toast.LENGTH_SHORT).show();
}
问题是,它为每个名称敬酒。所以我不能问是否一切都填写正确(电子邮件,密码等),因为它说它不匹配后,它通过匹配的名称。
有人知道我能如何解决我的问题吗?
答
我不确定是否需要通过Ajax来完成,或者可以刷新网站。 这里是令人耳目一新的例子:所有的 首先你需要一个公式推(HTML):
<?php include("loginFunktion.php"); ?>
<form action="" method="Post">
<input name="name">
<input type="submit" name="test" value="test">
</form>
那是你的DB类(新工作表)的基本:
<?php
class DB {
protected $mysqli;
function __construct(){
$this->host = "***";
$this->username = "***";
$this->database = "***";
$this->password = "***";
}
function connect(){
$this->mysqli = new mysqli($this->host, $this->username, $this->password, $this->database);
if (mysqli_connect_errno()) {
printf("Connect failed: %s<br/>", mysqli_connect_error());
exit();
}
}
function disconnect() {
// Verbindung beenden
$this->mysqli->close();
}
}
?>
现在你有包括类和你的类的构造函数连接到您的数据库(下面的代码是loginFunktion.php片):
<?php
include("dbclassname.php");
$_DB = new DBData();
$_DB -> connect();
?>
现在你有一个康恩挠度你的DB和u可以做querys:
if(isset($_POST["test"])){
$queryCALL ="SELECT user FROM t_user WHERE user_name=".$_REQUEST["name"];
$result = $this->mysqli->query($queryCALL);
$ergebnis=$result->fetch_array()[0];
if(count($ergebnis)>0)
echo "this name is used";
}
如果您对PHP的阿贾克斯新是复杂的,你一点点。尽管如此,这是一个很好的指导: https://www.w3schools.com/php/php_ajax_database.asp
下一次,请添加更多信息。
你确定字符串UsernameDB是你期望的吗?在进行比较之前,可以帮助将UsernameDB注销到adb以查看实际值。 – dungtatas
目前还不清楚UsernameDB是什么,发布一些关于它的信息 – Caner