簡體   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