[英]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.