插入Ajax php

时间:2017-08-04 01:54:25

标签: php ajax

你好我需要这段代码的帮助,我是ajax和php的新手。这段代码不工作,并且为什么这么说。 我想在没有刷新的情况下将表单插入数据库。 这是代码

带脚本的网站的所有html 我正在使用boostrap

      <!DOCTYPE html>
<html>
<head>
    <title>CS INICIO</title>
        <!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

<!-- Latest compiled and minified JavaScript -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</head>
<body style="background-color: #13171a">
<div class="container container-table">
    <div class="row vertical-center-row">
    <div class="text-center col-md-4 col-md-offset-4">
    <form id="formulario"  method="post">
        <div class="form-group">
            <input class="form-control" type="text" name= "nome" required="true" placeholder="Nome">
            <input class="form-control" type="text" name= "link" required="true" placeholder="Link Steam">
            <select class="form-control" name="rank">
                <option value="silver1">Silver 1</option>
                <option value="silver2">Silver 2</option>
                <option value="silver3">Silver 3</option>
                <option value="silver4">Silver 4</option>
                <option value="silver5">Silver Elite</option>
                <option value="silverElite">Silver Elite Master</option>
                <option value="silverEliteMaster">Silver 1</option>
                <option value="goldnova1">Gold Nova 1</option>
                <option value="goldnova2">Gold Nova 2</option>
                <option value="goldnova3">Gold Nova 3</option>
                <option value="goldnovamaster">Gold Nova Master</option>
                <option value="ak1">Master Guardian 1</option>
                <option value="ak2">Master Guardian 2</option>
                <option value="akcruzada">Master Guardian Elite</option>
                <option value="eximio">Eximio</option>
                <option value="le">Legendary Eagle</option>
                <option value="lem">Legendary Eagle Master</option>
                <option value="supreme">Supreme</option>
                <option value="global">Global Elite</option>

    </select>
    <button class="btn btn-default" onclick="addData()" id="submit">Button</button>
        </div>
    </form>
    </div>
    </div>
</div>

<script type="text/javascript">
function addData() {
        dataString = $("#formulario").serialize();
        $(".text-danger").hide();

        $.ajax({
            type: "POST",
            url: "enviar.php",
            data: dataString,
            cache: false,
            dataType: 'json',
            success: function(resp){
                if(resp.status == '0') {
                    alert("insert error");

                } else {
                        clearInput();
                     alert("insert success");
            }

}
        });

        return false;  //stop the actual form post !important!
    }

</script>
</body>
</html>

这里是enviar.php我不知道这里是错误 我是新代码 ficheiro php

    <?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
  $host = "localhost";
  $root = "root";
  $pass = "";
  $tabela = "cssite";
  $conexao = mysqli_connect($host, $root, $pass, $tabela) or die("Erro Na base de dados") ;


mysqli_connect_error($conexao);
    $nome = $_POST['nome'];
    $link = $_POST['link'];
    $rank = $_POST['rank'];

    $sql = "INSERT INTO utilizadores('nome','rank','link') VALUES ('".$nome."','".$rank."','".$link."')";

    $sql_result = mysqli_query($conexao,$sql);
    if ($sql_result) {
        echo  1;
    }
    else{
        echo 0;
    }


?>

Thanks all for the help

dsadsasafsafasfas

3 个答案:

答案 0 :(得分:0)

需要更改数据对象以使用大括号,而不是正常的:

data:{nome:nome,link:link,rank:rank},

还需要将成功回调中的条件更改为比较运算符而不是已分配的运算符:

if (value == 1) {

在PHP中,如果您希望将return 1;return 0;输出到页面,则需要将echo 1;echo 0;更改为$('#submit').click(function(){

您也只是在侦听click事件,您应该侦听提交事件,以便可以阻止默认操作。变化:

$('#yourform').on("submit", function(e){
    e.preventDefault(); //Prevents submission of the form through normal means.

要:

pgrep search_word

答案 1 :(得分:0)

这有助于&#34;未定义的索引错误&#34;:

if(isset($_POST['submit'])){
      // your code
}

答案 2 :(得分:0)

Call this function on button click   
 function addData() {
        dataString = $("#formulario").serialize();
        $(".text-danger").hide();

        $.ajax({
            type: "POST",
            url: "enviar.php",
            data: dataString,
            cache: false,
            dataType: 'json',
            success: function(resp){
                if(resp.status == '0') {
                    alert("insert error");

                } else {
                        clearInput();
                     alert("insert success");

            }


        });

        return false;  //stop the actual form post !important!
    }