2017-02-22 11 views
1

Я пытаюсь проверить, есть ли текст из моего EditText уже в базе данных. Я действительно новичок в PHP & MySQL.Проверьте, существует ли в Android код

Я попытался получить все имена пользователей и проверить, соответствует ли это EditText Текст. Сначала это выглядело хорошо. Я проверил его с

if(!UsernameDB.equals(editUsername.getText().toString()){ 
    Toast.makeText(Register.this, "Not taken", Toast.LENGTH_SHORT).show(); 
} 

Проблема в том, что она тосты для каждого имени. Поэтому я не могу спросить, все ли заполнено правильно (Email, Пароль и т. Д.), Потому что он говорит, что он не соответствует после того, как он прошел Имя, которое соответствует.

Кто-нибудь знает, как я могу решить мою проблему?

+1

Вы уверены, что строка UsernameDB - это то, что вы ожидаете? Это может помочь вывести UsernameDB в adb, чтобы увидеть фактическое значение, прежде чем выполнять сравнение. – dungtatas

+2

Непонятно, что такое UsernameDB, опубликуйте информацию об этом – Caner

ответ

0

Я не уверен, что вам нужно сделать это с помощью Ajax или нормально обновлять сайт. Вот пример для освежения: Прежде всего, вам нужна формульный (HTML):

<?php include("loginFunktion.php"); ?> 
<form action="" method="Post">  
     <input name="name"> 
     <input type="submit" name="test" value="test">    
</form> 

Вот основные из вашей БД класса (новый лист):

<?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(); 
?> 

Теперь у вас есть соед АЗДЕЛ к вашей БД, и вы можете сделать 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 AJAX немного усложнить для вас. Nethertheless thats хороший гид: https://www.w3schools.com/php/php_ajax_database.asp

В следующий раз, пожалуйста, добавьте больше информации.