PHP ajax不更新数据库

对角金

目前,我想要更新我的数据库PHPAJAX但这似乎并没有工作时,我无法找到当前错误所在,从

这是我的代码

php

<?php 
  $userid = $_GET['userid'];
  $_SESSION['userid'] = $userid;
  $sql = $db->prepare("SELECT * FROM users WHERE userid = ?");
  $sql->bindParam(1, $userid);
  $result = $sql->execute();
  while ($row = $result->fetchArray(SQLITE3_ASSOC)) 
  {
      $fname = $row['fname'];
      $lname = $row['lname'];
      $cname = $row['cname'];
      $crcnum = $row['crcnum'];
      $uemail = $row['uemail'];
      $uname = $row['uname'];
      $regas = $row['regas'];
      $caddress = $row['caddress'];
      $uaddress = $row['uaddress'];
      $package = $row['package'];
      $regdate = $row['regdate'];
      $expdate = $row['expdate'];
      $profimages = $row['profimages'];
      $coverimage = $row['coverimage'];
      ?>
      <style type="text/css">
        .loginDanger {
            width: 100%;
        }
      </style>
      <div class="upgrForm">
            <div class="logresult"></div>
            <form action="upgformexec.php" method="post" enctype="multipart/form-data">
            <?php 

            echo "<p class='pcLabel'>Current Package</p>";

            if ($package == "Gold")
            {
                echo "<p class='goldpacks'>$package</p>
                <p class='pcLabel'>This user is already on the highest package!.</p>";
            }
            if ($package == "Silver")
            {
                echo "<p class='silvpacks'>$package</p>
                <p class='pcLabel'>Ugrade Pack To</p>
            <select name='newPack' id='newPack'>
                <option>--Select--</option>
                <option>Gold</option>
            </select>
            <input type='submit' name='upgrdSub' id='upgrdSub' value='Execute Upgrade'>";
            }
            if ($package == "Bronze")
            {
                echo "<p class='bronzpacks'>$package</p>
                <p class='pcLabel'>Ugrade Pack To</p>
            <select name='newPack' id='newPack'>
                <option>--Select--</option>
                <option>Silver</option>
                <option>Gold</option>
            </select>
            <input type='submit' name='upgrdSub' id='upgrdSub' value='Execute Upgrade'>";
            }
            if ($package == "Free Membership")
            {
                echo "<p class='freepacks'>$package</p>
                <p class='pcLabel'>Ugrade Pack To</p>
            <select name='newPack' id='newPack'>
                <option>--Select--</option>
                <option>Bronze</option>
                <option>Silver</option>
                <option>Gold</option>
            </select>
            <input type='submit' name='upgrdSub' id='upgrdSub' value='Execute Upgrade'>";
            }
            ?>       
</form>

下面是执行表单的代码

<?php 
session_start();
require_once ("db.php");
$db = new MyDb();

$userid = $_SESSION['userid'];

if (isset($_POST['upgrdSub']))
{
    $newpack = strip_tags(@$_POST['newPack']);

    $sql = $db->prepare("UPDATE users SET package = ? WHERE userid = ?");
    $sql->bindParam(1, $newpack, SQLITE3_TEXT);
    $sql->bindParam(2, $userid);
    $result = $sql->execute();

    if ($result) 
    {
        echo "true";
    }
    else
    {
        echo "false";
    }
}
?>

下面是ajax请求

$(document).ready(function() {
    $("#upgrdSub").click(function() {
      //e.preventDefault();
      newpack=$("#newPack").val();
      $.ajax({
        type: "POST",
        url: "upgformexec.php",
        data: "newPack="+newpack,
        success: function(html){
          if (html == 'true')
          {
              $(".logresult").html('<div class="loginSuccess"><i class="fa fa-tick"></i>  Upgrade Successful.</div>');
          }
          else
          {
              $(".logresult").html('<div class="loginDanger"><i class="fa fa-exclamation-triangle"></i>  Please select a package to upgrade to!.</div>');
          }
          if (html == 'false')
          {
              $(".logresult").html('<div class="loginDanger"><i class="fa fa-exclamation-triangle"></i> There was an error upgrading this account!. Please try again later.</div>');
          }
        },
        beforeSend:function()
        {
          $(".logresult").html("<img src='images/ring.gif'>");
        }
      });
      return false;
    }); 
});

出于某种原因,表单在没有 ajax 请求的情况下提交,但是当我有 ajax 时,我收到“请选择要升级到的包”反馈。如何解决这个问题?谢谢

罗蒂米

删除此行

if (isset($_POST['upgrdSub']))
{

按钮值不是通过ajax请求发送的。您只发送newPack key => value其他任何内容。

而是这样做:

if (isset($_POST['newPack']))
{

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP的形式不更新数据库

来自分类Dev

PHP不更新数据库中的行

来自分类Dev

PHP准备的语句不更新SQL数据库

来自分类Dev

PHP SCRIPT-执行时不更新数据库

来自分类Dev

MySQL Query不更新PHP数据库中的值

来自分类Dev

PHP准备的语句不更新SQL数据库

来自分类Dev

PHP不更新数据库中的行

来自分类Dev

PHP 编辑数据库条目不更新

来自分类Dev

使用PHP和AJAX更新MySQL数据库

来自分类Dev

PHP更新数据库

来自分类Dev

PHP for循环更新数据库映像

来自分类Dev

PHP MySql数据库阵列更新

来自分类Dev

PHP for循环更新数据库映像

来自分类Dev

PHP-更新MySQL数据库

来自分类Dev

用php更新sql数据库

来自分类Dev

用PHP更新数据库

来自分类Dev

使用php更新sql数据库

来自分类Dev

PHP注销并更新数据库

来自分类Dev

检查并更新数据库条目php

来自分类Dev

通过 PHP 更新数据库

来自分类Dev

jQuery ajax发布到php脚本并更新mysql数据库

来自分类Dev

使用ajax,jquery和PHP从数据库更新图像不起作用

来自分类Dev

如何从数据库检索PHP值并使用AJAX更新页面

来自分类Dev

AJAX使用从PHP生成的HTML调用的函数来更新MYSQL数据库

来自分类Dev

使用PHP和AJAX的MySQL UPDATE,无法更新数据库

来自分类Dev

使用ajax,jquery和PHP从数据库更新图像不起作用

来自分类Dev

更新数据库以实时更新信息-PHP

来自分类Dev

PHP SQL中的更新不会更新数据库

来自分类Dev

PHP SQL中的更新不会更新数据库