-1

jQuery $.post と php ページを使用して Mysql にデータを投稿しようとしています。コードが実行されておらず、mysql テーブルに何も追加されていません。作成しているパスが間違っているかどうかはわかりませんが、助けていただければ幸いです。

jQuery の場所: f_js/tasks/TaskTest.js

    <script type="text/javascript">
    $(document).ready(function(){
        $("#AddTask").click(function(){
            var acct = $('#acct').val();
            var quicktask = $('#quicktask').val();
            var user = $('#user').val();

            $.post('addTask.php',{acct:acct,quicktask:quicktask,user:user}, function(data){
                $('#result').fadeIn('slow').html(data);
            });
        });

    });

</script>

addTask.php (jQuery コードを実行)

<?php
include 'dbconnect.php';
 include 'sessions.php';

    $acct = $_POST['acct'];
    $task = $_POST['quicktask'];
    $taskstatus = 'Active';
    //get task Creator
    $user = $_POST['user'];
    //query task creator from users table
    $allusers = mysql_query("SELECT * FROM users WHERE username = '$user'");
    while ($rows = mysql_fetch_array($allusers)) {
        //get first and last name for task creator
        $taskOwner = $rows['user_firstname'];
        $taskOwnerLast = $rows['user_lastname'];
        $taskOwnerFull =  $taskOwner." ".$taskOwnerLast;

    mysql_query("INSERT INTO tasks (taskresource, tasktitle, taskdetail, taskstatus, taskowner, taskOwnerFullName)
            VALUES ('$acct', '$task', '$task', '$taskstatus', '$user', '$taskOwnerFull' )");
    echo "inserted";
 }



 ?>

Accountview.php がついにフロントページに

<html>
 <div class="input-cont ">
                                      <input type="text" class="form-control col-lg-12" placeholder="Add a quick Task..." name ="quicktask" id="quicktask">
                                  </div>
                                  <div class="form-group">
                                      <div class="pull-right chat-features">
                                          <a href="javascript:;">
                                              <i class="icon-camera"></i>
                                          </a>
                                          <a href="javascript:;">
                                              <i class="icon-link"></i>
                                          </a>
                                          <input type="button" class="btn btn-danger" name="AddTask" id="AddTask" value="Add" />
                                          <input type="hidden" name="acct" id="acct" value="<?php echo $_REQUEST['acctname']?>"/>
                                          <input type="hidden" name="user" id="user" value="<?php $username = $_SESSION['username']; echo $username?>"/> 
                                          <div id="result">result</div>
                                      </div>
                                  </div>
 <!-- js placed at the end of the document so the pages load faster -->
    <script src="js/jquery.js"></script>
    <script src="f_js/tasks/TaskTest.js"></script>
    <!--common script for all pages-->
    <script src="js/common-scripts.js"></script>

<script type="text/javascript" src="assets/gritter/js/jquery.gritter.js"></script>
 <script src="js/gritter.js" type="text/javascript"></script>
  <script>
</html>

更新: firebug を実行した後、session_start() 行が欠落しているため、ページが正しく実行されていないことがわかりました。行を追加した後、問題は解決されました。

4

1 に答える 1

0

入力の ID を acct と user に変更するだけです。

<input type="hidden" name="acct" id="acct" value="<?php echo $_REQUEST['acctname']?>"/>
<input type="hidden" name="user" id="user" value="<?php $username = $_SESSION['username']; echo $username?>"/>

またはJSファイルの変更

var user = $('#user1').val();
var acct = $('#acct1').val();
于 2013-11-08T19:40:36.750 に答える