2016-08-08 13 views
1

私はチケットのステータスをselectオプションで変更/更新するフォームを作成します。それはちょうど自分のページに行きます。これはアドレス「http://localhost/support/admin-post.php?td=10&id=1」です。送信をクリックすると、「http://localhost/support/admin-post.php?ticketstats%5B%5D=Pending#」が発生します。それは "status-update.php"に行くべきです。私が使用してみましたが、まだ動作していないで、それを入れてみましたが、私は代わりにPHPの方法を選んだ理由を選択した値がthatsの取得カント、ここに私のコードはは常に同じページにリダイレクトされますアクションdoes not work

<div class="hide" id="status"> 
      <form id="myform" role="form" action="ticket.php" method="POST"> 
     <select class="form-control" type="text" name="ticketstats[]"> 
      <option><?php echo $status ?></option> 
      <option class="disabled">--------------</option> 
      <option value="Pending">Pending</option> 
      <option value="Open">Open</option> 
      <option value="Closed">Closed</option> 
     </select> 
      <input class="btn pull-right" type="submit"> 
      <a class="btn pull-left" id="cancelstatus" href="#">Cancel</a> 
      </form> 
    </div> 

<?php 
if(isset($_POST['submit'])){ 

    foreach ($_POST['ticketstats'] as $select) 
    { 

     echo "<script>window.open('status-update.php? td=$ticketid&id=$empinfoid&stats=$select','_self')</script>"; 
    } 
} 
?> 


    <a class="pull-right" id="editstatus" href="#">Change</a> 
    <div id="status-duetime" class="post-footer"><?php echo time_elapsed_ago($date) ?> </div> 
</div> 
</div> 

、これが私のmain.js

var change = document.querySelector("#editstatus"); 
var cancel = document.querySelector("#cancelstatus"); 
var statuss = document.querySelector("#status"); 
var nowstatus = document.querySelector("#nowstatus"); 
var statusduetime = document.querySelector("#status-duetime"); 


change.addEventListener("click",edits) 
cancel.addEventListener("click",edits) 

function edits() { 
if (statuss.className === "hide") { 
    statuss.className = ""; 
    statusduetime.className = "hide"; 
    nowstatus.className = "hide"; 
    change.className = "hide"; 
} else { 
    statuss.className = "hide"; 
    statusduetime.className = "post-footer"; 
    nowstatus.className = "pending"; 
    change.className = "pull-right"; 
} 

} 

ですこれは、あなたがname="???"があなたのPHPでそれをテストすることはできません属性ボタン提出与えるいけない場合、私のアクションのステータス - update.phpを

<?php 
include("database/db_conection.php"); 

$ticketid = $_GET['td']; 
$empinfoid = $_GET['id']; 

if($_POST) { 
$sql = "UPDATE employee_tickets SET TicketStatus='".$_GET['stats']."'   WHERE Id='".$_GET['td']."'"; 


if (!mysqli_query($conn,$sql)) { 
die('Error: ' . mysqli_error($conn)); 
} 

echo "<script>window.open('admin-post.php?td=$ticketid&id=$empinfoid','_self')</script>"; 
$conn->close(); 

} 
?> 

答えて

2

ある

ので

<input name="submit" class="btn pull-right" type="submit"> 
     ^^^^^^^^^^^^^ 

に次の行を変更し、PHPでこのライン

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

をテストするために何かを持っています。

またticket.php

+0

はそれを試してみましたが、まだ実行されます。また

echo "<script>window.open('status-update.php? td=$ticketid&id=$empinfoid&stats=$select','_self')</script>"; ^^^^ 

フォームaction="ticket.php"スクリプトstatus-update.phpを実行するつもりはない、この行にスペースを取り除くために良いでしょう同じですが入力値の名前にも "http://localhost/support/admin-post.php?ticketstats%5B%5D = Closed&submit = Submit#"と表示されます。 "

"本当に動作していない、私は別の.phpサイトがまだ動作していないしようとしました。コード全体を見たいですか? – Jomai

+0

いいえところで、会社がローカルのxamppによってそれを使用するので、 – RiggsFolly

+0

はい、あなたのPCにない誰にも役に立たない 'localhost'リンクを投稿しています。私は職業訓練の学生です。 – Jomai