2016-05-16 8 views
1

私はcordovaでアプリを開発しています。人々が異なる部屋を作成して参加できるページを掘り下げたいと思います。しかし、私は別のチュートリアルを試してみて、多くのインターネットをサーフィンして、HTMLファイルとajaxリクエストを使ってmySQLテーブルを作成する方法を理解しようとしていましたが、何も動作していないようです... ajaxのhtmlページですか? (申し訳ありませんが私の英語のために、私はイタリア人だよ!)コードバスアプリでajaxとhtmlを使用してmysqlテーブルを作成する

はここで働いているようだしない簡単な登録フォームでのテストだ

のindex.html:

<html> 
<head> 
    <title>Hello World</title> 
</head> 
<body> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
    <script type="text/javascript" src="script.js"></script> 

    <form class="" name="form"> 
     username: <input type="text" id="username" type="text"> <br/> 
     email: <input type="text" id="email" type="text"> <br/> 
     full name: <input type="text" id="fullname" type="text"> <br/> 
     password: <input type="password" id="password" type="text"> <br/> 

     <input type="button" onclick="ajaxFunction()" value="send"> 

    </form> 

    <div id="ajaxDiv">YOUR RESULT WILL BE SHOWN HERE</div> 

</body> 

script.js

function ajaxFunction(){ 

    var ajaxRequest = new XMLHttpRequest(); 
    ajaxRequest.onreadystatechange = function(){ 
    if (ajaxRequest.readyState == 4) { 
     var ajaxDisplay = document.getElementById("ajaxDiv"); 
     ajaxDisplay.innerHTML = ajaxRequest.responseText; 
    } 
    } 

    var username = document.getElementById("username").value; 
    var email = document.getElementById("email").value; 
    var fullname = document.getElementById("fullname").value; 
    var password = document.getElementById("password").value; 

    var queryString = "?name=" + username; 
    queryString += "&email=" + email + "&fullname=" + fullname + "&password=" + password; 
    console.log(queryString); 
    ajaxRequest.open("GET","fetchdata.php" + queryString, true); 
    ajaxRequest.send(null); 

} 

と私のPHPファイル:

<?php 

    $dbhost = "localhost"; 
    $dbuser = "root"; 
    $dbpassword = "root"; 
    $db = "utopy"; 

    $username = $_GET["username"]; 
    $email = $_GET["email"]; 
    $fullname = $_GET["fullname"]; 
    $password = $_GET["password"]; 

    $conn = mysqli_connect($dbhost,$dbuser,$dbpass,$db); 
    if(!$conn){ 
    die("Connection Failed: " .mysqli_connect_error()); 
    } 

    $sql = "INSERT INTO haus (username, password, full_name, email) VALUES (?s,?s,?s,?s)",$username,$email,$fullname,$password); 
    if(mysqli_query($conn,$sql)){ 
    echo "NEW RECORD CREATED"; 
    } else { 
    echo "ERROR: " .$sql. "<br>" . mysqli_error($conn); 
    } 

    mysqli_close($conn); 

?> 
+0

デヴィ、mettere国連ポー・ディcodiceネッラトゥアを使用する必要がありますmanda、se no no gente ti inzia sotto votare、devi遠く離れていてもいけないと言っていますか? –

+0

hai ragione、aggiornato la domanda con gli esempi ... sapresti aiutarmi? –

+0

証明書、住所、電話番号 –

答えて

0

あなたのPHPコードは完全にうんざりされています。あなたがクエリを挿入しようとしているように、そのようには動作しません。

最初の問題は$dbpass$dbpasswordである必要があります。次の問題は、存在しない準備関数を使用しようとしていることです。

あなたはそれをmysqli_real_escape_stringを使用することによって、あなたがユーザーからrecievingされているデータをエスケープして、挿入されなければならない、1

(cancella IL佗codice電子アメリカ合衆国quelloのソット)の下でのあなたの全体のPHPコードを交換:

<?php 
$dbhost = "localhost"; 
$dbuser = "root"; 
$dbpassword = "root"; 
$db = "test"; 

$username = mysqli_real_escape_string($_GET["username"]); 
$email = mysqli_real_escape_string($_GET["email"]); 
$fullname = mysqli_real_escape_string($_GET["fullname"]); 
$password = mysqli_real_escape_string($_GET["password"]); 

$conn = mysqli_connect($dbhost,$dbuser,$dbpassword,$db); 
if(!$conn){ 
die("Connection Failed: " .mysqli_connect_error()); 
} 

$sql = "INSERT INTO haus (username, password, full_name, email) VALUES ('$username','$email','$fullname','$password')"; 
if(mysqli_query($conn,$sql)){ 
echo "NEW RECORD CREATED"; 
} else { 
echo "ERROR: " .$sql. "<br>" . mysqli_error($conn); 
} 

mysqli_close($conn); 

?> 

あなたは、クロスドメインリクエストを作りたいならば、あなたはjavascriptのコードの下

function ajaxFunction(){ 
    var ajaxRequest = new XMLHttpRequest({mozSystem: true}); 
    ajaxRequest.onreadystatechange = function(){ 
    if (ajaxRequest.readyState == 4) { 
     var ajaxDisplay = document.getElementById("ajaxDiv"); 
     ajaxDisplay.innerHTML = ajaxRequest.responseText; 
    } 
    } 

    var username = document.getElementById("username").value; 
    var email = document.getElementById("email").value; 
    var fullname = document.getElementById("fullname").value; 
    var password = document.getElementById("password").value; 

    var queryString = "?name=" + username; 
    queryString += "&email=" + email + "&fullname=" + fullname + "&password=" + password; 
    console.log(queryString); 
    ajaxRequest.open("GET","fetchdata.php" + queryString, true); 
    ajaxRequest.send(null); 

} 
+0

grazie mille、このチュートリアルは、チュートリアルではありません。究極のドミナント:あなたはデータベースをホストしていても問題ないですか? –

+0

@utopy vale stesso、non cambia niente、il host ti daホスト名、ユーザ名、パスワード、データベース、コネクション数、ugute。問題が発生した場合、問題が解決するまで、 –

+0

quindi devo solo mettere ilファイルphp sul server giusto? (私の目の前では、私はあなたのマシンの上であなたのマシンを操作する必要があります) –

関連する問題