題名の通りです。
このプログラムは、名前とパスワードを入力させて、データベースに保存するものです。
その際、同じ名前があったら、exitさせるようにしてます。
簡単なものから始めようと思って勉強中の初心者です。
色々なものを見て調べて書きました。
Android Studioのログを見ても何もエラーはありません。
色々修正したりしても、Response.ErrorListenerのほうの、'Error_Volley'が表示されます。
キチンんとResponseされていないようです。
phpmyAdminを見てみても、挿入されていません。
このアプリの前に、phpで echo "Hello"; とプログラミングして、それを取得して表示する、というのはできたので、接続はできてると思います。ライブラリの設置エラーとかではないと思います。
Kotlin
1package com.example.yusuke.connectiontest 2 3import android.support.v7.app.AppCompatActivity 4import android.os.Bundle 5import android.view.View 6import com.android.volley.Request 7import com.android.volley.Response 8import com.android.volley.VolleyError 9import com.android.volley.toolbox.JsonObjectRequest 10import com.android.volley.toolbox.StringRequest 11import com.android.volley.toolbox.Volley 12import kotlinx.android.synthetic.main.activity_main.* 13import org.json.JSONException 14import org.json.JSONObject 15 16class MainActivity : AppCompatActivity() { 17 18 override fun onCreate(savedInstanceState: Bundle?) { 19 super.onCreate(savedInstanceState) 20 setContentView(R.layout.activity_main) 21 } 22 23 fun send(v : View){ 24 25 val jsonobjput = JSONObject() 26 27 jsonobjput.put("username",username.text) 28 jsonobjput.put("password",password.text) 29 30 val url = "http://www.example/test.php" 31 32 val que = Volley.newRequestQueue(this@MainActivity) 33 34 val req = JsonObjectRequest(Request.Method.POST,url,jsonobjput, 35 Response.Listener<JSONObject>{ 36 response-> 37 38 textView3.text = response.toString() 39 40 },Response.ErrorListener { 41 42 textView3.text = "Error_Volley" 43 44 }) 45 46 47 que.add(req) 48 } 49} 50
php
1 2<?php 3 4パスワード省略。 5 6$conn = mysqli_connect($server_name,$user_name,$db_password,$db_name); 7 8 $in_name = $_POST['username']; 9 $password= $_POST['password']; 10 11if(isset($name)&&isset($password)){ 12 13$sql = "SELECT * FROM test WHERE name = '$in_name'"; 14 15$res = db_query($conn, $sql); 16$rows = mysql_num_rows($res); 17 18if ($rows > 0) { 19 20 echo json_encode (error_php); 21 exit; 22 23} 24 25 $query = "INSERT INTO test(username,password)VALUES('$in_name','$password')"; 26 27 $data = mysqli_query($conn,$query); 28 29if($data){ 30 31 echo json_encode (success); 32 33}else{ 34 35 echo json_encode (error_php); 36 37} 38 exit; 39} 40 41 42?>
あなたの回答
tips
プレビュー