带有mysql存储数据的加载/安全html表单

时间:2018-04-27 07:55:28

标签: javascript html mysql

我构建了一个简单的html / js数学表单,其中进行了一些计算。 为简化起见,我缩短了表格以便于理解:

        function output(){
            var value1 = document.getElementById('value1').value;
            var value2 = document.getElementById('value2').value;
            var value3 = document.getElementById('value3').value;
            document.getElementById('result1').innerHTML = (parseInt(value1) + parseInt(value2)) * parseInt(value3);
           
             
        }
    <select>
  <option value="volvo">Simple Addition</option>
   </select><button type="button">Load</button> <button type="button">Save</button> <button type="button">Cancel</button>
    <br>
    <br>
    <br>

    Title: <input id="Title" type="text"/>

    <br>
    <br>
    <br>
        <input id="value1" type="text" onchange="output();" />
        <span> + </span>
        <input id="value2" type="text" onchange="output();" />
        <span> * </span>
        <input id="value3" type="text" onchange="output();" />
        <p>Result: <a id="result1"></p>  

所以,它基本上只是一个简单的计算。但是我很难用mysql后端来存储数据。目标是:

a。)使用新的计算/表单(title-field中的非现有名称),应在mysql-db中创建一个新表。假设我们称计算为“简单加法”。 然后可以通过下拉菜单选择简单加法,以便其他人可以加载此计算,甚至可以更改/保存/覆盖/更正它。

b。)所以我希望能够加载,保存和更改任何计算到mysql表,并让其他人可以从下拉菜单填充每个存储的计算

c。)数学应以“标题”文本字段

命名

d。)autorefresh(像google sheet这样的实时协作)来自数据库的所有字段,让我们说每5秒autorefresh

我知道这可能不是一个5分钟的任务,所以我非常感谢你的任何帮助。提前谢谢!

1 个答案:

答案 0 :(得分:1)

Javasrcipt是​​一种客户端语言,它不会与MySQL服务器通信。 可能的解决方案是在客户端使用AJAX调用来通过后端PHP方法保存数据。

这只是Save方法的答案。负载与此类似,但您应该使用&#39; GET&#39;而不是&#39; POST&#39;。

AJAX电话:

<button onclick="Save();">Save</button>

<script>
function Save()
{

var value1 = document.getElementById('value1').value;
var value2 = document.getElementById('value2').value;
var value3 = document.getElementById('value3').value;
var value4 = document.getElementById('title').value;
var inputsAndResult= [value1, value2, value3, title ];

$.ajax({
url     : 'YOUR_URL',
method    : 'POST',
data :{
 arrayData:inputsAndResult
},
success   : function(response)
{
alert("succes");
},
error : function(e)
{
alert("error")
}
});
}
</script>

在后端:

  <?php
$server = "localhost";
$db = "myDB";

$conn = mysqli_connect($server, $db);

$sql = "INSERT INTO MyGuests ( number1, number2, result, name ])
VALUES ($_POST[dataArray[0]], $_POST[dataArray[1]], $_POST[dataArray[2]], $_POST[dataArray[3]])";

if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

    mysqli_close($conn);
    ?>

这些页面非常适合获取所有这些内容,如AJAX,PHP,数据库发布。

PHP: https://code.tutsplus.com/courses/php-fundamentals https://www.w3schools.com/php/default.asp

AJAX: https://www.w3schools.com/xml/ajax_intro.asp

AJAX发布到MySQL: https://www.w3schools.com/php/php_ajax_database.asp

相关问题