php - 如何在html中插入php?

标签 php jquery html mysql ajax

已更新 - 将插入代码添加到 save.php,但单击“保存”后,没有发生任何操作。字段值没有插入到数据库中,而且我也没有收到警报。请指教。

我正在尝试使用 Ajax 将一些用户输入插入到我的 mysql 数据库中。这是我的 html 页面:

<form id="form1" action="#" method="post">
            <table style="padding-top: 25px;">
                <tr style="height: 40px;">
                    <td style="text-align:right;">field1:</td>
                    <td><input type="text" id="field1" required/></td>
                </tr>
                <tr style="height: 40px;">
                    <td style="text-align:right;">field2:</td>
                    <td style="width: 286px;"><input type="text" id="field2"/>    </td>
                </tr>
                <tr style="height: 40px;">
                    <td style="text-align:right;">Field3</td>
                    <td><input type="text" id="field3"/></td>
                </tr>
                <tr>
                    <td></td>
                    <td style="padding-top: 20px;">
                        <input type="submit" value="Save" id="Save"/>
                    </td>
                </tr>
           </table>
</form>

这是我的 Ajax:

<script>
        $(document).ready(function() {          
            $('#Save').click(function() {   
                var field1 = $('#field1').val();
                var field2 = $('#field2').val();
                var field3 = $('#field3').val();

                $.ajax({
                    type: 'POST',
                    async: false,        
                    url: 'save.php',
                    data: {
                            'saverecord': 1,
                            'field1':field1, 
                            'field2':field2, 
                            'field3':field3,
                    success: function(data) 
                    {
                        if(data==0){
                                $('#field1').val('');
                                $('#field2').val('');
                                $('#field3').val('');       
                        }
                    }
                });
            });
        });
    </script>

在我的 save.php 文件中,我尝试像这样连接到我的 mysql 数据库:

<?php
 $cn = mysql_connect("localhost","root","");    
 if($cn) 
 {
    mysql_select_db('databasename', $cn);
 }
 if(isset($_POST['saverecord']))
    {
        mysql_query("INSERT INTO table (field1, field2, field3) VALUES
      ('{$_POST['field1']}','{$_POST['field2']}','{$_POST['field3']}')");
        alert("Inserted successfully");
        exit();
    }
?>

请告诉我如何使用 Ajax 和 html 将上述 3 个字段值插入到我的表中?非常感谢。

最佳答案

将插入内容放在 save.php 中,连接代码之后。您的 PHP 代码必须位于 .php 文件中,或者您的服务器必须配置为将 .htm/.html 文件解析为 PHP 代码。否则,它不会被处理,而是以 HTML、PHP 代码等形式发送到浏览器,浏览器会看到 <?php ... ?>只是一个奇怪的 HTML 标签。

另外,请don't use mysql_* ; mysql_*功能已过时,deprecated ,而且缺乏安全感。使用 MySQLi PDO 相反。

就此而言,您对SQL injection持开放态度。 。在将数据添加到 SQL 查询之前,您必须使用准备好的语句或至少正确转义数据,否则您将会遭到黑客攻击。

关于php - 如何在html中插入php?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32811264/

相关文章:

javascript - 从浏览器写入本地 JSON 文件

php - 在页面中的特定时间后插入数据

php - 在循环触发时在php中查询但给出一个变量的结果

php - MySQL 从 3 个表中选择并将其放入 PHP 数组中

php - 向 php 发送 ajax 值时丢失内容

html - 检测图像方向(横向、纵向)以正确打印 XHTML 报告

php - 查询限制被忽略

javascript - jQuery:编辑值时更改表单输入的颜色

javascript - 将 JQuery 代码转换为其等效的 JavaScript 代码

javascript - 移动网站<Iframe></Iframe>用什么替代