2016-03-25 5 views
1

私はログインと登録活動を行っています。
ログインしてデータベースに登録することもできません。アクティビティのデータをそれぞれlogin.phpとRegistration.phpに送信します。私はWampサーバーを使用しています。PHPとMySQLを使用したログインと登録は、応答としてhtmlタグを表示します

問題は、サーバーからの応答がHtmlタグとして返されるBackroundTask.javaにあります。私はHTMLでトーストメッセージが表示され、正しい値を使用してログインしようとしたとき、私はlogin.php & registration.phpのエコーメッセージログインアクティビティで

BackgroundTask.java

public class BackgroundTask extends AsyncTask<String, Void, String> { 

// AlertDialog alertDialog; 

Context ctx; 
BackgroundTask(Context ctx) 
{ 
    this.ctx=ctx; 

} 


@Override 
public String doInBackground(String... params) { 


     String reg_url="http://10.0.2.2/webapp/Register.php"; 
     String login_url="http://10.0.2.2/webapp/login.php"; 
      String method= params[0]; 
     if(method.equals("register")) 
     { 
      String name=params[1]; 
      String u_address=params[2]; 
      String user_pass=params[3]; 
      String u_email=params[4]; 
      String u_zip=params[5]; 
      String u_mob=params[6]; 

      try { 
       URL url = new URL(reg_url); 
       HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection(); 
       httpURLConnection.setRequestMethod("POST"); 
       httpURLConnection.setDoOutput(true); 
       OutputStream os = httpURLConnection.getOutputStream(); 
       BufferedWriter bufferedWriter= new BufferedWriter(new OutputStreamWriter(os,"UTF-8")); 
       String data = URLEncoder.encode("user","UTF-8")+"="+URLEncoder.encode(name,"UTF-8")+"&"+ 
         URLEncoder.encode("address","UTF-8")+"="+URLEncoder.encode(u_address,"UTF-8")+"&"+ 
         URLEncoder.encode("user_pass","UTF-8")+"="+URLEncoder.encode(user_pass,"UTF-8")+"&"+ 
         URLEncoder.encode("emailid","UTF-8")+"="+URLEncoder.encode(u_email,"UTF-8")+"&"+ 
         URLEncoder.encode("zip","UTF-8")+"="+URLEncoder.encode(u_zip,"UTF-8")+"&"+ 
         URLEncoder.encode("mob","UTF-8")+"="+URLEncoder.encode(u_mob,"UTF-8"); 
       bufferedWriter.write(data); 
       bufferedWriter.flush(); 
       bufferedWriter.close(); 
       os.close(); 
       BufferedReader bufferedReader= new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream())); 

       String result; 
       result = bufferedReader.readLine(); 
       ///InputStream is= httpURLConnection.getInputStream(); 
       // is.close(); 
       // return "Registration Success..."; 
       return result; 
      } 
      catch(Exception e) 
      { 
       return null; 
      } 
      /*catch (MalformedURLException e) { 
       e.printStackTrace(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      }*/ 
     } 

    else { 
      if (method.equals("login")) { 
       String login_name = params[1]; 
       String login_pass = params[2]; 
       try { 
        URL url = new URL(login_url); 
        HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection(); 
        httpURLConnection.setRequestMethod("POST"); 
        httpURLConnection.setDoOutput(true); 
        httpURLConnection.setDoInput(true); 
        OutputStream os = httpURLConnection.getOutputStream(); 
        BufferedWriter bufferedWriter= new BufferedWriter(new OutputStreamWriter(os,"UTF-8")); 
        String data = URLEncoder.encode("login_name","UTF-8")+"="+URLEncoder.encode(login_name,"UTF-8")+"&"+ 
          URLEncoder.encode("login_pass","UTF-8")+"="+URLEncoder.encode(login_pass,"UTF-8"); 

        bufferedWriter.write(data); 
        bufferedWriter.flush(); 
        bufferedWriter.close(); 
        os.close(); 

        InputStream inputStream=httpURLConnection.getInputStream(); 
        BufferedReader bufferedReader= new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1")); 
        String response=""; 
        String line=""; 
        while ((line=bufferedReader.readLine())!=null) 
        { 
         response+=line; 
        } 
        bufferedReader.close(); 
        inputStream.close(); 
        httpURLConnection.disconnect(); 
        return response; 

       } 
       catch(Exception e) 
       { 
        return null; 
       } 
       /*catch (MalformedURLException e) { 
        e.printStackTrace(); 
       } catch (ProtocolException e) { 
        e.printStackTrace(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       }*/ 
      } 
     } 

    return null; 
} 

@Override 
protected void onPreExecute() { 
    // alertDialog=new AlertDialog.Builder(ctx).create(); 
    // alertDialog.setTitle("Login information..."); 
    super.onPreExecute(); 
/* if(response.equals("Login Success...")){ 
     Toast.makeText(ctx,response,Toast.LENGTH_LONG).show(); 
    } 
    else if(response.equals("Login Failed!Try again")) { 
     Toast.makeText(ctx,"Login failed!",Toast.LENGTH_LONG).show(); 
     //alertDialog.setMessage(log); 
     //alertDialog.show(); 
    } 
    */ 
} 


