2017-04-13 30 views
1

トークンベースのシステムを作成したいのですが、入力フィールドの値を自分のサーバーサイドのPHPファイルにプッシュしてデータベースに挿入したいのですが。Cordova - jquery ajax投稿:

コルドバHTML:

<input type="text" class="valueToken" name="usertoken" > 
<button class="postToken">PostToken</button> 

コルドバJS:

$('.postToken').click(function(){ 
    console.log($('.valueToken').val()); 
    var tokenValue = $('.valueToken').val(); 

$.ajax({ 
    type: "POST", 
    url: "http://domainName.com/fysioWebapp/php/get_token.php", 
    data: { 'dataString': tokenValue }, 
    cache: false, 
    success: function(){ 
     alert("Order Submitted"); 
    } 
}); 

})。

そして、ここに私のサーバー側のPHPです:

<?php 
include("connect.php"); 

$stringData = $_POST['tokenValue']; 
echo $stringData 

$insertToken = "INSERT INTO User_Token VALUES ('$stringData')"; 
$tokenresult = mysqli_query($conn, $sql); 

if($tokenresult){ 
    echo "Successful"; 
}else { 
     echo("Error description: " . mysqli_error($conn)); 
} 

>

しかし、それは私がここで行方不明です何を私のget_token.phpファイルにデータを投稿されていませんか?コルドバ側でエラーとしてこれにより

:私はあなたとほぼ同じいくつかの名前/値を入れているが、私はそのように行うために使用していますので、私はAjaxでほとんど差を作る POST http://domainName.com/fysioWebapp/php/get_token.php 500 (Internal Server Error)

+0

奇妙なもの... no形式?なぜinputに 'usertoken'という名前があり、その$ varを使用しようとしないのですか?あなたが得る$ varsは 'usertoken'です。 – OldPadawan

+0

@OldPadawanはい、htmlの名前は気にしません。しかし、私はhtml値の$ var insteasを使用しようとしないのはどういう意味ですか? – Sreinieren

+0

書き込み中にエラーが発生しました。ごめんなさい:/編集しました。あなたのデータはAjaxを介して渡されます 'usertoken'です – OldPadawan

答えて

1

編集:あなたのPHPコードは、構文エラーなどの致命的なエラーがある場合

500内部サーバーエラーが表示されますエラー表示がオフになります。あなたのphpファイルで

は追加してみてください:

ini_set('display_errors', 1); 

.htaccessファイルの追加で:PHPで500エラーをデバッグする方法を探していたときに

php_flag display_errors 1 

は同様の答えを見つけました。オリジナル

このコードを試してみてください。

JS

$('.postToken').click(function(){ 
    console.log($('.valueToken').val()); 
    var tokenValue = $('.valueToken').val(); 

    $.ajax({ 
     type: "POST", 
     url: "http://domainName.com/fysioWebapp/php/get_token.php", 
     data: { dataString: tokenValue }, 
     cache: false, 
     success: function(){ 
      alert("Order Submitted"); 
      } 
    }); 
}); 

PHP

<?php 
include("connect.php"); 

$stringData = $_POST['dataString']; 

echo $stringData 

$insertToken = "INSERT INTO User_Token VALUES ('$stringData')"; 
$tokenresult = mysqli_query($conn, $insertToken); 

if($tokenresult){ 
    echo "Successful"; 
}else { 
    echo "Error description: " . (mysqli_error($conn)); 
} 
?> 
+1

これを今しようとします – Sreinieren

+0

それが働いたら教えてください。 –

+0

コードバスアプリで同じエラーが発生しました: ' jquery.min.js:4 POST http://DomainName.com/fysioWebapp/php/get_token.php 500(内部サーバーエラー)' – Sreinieren

0

...あなたはあなたのニーズに適応する必要があります:) EDIT:あなたdid get_token.phpで適切な$ varsを取​​得する間違った名前を使用するため。

<script type="text/javascript"> 

$(document).ready(function(){ 

$("#submit").click(function(e){ 
    e.preventDefault(); 

    console.log($('.valueToken').val()); 
    var tokenValue = $('.valueToken').val(); 

    $.ajax({ 
     method: "POST", 
     url: "get_token.php", 
     data: "token="+tokenValue, 
     success: function(html){ alert(html); } 
    }); 
    }); 
}); 
</script> 

<form action="#" id="form" method="post"> 
<input type="text" class="valueToken" name="usertoken" > 
<input type="submit" class="postToken" id="submit" value="PostToken" /> 
</form> 

/- get_token.php -/

<?php 

error_reporting(E_ALL); 
ini_set('display_errors', 1); 

$token = $_POST['token']; 

echo"[ $token ]"; 

?> 
+0

このエラーが発生します: 'Notice:未定義のインデックス:/ 21行目の/php/get_token.phpのトークン' – Sreinieren

+0

@Sreinieren:あなたは何も修正しましたか?何か追加?あなたの中に入るために私のコードの一部を選ぶだけですか?それは確かに働くからです:) – OldPadawan

+0

Nopeはあなたのコードを正確にコピーしましたが、私はcordovaアプリケーションからWebサーバー上のPHPへの投稿を行います。 – Sreinieren