Ich versuche, eine Anmeldung und Registrierung in meiner Android App, aber das Problem, das ich gegenüberstelle, ist wie, ich bin in der Lage, meine Registrierung in der Tabelle zu tun, aber ich kann nicht mit denen einloggen registrierte Werte. Es zeigt mir die "Fehler" -Meldung meines Login-PHP-Skripts. Unten ist mein "login.php" Dateilogin in android mit php und mysql
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
$username = $_POST['username'];
$password = $_POST['password'];
require_once('dbConnect.php');
$sql = "SELECT * FROM register WHERE username = '$username' AND password='$password'";
$result = mysqli_query($con,$sql);
$check = mysqli_fetch_array($result);
if(isset($check){
echo'sucess'
}else{
echo'failure'
}
}
?>
Und das ist mein Android Java File 'Login.java'
package com.example.tejask.add4u;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.AuthFailureError;
import com.android.volley.DefaultRetryPolicy;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import java.util.HashMap;
import java.util.Map;
/**
* Created by tejas k on 26-04-2016.
*/
public class Login extends AppCompatActivity implements View.OnClickListener {
private Button btnLogin;
private TextView txtRegister;
private EditText editUsername,editPassword;
public static final String USER_NAME = "username";
public static final String KEY_PASSWORD="password";
private static final String LOGIN_URL = "http://10.0.2.2/loginn.php";
private String username;
private String password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
editUsername = (EditText) findViewById(R.id.editUsername);
editPassword = (EditText) findViewById(R.id.editPassword);
btnLogin= (Button) findViewById(R.id.btnLogin);
txtRegister=(TextView)findViewById(R.id.txtRegister);
txtRegister.setOnClickListener(this);
btnLogin.setOnClickListener(this);
}
private void userLogin() {
username = editUsername.getText().toString().trim();
password = editPassword.getText().toString().trim();
StringRequest stringRequest = new StringRequest(Request.Method.POST, LOGIN_URL,new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if(response.trim().equals("success")){
openProfile();
}
else{ Toast.makeText(Login.this,response,Toast.LENGTH_LONG).show();
}
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(Login.this,error.toString(),Toast.LENGTH_LONG).show();
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> map = new HashMap<String,String>();
map.put(USER_NAME,username);
map.put(KEY_PASSWORD,password);
return map;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void openProfile(){
Intent intent = new Intent(this,ProfileActivity.class);
intent.putExtra(USER_NAME, username);
startActivity(intent);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btnLogin:
userLogin();
break;
case R.id.txtRegister:
Intent register = new Intent(Login.this,Register.class);
startActivity(register);
break;
}
}
}
fehlt) auf 'if (isset ($ check) {' das ist ein Tippfehler – Matt
'echo'? Zeile muss enden mit ** ';' ** Semikolon – Bharatesh
** Speichern Sie niemals Nur-Text-Passwörter! ** Bitte verwenden Sie PHP [integrierte Funktionen] (http://jayblanchard.net/proper_password_hashing_with_PHP.html), um die Passwortsicherheit zu behandeln. Wenn Sie eine PHP-Version kleiner als 5.5 verwenden, können Sie das 'password_hash()' [compatibility pack] (https://github.com/ircmaxell/password_compat) verwenden. Stellen Sie sicher, dass Sie [Passwörter nicht umgehen] (http://stackoverflow.com/q/36628418/1011527) oder verwenden irgendeinen anderen Reinigungsmechanismus vor dem Hashing. Wenn Sie dies tun, * ändert * das Passwort und verursacht unnötige zusätzliche Codierung. –