@Override 
protected void onProgressUpdate(Void... values) { 
    super.onProgressUpdate(values); 
} 

@Override 
protected void onPostExecute(String result) { 
    /* if(result.equals("Registration Success...")){ 
     Toast.makeText(ctx,result,Toast.LENGTH_LONG).show(); 
    } 
    else{ 
    //if(result.equals("Login Success...")){ 
     // Toast.makeText(ctx,"Login Success!",Toast.LENGTH_LONG).show(); 
     alertDialog.setMessage(result); 
     alertDialog.show(); 
    } 
    /*else 
    { 
     Toast.makeText(ctx,"Failed!",Toast.LENGTH_LONG).show(); 
    } */ 

    /* if(method.equals("login")) 
    { */ 
     if(result.equalsIgnoreCase("Login Success...")) 
     { 

      Intent intent = new Intent(ctx,MainActivity.class); 
      // intent.putExtra("USER_NAME",login_name); 
      ctx.startActivity(intent); 

     } 


    /*  else{ 
      Toast.makeText(ctx,result,Toast.LENGTH_LONG).show(); 
     } 
    } 
    else if(method.equals("register")) { 
    */ 
     else if (result.equals("Registered Successfully")){ 
      Intent intent = new Intent(ctx,Login.class); 
      ctx.startActivity(intent); 
     } 
     else{ 
      Toast.makeText(ctx,result,Toast.LENGTH_LONG).show(); 
     } 
    // } 
} 

} 

からそれらを排除するにはどうすればよいですこの

Login page

ログインページのようなタグは、上記のように表示されています。参考のため

Registration confirmation

以下のように

は、登録ページの値を充填した後、私は

<?php 
db_name="citizen"; 
$mysql_user="root"; 
$mysql_pass=""; 
$server_name="localhost"; 

$con=mysqli_connect($server_name,$mysql_user,$mysql_pass,$db_name); 

if(!$con) 
{ 
echo"Connection Error..."; 
} 
else 
{ 
echo"Database connection Success..."; 
} 

?> 

init.php自分のコードに取り付けられたトーストにのみ <br>タグを参照します

login.php

<?php 
require"init.php"; 

$user_name=$_POST["login_name"]; 
$user_pass=$_POST["login_pass"]; 

//$sql_query=mysqli_query($con,"SELECT * FROM reg WHERE 'Email' = '$user_name' AND 'Password'='$user_pass'"); 
$sql_query="SELECT Name FROM reg WHERE Email like '$user_name' AND Password like '$user_pass';"; 
$result=mysqli_query($con,$sql_query); 
//$row=mysqli_fetch_array($result); 
//$data=$row[0]; 
if(mysqli_num_rows($result)>0) 
//if($data) 
{ 
echo"Login Success..."; 
} 
else 
{ 
echo"Login Failed!Try again"; 
} 
//mysqli_close($con); 
?> 

Registration.php

<?php 
require 'init.php'; 
$name=$_POST["user"]; 
$address=$_POST["address"]; 
$user_pass=$_POST["user_pass"]; 
$emailid=$_POST["emailid"]; 
$zip=$_POST["zip"]; 
$mob=$_POST["mob"]; 
$sql_query="INSERT INTO reg VALUES('$name','$address','$user_pass','$emailid','$zip','$mob');"; 

if(mysqli_query($con,$sql_query)) 
{ 
echo"Registered Successfully"; 
} 
else 
{ 
echo"Registration Failed"; 
} 

?> 

Login.java

public class Login extends AppCompatActivity { 
EditText ET_NAME,ET_PASS; 
String login_name,login_pass; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login); 
ET_NAME=(EditText)findViewById(R.id.user_name); 
ET_PASS=(EditText)findViewById(R.id.user_pass); 

} 


public void userLogin(View view) 
{ 
    login_name=ET_NAME.getText().toString(); 
    login_pass=ET_PASS.getText().toString(); 
    String method="login"; 
    if (!isValidEmail(login_name)) { 
     ET_NAME.setError("Invalid Email"); 
    } 

    if (!isValidPassword(login_pass)) { 
     ET_PASS.setError("Invalid Password"); 
    } 
    else { 
     BackgroundTask backgroundTask = new BackgroundTask(this); 
     backgroundTask.execute(method, login_name, login_pass); 
    } 
    //Intent getIssues= new Intent(this,MainActivity.class); 
    //getIssues.putExtra("MA",); 
    //this.startActivity(getIssues); 
} 
private boolean isValidEmail(String email) { 
    String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" 
      + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"; 

    Pattern pattern = Pattern.compile(EMAIL_PATTERN); 
    Matcher matcher = pattern.matcher(email); 
    return matcher.matches(); 
} 

