北城已荒凉 2016-03-11 11:40 采纳率: 0%
浏览 25

PHP表单停留在同一页面上

Hi i am trying to update data in a database from a form on the same page as the php code without redirecting/reloading the page.

I tried this tutorial but that didn't work: http://www.formget.com/form-submit-without-page-refreshing-jquery-php/

Update code:

<?php
include "db.php";
session_start();
$value=$_POST['name'];
$query = mysqli_query($connection,"UPDATE users SET profiel='$value' WHERE username='$_SESSION['user']'");
?>

Profilecomplete.js:

$(document).ready(function() {
    $("#submit").click(function() {
        var name = $("#name").val();
        if (name == '') {
            alert("Insertion Failed Some Fields are Blank....!!");
        } else {
        // Returns successful data submission message when the entered information is stored in database.
            $.post("config/profilecomplete.php", {
                value: name
            }, function(data) {
                alert(data);
                $('#form')[0].reset(); // To reset form fields
            });
        }
    });
});

The form:

<form method="POST" id="form">
    <div class="input-field col s6">
        <input id="name" type="text" class="validate">
        <label for="name">Value</label>
    </div>
    <button type="submit" id="submit" class="btn-flat">Update</button>
</form>
  • 写回答

3条回答 默认 最新

  • weixin_33701251 2016-03-11 12:02
    关注

    How your click event can occur even if you are not preventing the default behavior of the form submit button. Make the submit input as a button or use event.preventDefault() to submit the form via ajax.

    <?php
    include "db.php";
    session_start();
    
    if(isset($_POST)) {
        $value=$_POST['name'];
        $query = mysqli_query($connection,"UPDATE users SET profiel='$value' WHERE username='{$_SESSION['user']}'");
        echo ($query) ? "Updated" : "Not Updated";
        exit;
    } else {
    ?>
    <form method="POST" id="form">
        <div class="input-field col s6">
            <input id="name" type="text" class="validate" name="name">
            <label for="name">Value</label>
        </div>
        <button type="button" id="submit" class="btn-flat">Update</button>
    </form>
    <?php } ?>
    
    <script type="text/javascript">
    $(document).ready(function() {
        $("#submit").click(function() {
            var name = $("#name").val();
            if (name === '') {
                alert("Insertion Failed Some Fields are Blank....!!");
            } else {
                // Returns successful data submission message when the entered information is stored in database.
                $.post("config/profilecomplete.php", {name: name}, function(data) {
                    alert(data);
                    $('form')[0].reset(); // To reset form fields
                });
            }
        });
    });
    </script>
    
    评论

报告相同问题?

悬赏问题

  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条