2017-10-22 25 views
0

cpanelでデータベースを作成しましたが、名前を選択して渡しました。 私はservices.phpに "database"、 "password"、 "user name"、 "localhost"を宣言しました。サーバに接続する際にエラーが発生しました

Services.php:

<?php 
    if (isset($_REQUEST['action'])){ 
    $foo = $_REQUEST['action']; 
    }else{ 
    echo "Invalid Data"; 
    exit; 
    } 

    /*************************************************/ 
function connectToDatabase() 
    { 
    $servername ="localhost"; 
    $username = "us_utab"; 
    $password = "sk3%CkvH"; 
    $dbname = "us_utab"; 

    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    $conn->set_charset("utf8"); 
    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 

    } 
    return $conn; 
    } 

    /*************************************************/ 

    if ($foo == 'search') 
    { search(); } 

    if ($foo == 'read') 
    { read();} 

    if ($foo == 'insert') 
    { insert();} 

    . 
    . 
    . 

私はアンドロイドのコードを変更しました。

HttpPost method = new HttpPost("http://192.168.1.2/test-website/services.php?action=read"); 

HttpPost method = new HttpPost("https://utab.com:2083/services.php? 
action=read"); 

は、これは正しいですか?

アンドロイドプレイスでデータベース名、パスワード、ユーザー名を使用する必要はありませんか?

サーバーに接続しません。そこでポート2083を削除しましたが、以下でエラーが発生しました。

javax.net.ssl.SSLPeerUnverifiedException: No peer certificate 

答えて

0

この場合、コードは正しいと思われますが、問題はありません。

アンドロイドプレイスでデータベース名、パスワード、ユーザー名を使用する必要はありませんか?

PHPファイルに既にこれらの値が含まれている必要はありません。

私たちが見ている実際のエラーはSSLPeerUnverifiedExceptionです。つまり、https://utab.comの証明書に問題があります。だからあなたはそれをチェックする必要があります。また、お使いのデバイスの日付を確認し、それは正しいですか?

+0

はい正しいです。どうすれば証明書をチェックできますか? – hordad

+0

"https://"の代わりに "http://"というURLを使用しようとしましたか? –

+0

はい私はhttpを使用し、それは働いた。ありがとう。 – hordad

0
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate 

つまり、セキュアな接続が必要ないHTTPサーバーに安全なhttps接続をしようとしています。

$servername ="localhost"; 
$username = "us_utab"; 
$password = "sk3%CkvH"; 
$dbname = "us_utab"; 

これはservice.phpの唯一のコンテンツですか?はいの場合は、データベースに接続するコードがすべて不足していて、httpリクエストから引数を取得し、おそらくデータベースクエリを作成して応答を返します。唯一の議論がaction=readであれば、それは何を返さなければならないのか明らかではないようです。

UPDATE

サーバーが同じコンピュータからではなく、他のコンピュータからアクセス可能であるならば、あなたのコメントを読んだ後、あなたは、IPルーティングの問題ではなく、プログラミングの問題を持っています。サーバ上のコンピュータが常駐していると、着信接続をブロックするファイアウォールが存在するか、またはネットワークインタフェースが誤って設定されている可能性があります。

LAN内では、ルータがWANに接続するパブリックIPにLANコンピュータからアクセスできないことも考慮してください。 LAN内のテストでは、「utab.com」ではなく192.168.1.2などのプライベートLAN IPを使用する必要があります。

+0

私は私の質問を編集しました.plz私はservices.phpを書いたことを見てください。私のコードはローカルサーバー上で動作しますが、実際のサーバーでは動作しません。 – hordad

+0

私の回答を更新しました –

関連する問題