// validating password with retype password 
private boolean isValidPassword(String pass) { 
    if (pass != null && pass.length() > 6) { 
     return true; 
    } 
    return false; 
} 
public void userReg(View view) 
{ 
    startActivity(new Intent(this, Registration.class)); 
} 
} 

を次のようにコードがあるRegistration.java

public class Registration extends Activity 
{ 

EditText ETname, ETrpassword, ETpassword, ETaddress, ETemail, ETzip, ETmob; 
String name, address, userpass, email, ruserpass, zip, mob; 

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


    ETname = (EditText) findViewById(R.id.editText); 
    ETaddress = (EditText) findViewById(R.id.address); 
    ETemail = (EditText) findViewById(R.id.editText3); 
    ETpassword = (EditText) findViewById(R.id.passwordfield); 
    ETrpassword = (EditText) findViewById(R.id.editText4); 
    ETzip = (EditText) findViewById(R.id.editText2); 
    ETmob = (EditText) findViewById(R.id.editText5); 
    Button reg = (Button) findViewById(R.id.regbutton); 

} 

public void reg(View view) { 
    name = ETname.getText().toString(); 
    address = ETaddress.getText().toString(); 
    userpass = ETpassword.getText().toString(); 
    ruserpass = ETrpassword.getText().toString(); 
    email = ETemail.getText().toString(); 
    zip = ETzip.getText().toString(); 
    mob = ETmob.getText().toString(); 

    String method = "register"; 

    boolean cancel = true; 


    if (TextUtils.isEmpty(name) || name.length() < 3) { 
     ETname.setError(getString(R.string.error_validname_required)); 
     cancel = false; 
    } 


    if (TextUtils.isEmpty(address) || address.length()<15) { 
     ETaddress.setError("Invalid address"); 
     cancel = false; 
    } 

    if(ruserpass.isEmpty()) 
    { 
     ETrpassword.setError(getString(R.string.error_field_required)); 
     cancel=false; 
    } 
    if (TextUtils.isEmpty(userpass) || userpass.length()<6) { 
     ETpassword.setError("Fill atleast 6 characters"); 
     cancel = false; 
    } 
    if(!userpass.equals(ruserpass)) 
    { 
     Toast.makeText(getApplicationContext(),"Password mismatch",Toast.LENGTH_SHORT).show(); 
     cancel=false; 
    } 

    if (!isValidEmail(email)) { 
     ETemail.setError("Invalid Email"); 
     cancel = false; 
    } 
    if(zip.length()!=6) 
    { 
     ETzip.setError("Invalid PINCODE"); 
     cancel = false; 
    } 
    if(mob.length()!=10) 
    { 
     ETmob.setError("Invalid number"); 
     cancel = false; 
    } 

    /*  boolean cancel = false; 
    View focusView = null; 

    ETname.setError(null); 
    if (TextUtils.isEmpty(name)) { 
     ETname.setError(getString(R.string.error_field_required)); 
     focusView = ETname; 
     cancel = true; 
    } 

    ETpassword.setError(null); 
    if (TextUtils.isEmpty(address)) { 
     ETaddress.setError(getString(R.string.error_field_required)); 
     focusView = ETaddress; 
     cancel = true; 
    } 


    ETaddress.setError(null); 
    if (TextUtils.isEmpty(address)) { 
     ETaddress.setError(getString(R.string.error_field_required)); 
     focusView = ETaddress; 
     cancel = true; 
    } 

    if (name.length() < 3) { 
     ETname.setError(getString(R.string.error_validname_required)); 
     focusView = ETname; 
     cancel = true; 
    } */ 
    // } 


    else if(cancel==true){ 
     BackgroundTask backgroundTask = new BackgroundTask(this); 
     backgroundTask.execute(method, name, address, userpass, email, zip, mob); 
     finish(); 
    } 
} 
private boolean isValidEmail(String email) 
{ 
    String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" 
      + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"; 

    Pattern pattern = Pattern.compile(EMAIL_PATTERN); 
    Matcher matcher = pattern.matcher(email); 
    return matcher.matches(); 
} 
} 

でも警告ボックスになるほど同じhtmlタグ。私はアンドロイドの初心者ですが、私はまだそれを学んでいます。この問題を解決するのを手伝ってください。どんな提案も大歓迎です。

+3

login.phpあるinit.php で愚かなミスを犯しました: 'db_name'は' $のdb_name'でなければなりません。 – mitkosoft

+2

こんにちはChetan!問題を最小限で完全かつ検証可能な例(https://stackoverflow.com/help/mcve)に絞り込んでください。基本的には、コード全体をデバッグするようにお願いしています。 – codeling

+0

問題がどこにあるのかを指摘します –

答えて

0

私は修正されたコードが

<?php 
$db_name="citizen"; 
$mysql_user="root"; 
$mysql_pass=""; 
$server_name="localhost"; 

$con=mysqli_connect($server_name,$mysql_user,$mysql_pass,$db_name); 

if($con) 
{ 
echo"Connection success..."; 
} 
else 
{ 
echo"Connection failed..."; 
} 

?> 
関連する問題