JQuery Ajax не сохраняется в MySQL - PullRequest
0 голосов
/ 12 ноября 2019

У меня есть php-файл, в котором есть jquery ajax, чтобы отправить форму и сохранить ее содержимое в mysql без обновления страницы.

Моя проблема заключается в том, загружаю ли я файл, который делает вызов ajaxоднако содержимое сохраняется в базе данных, но если я пытаюсь использовать форму, в базу данных ничего не сохраняется, даже если я получаю сообщение об успехе.

Вот мой код

HTML-файл

    <div id='backinstock-form'>
          <form>
              <input id='instockemailadr'> 
              <input id='instockpid' value='5' type='hidden'> 
              <input name='submit' class='submitbackinstock' type='button' value='Submit'>
        </form>
        <span class='error' style='display:none'> Please Enter A Valid Email</span>
        <span class='success' style='display:none'> Email Submitted Success</span>
    </div>

    require(['jquery'], function($) 
    {
       $(".submitbackinstock").click(function() 
        {
            var instockemailadr = $("#instockemailadr").val();
            var instockpid = $("#instockpid").val();
            var dataString = 'usereaddr='+ instockemailadr + '&sku=' + instockpid;

            if(instockemailadr =='' || instockpid =='')
            {
                $('.success').fadeOut(200).hide();
                $('.error').fadeOut(200).show();
             }
             else
             {
                 //console.log(dataString);
                 var dataString = new formData();
                 dataString.append('usereaddr', instockemailadr);
                 dataString.append('sku',instockpid);

                 $.ajax({
                    type: "POST",
                    url: "<?php echo $block->getBaseUrl(); ?>/pub/media/theme_customization/backin-stock-email-code/backinstock_process_email.php",
                    data: dataString,
                    success: function(){
                        $('.success').fadeIn(200).show();
                        $('.error').fadeOut(200).hide();
                    }
                });
            }
             return false;
            });
         });

Файл PHP

<?php
   // MySQL portion
   $conn = mysqli_connect("localhost", "root", "root");

   mysqli_select_db($conn,"multisitedb");
   $usereaddr = mysqli_real_escape_string($conn, $_POST['usereaddr']);
   $stockproductid = mysqli_real_escape_string($conn, $_POST['sku']);
   $created_on = date('Y-m-d h:i:s');

   $result = mysqli_query($conn, "INSERT INTO multisitedb.backinstock_email_addresses(email_addr, product_sku, created_on) 
                          VALUES ('$usereaddr','$stockproductid','$created_on')");

     if($result) {
         echo $result; // or whatever you want
      } else {
         echo "Something went wrong.";
      }

  ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...