簡體   English   中英

使用 javascript 和 php (NO jQuery) 與 mysql 服務器 (MariaDB) 安全通信

[英]Securely communicate with mysql server (MariaDB) using javascript and php (NO jQuery)

我試圖實現兩件事:(1) 從 contenteditable div 中獲取文本,使用 javascript 將該文本發送到 php,使用 php 將該數據發送到 MySQL 數據庫並保存它 (2) 檢索保存的數據/文本和將其重新插入一個可滿足的 div

所有這些都沒有使用 jQuery

到目前為止我所得到的:

索引.html

<body>
    <div contenteditable="true" id="editable"></div>
    <button onClick="send_data();">Save text</button>
    <button onClick="retrieve_data();">Get text</button>
</body>

javascript.js

function send_data() {
    var php_file = "connection.php";
    var http_connection = new XMLHttpRequest();

    http_connection.open("POST", php_file, true);

    http_connection.onreadystatechange = function() {
        if(http_connection.readyState == 4 && http_connection.status == 200) {
            alert(http_connection.responseText);
        }
    }

   http_connection.send(document.getElementById('editable').innerText);
}

function retrieve_data() {
    // I do not know what to put here
}

連接.php

<?php
$servername = "localhost";
$username = "mysql_user";
$password = "secure_password";
$dbname = "some_database";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

if(!conn) {
    echo 'No connection';
}

if(!mysqli_select_db($conn,'some_database')) {
    echo "No database";
}

$some_val = $_GET['text']

$sql = "SELECT text FROM some_database";
$result = $conn->query($sql);

echo $result;

$conn->close();

?>

編輯:我的代碼無法做的是上傳文本以及接收文本。

js中的一些問題:

  • http_c未定義
  • readyState拼寫錯誤
  • send方法需要在onreadystatechange回調之外

一旦這些事情得到糾正,程序應該給出不同的,而不是說預期的結果。

其他事情:

js 正在發送“POST”請求。 php 正在尋找$_GET["text"]這將給出未定義的錯誤。 我猜測這個$sql = "SELECT text FROM some_database"; 除非數據庫中有名為“some_database”的表,否則將失敗(如果它到達該行)。

建議,對於初學者,通過將connection.php的代碼短路為類似的東西來使 ajax 工作

echo "You are here";
exit;

然后逐漸在 js 和 php 之間工作,直到程序給你你想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM