繁体   English   中英

如何在html中插入php?

[英]How to insert php in html?

更新-将插入代码添加到save.php,但是单击“保存”,则没有任何动作。 字段值未插入到db,并且我也未收到警报。 请指教。

我正在尝试使用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标记。

另外,请不要使用mysql_* ; mysql_*函数已过时, 过时和不安全。 改用MySQLiPDO

关于这一点,您对SQL注入持开放态度 在将数据添加到SQL查询之前,您必须使用准备好的语句或至少正确地转义数据,否则您被黑客入侵。

查询应类似于:

"INSERT INTO table (field1, field2, field3) VALUES ('".$_POST['field1']."','".$_POST['field2']."','".$_POST['field3']."')"

这必须在您的ajax指向的.php文件中,即save.php

另外,请避免使用不建议使用的mysql函数,而转移到任一mysqli

插入查询将放置在您的save.php文件中

为了您的连接

<?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 


    "INSERT INTO table (field1, field2, field3) VALUES
          ('".$_POST['field1']."','".$_POST['field2']."','".$_POST['field3']."')"

您的查询应该在您发布到的save.php文件中。 基本上将最后2个代码块合并到save.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM