2015-11-01 67 views
1

我使用在线SQLite数据库(http://demo3534535.16mb.com) 它的工作原理在线服务器上做精一个基本的登录应用程序。 现在我想在Gennymotion模拟器使用WAMP本地服务器上运行。应用无法正常运行的WAMP,但它工作在网络服务器

我有什么变化的代码呢? 我的工作在网上的代码是:

dbconnect.php

<?php 
    define('HOST','mysql.hostinger.in'); 
    define('USER','u756_userd'); 
    define('PASS','pass345'); 
    define('DB','u754113_demo'); 

    $con = mysqli_connect(HOST,USER,PASS,DB) or die('Unable to Connect'); 

MainActivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 


    private static final String REGISTER_URL = "http://192.168.1.102/User/Register.php"; 

    public static final String KEY_USERNAME = "username"; 
    public static final String KEY_PASSWORD = "password"; 
    public static final String KEY_EMAIL = "email"; 


    private EditText editTextUsername; 
    private EditText editTextEmail; 
    private EditText editTextPassword; 

    private Button buttonRegister; 

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

     editTextUsername = (EditText) findViewById(R.id.editTextUsername); 
     editTextPassword = (EditText) findViewById(R.id.editTextPassword); 
     editTextEmail= (EditText) findViewById(R.id.editTextEmail); 

     buttonRegister = (Button) findViewById(R.id.buttonRegister); 

     buttonRegister.setOnClickListener(this); 
    } 

    private void registerUser(){ 
     final String username = editTextUsername.getText().toString().trim(); 
     final String password = editTextPassword.getText().toString().trim(); 
     final String email = editTextEmail.getText().toString().trim(); 

     StringRequest stringRequest = new StringRequest(Request.Method.POST, REGISTER_URL, 
       new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 
         Toast.makeText(MainActivity.this, response, Toast.LENGTH_LONG).show(); 
        } 
       }, 
       new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 
         Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_LONG).show(); 
        } 
       }){ 
      @Override 
      protected Map<String,String> getParams(){ 
       Map<String,String> params = new HashMap<String, String>(); 
       params.put(KEY_USERNAME,username); 
       params.put(KEY_PASSWORD,password); 
       params.put(KEY_EMAIL, email); 
       return params; 
      } 

     }; 

     RequestQueue requestQueue = Volley.newRequestQueue(this); 
     requestQueue.add(stringRequest); 
    } 

    @Override 
    public void onClick(View v) { 
     if(v == buttonRegister){ 
      registerUser(); 
     } 
    } 
} 

db_connect.php

<?php 
    define('HOST','localhost'); 
    define('USER',''); 
    define('PASS',''); 
    define('DB','db_demo'); 

    $con = mysqli_connect(HOST,USER,PASS,DB) or die('Unable to Connect'); 

Register.php

<?php 

    if($_SERVER['REQUEST_METHOD']=='POST'){ 

     $username = $_POST['username']; 
     $email = $_POST['email']; 
     $password = $_POST['password']; 

     require_once('dbConnect.php'); 

     $sql = "INSERT INTO volley (username,password,email) VALUES ('$username','$email','$password')"; 


     if(mysqli_query($con,$sql)){ 
      echo "Successfully Registered"; 
     }else{ 
      echo "Could not register"; 

     } 
    }else{ 
echo 'error'; 
} 

我通过wifi

+0

很难说问题是什么。你打开路由器上的端口80重定向(HTTP请求)到本地服务器的IP使用WAMP? – Tasos

+1

定义“不工作” – itachi

+0

服务器返回什么? '错误'或'无法注册'? –

回答

0

使用互联网,如果你要去的地方,请按照下列步骤操作:

  1. 你需要创建一个无线局域网。打开命令提示符管理模式并键入以下命令:

    netsh wlan set hostednetwork mode=allow ssid=DevelopmentLAN key=yourPassword 
    

    按确定。然后执行以下命令:

    netsh wlan start hostednetwork 
    

这应启动WLAN

现在在命令行中键入ipconfig,让你发现你的机器的IPv4地址:

ipconfig

编辑:

确保您注意到您的无线LAN适配器“ s的IPv4地址。

注意此IP地址。这是你要为HOST地址使用一个。

配置部分。

变化define('HOST','mysql.hostinger.in');

这个define('HOST','localhost');

至于其他的,你需要更改用户名,密码和数据库名称您WAMPServer的用户名和密码,你的数据库在WAMP上的名字。

现在,我会假设你register.php文件被包裹在你的WAMP一个用户文件夹内的项目目录(C:/wamp/www/User/register.php)。将REGISTER_URL的值更改为:

private static final String REGISTER_URL = "http://192.168.1.3/User/register.php"; 

而就是这样,你已经准备好了。最后,确保你的防火墙是关闭,否则它会阻止你的模拟器genymotion从连接到你的机器上的WAMP的服务器,并且您更改192.168.1.3到你的机器的IP地址。

+0

请详细说明。显示你的错误日志,以及任何可以帮助我们的事情,以便我们能够帮助你。 –

+0

感谢回答,但我很抱歉地说,我仍然无法在gennymotion上运行我的应用程序。我没有用户名和密码wamp然后我必须放在那里?,留下空白或把'root'用户名和密码。我也关掉了我的电脑firewell。关闭防火墙是否安全? –

+0

将“root”放入用户名并将密码留空。关闭防火墙是必需的,我不知道如何通过否则传递它。 –

相关问题