2016-10-27 5 views
4

Регистрация пользователя страница не проверяет

<?php 
 
    \t 
 
     
 

 
    $name = $_POST["name"]; 
 
    $age = $_POST["age"]; 
 
    $email = $_POST["email"]; 
 
    $password =$_POST["password"]; 
 

 
    $statement = mysqli_prepare($db, "INSERT INTO user_info(name,age,email,password) 
 
    VALUES 
 
    (?,?,?,?)"); 
 
    mysqli_stmt_bind_param($statement, "siss", $name, $age, $email, $password); 
 
    mysqli_stmt_execute($statement); 
 
     
 
     if($statement>0){ 
 
       $response["success"] = 1; 
 
      }  
 
     else{ 
 
       $response["success"] = 0; 
 
      } 
 
     
 
     echo json_encode($response); 
 

 

 

 
    ?>

Моя регистрация пользователя страница не хочет проверять. Пожалуйста, советьте, с какой стороны кодирования между текстовым файлом PHP и стороной android валидация допустит проверку. Пожалуйста, помогите дальше, вот код.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_register); 

final EditText Name = (EditText) findViewById(R.id.edtName); 
final EditText Age = (EditText) findViewById(R.id.edtAge); 
final EditText Email = (EditText) findViewById(R.id.edtUsername); 
final EditText Password = (EditText) findViewById(R.id.edtPassword); 
final ImageButton validate = (ImageButton) findViewById(R.id.btnReg); 

validate.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) { 
final int age = Integer.parseInt(Age.getText().toString()); 
final String name = Name.getText().toString(); 
final String email = Email.getText().toString(); 
final String password = Password.getText().toString(); 


Name.setText(""); 
Age.setText(""); 
Email.setText(""); 
Password.setText(""); 

                     Response.Listener<String>responseListener=new         Response.Listener<String>() { 
@Override 
public void onResponse(String response) { 
try { 
JSONObject jsonResponse = new JSONObject(response); 
boolean success = jsonResponse.getBoolean("success"); 
if (success) { 
Intent intent = new Intent(Register.this, Login.class); 
Register.this.startActivity(intent); 
} else { 
AlertDialog.Builder builder = new AlertDialog.Builder(Register.this); 
builder.setMessage("Register Failed") 
.setNegativeButton("Retry", null) 
.create() 
.show(); 
} 
} catch (JSONException e) { 
e.printStackTrace(); 
} 
} 
}; 
RegisterRequest registerRequest = new RegisterRequest(name, age, email, password, responseListener); 
RequestQueue queue = Volley.newRequestQueue(Register.this); 
queue.add(registerRequest); 
} 
}); 
} 

public void extBtn(View view) { 
Intent intent = new Intent(this, MainActivity.class); 
startActivity(intent); 
} 
} 
+0

, пожалуйста, напишите свой php-код, который вы получаете, и какую функцию вы вызываете, чтобы мы поняли, что происходит и можем вам помочь. – Clay

+0

Hi Clayton. Спасибо за ответ, однако я пытаюсь опубликовать PHP-код, а javascript обнаруживает ошибку, и я все еще борюсь за ее исправление. – Cecilia

+0

есть слишком много PHP-кода, просто опубликуйте соответствующий код, который, по вашему мнению, является кодом, вызывающим проблему, или в худшем случае вы можете опубликовать его в pastebin, хотя это не так идеально (StackOverflow предпочитает иметь код, размещенный непосредственно на сайт). – Clay

ответ

0

Попробуйте использовать эту часть кода:

$bind = mysqli_stmt_bind_param($statement, "siss", $name, $age, $email, $password); 
$execute = $bind->mysqli_stmt_execute($bind); 

if(count($execute) > 0){ 
    $response["success"] = 1; 
} else{ 
    $response["success"] = 0; 
}  

echo json_encode($response); 

count является подсчет строк в базе данных.

+0

Мне просто нужно проверить поля ввода, например, по электронной почте, используя REGEXP, пароль и т. Д., Чтобы ограничить пользователя. – Cecilia

Смежные вопросы