2016-05-06 21 views
0

私はdrops.phpというページとこのページのボタンaddDrops.php?group_id=6を持っています。今私はaddDrops.phpに行ってから、私に新しい値を追加してからaddDrops.php?group_id=6にリダイレクトしてみようとしています。私は1つのフィールドで、この前のページへの簡単なリダイレクトは機能しません。

if (!empty($_POST) && isset($_POST['add'])) 
{   
    $field_name = $_POST['field_name']; 

    $sql = "INSERT INTO form_fields (field_name, group_id) VALUE (?, ?)"; 
    $q = $pdo->prepare($sql); 
    $q->execute(array($field_name, $group_id)); 

    header('Location: ' . $_SERVER['HTTP_REFERER']); 

} 
<form class="form-horizontal" role="form" action="" method="post"> 
    <div class="form-group"> 
     <label class="control-label col-sm-2" for="field_name">Name:</label> 
      <div class="col-sm-10"> 
       <input type="username" class="form-control" name="field_name" id="field_name"> 

      </div> 
    </div>     
    <div class="form-group"> 
      <div class="col-sm-offset-2 col-sm-4"> 
       <input type="submit" name="add" value="Add Dropdown option" class="btn btn-primary btn-block"> 
      </div> 
    </div> 
</form> 

だから、簡単なフォームのようにそれを作ったと私はリダイレクトのためではなく、それは

ヘッダ(「場所:」をリダイレクトしませんフォーム送信後にこれを追加しました。$ _SERVERを['HTTP_REFERER']);

+1

エラーについての質問は、**常にエラーログを投稿してください。あなたのPHPコードへのエラー報告を有効にするには、 'error_reporting(E_ALL);を追加します。スクリプトの先頭にあるini_set( 'display_errors'、 '1'); 'は一時的にヘッダを削除し、' var_dump($ _ SERVER ['HTTP_REFERER']) 'を実行します。 –

+0

実際のページで '} chris85

+0

@JDR私はかなりデフォルトアクションがPHP_SELFであることを確かめているので、それは冗長です。 – Glubus

答えて

2

あなたのコメントに投稿した内容によれば、リファラーを使用する必要はありません。URL drops.phpをハードコードし、グループIDを追加する必要があります。

リファラーは投稿するページで、この場合は戻ってくるページとは異なります。

header('Location: drops.php?group_id=' . $group_id); 
+0

ああ、この方法で、もちろんこれは完全に動作します。どうもありがとう! –

関連する問題