2016-10-27 13 views
1

私はページに表示されるアイテムに同様のオプションを追加しようとしています。PHPの新しいページをレンダリングせずにアイテムを追加する

次のような作業の流れは次のとおりです。

  1. ユーザーの入力データ形式に私は次のオプションをした

好むと好まざるとにかかわらず、URLで
  • 検索結果が
  • をポップアップ:

    <a href="like.php?type=gifLike&id=<?php echo $item->getId();?>">like</a> 
    

    およびユーザーからの私の以前の入力データがなくなっているのでlike.php

    header('Location:gifs.php'); 
    

    ではなく、その後に起因このアクションに、同じようにklickingた後、以前の検索結果が行方不明になっているので、私は空白のページ/通知エラーを取得しています。

    このような種類の滞在を同じページに追加するオプションはありますか?

    ok私はちょうど検索結果が与えられた入力の「無作為に」ベースのように生成されることに気がついたので、ここでjavascriptを使用する必要があるように見えます。

  • +1

    ajaxのような音です。 –

    +0

    "好きな"ボタンを送信ボタンにして、データをフォームに渡します。次に、ページに戻るときに、$ _POSTデータを適切なフィールドにエコーアウトします。これは「粘り強い」ページとして知られています... http://www.peachpit.com/articles/article.aspx?p=483799&seqNum=7 – Sablefoste

    答えて

    1

    サーバーに要求しても同じページにユーザーを残したい場合は、JavaScriptを使用してPOST要求を行う必要があります。

    あなたはjQueryのを使用する場合、それはこのようなものです:

    <head> 
        <!-- add jQuery --> 
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
    </head> 
    
    <!-- ... --> 
    
    <!-- adding class "like" so we can easily find all elements --> 
    <a href="like.php?type=gifLike&id=<?php echo $item->getId();?>" class="like">like</a> 
    <!-- repeat more a href... --> 
    
    
    <script> 
        // $(function(){... executes after document load (DOM is ready) 
        $(function(){ 
         // add "onclick" event listener to all "a" with class "like" 
         $('a.like').on('click', function() { 
          // $(this) - the element which was clicked 
          // take its attribute "href" 
          var url = $(this).attr('href'); 
    
          // use POST, not GET so browser and proxies will not cache it 
          $.post(url, {}, function(result) { 
           alert('You have liked it!'); 
           console.log(result); // you can get response from server 
          }); 
    
          // stop going to link URL in browser 
          return false; 
         }); 
        }); 
    </script> 
    
    +0

    tbh私はJSで緑色で、中国語のように見えます – filemonczyk

    +0

    コメントを追加しました。あなたが純粋なPHPでそれをすることができないので、それが役立つことを願っています。 – luchaninov

    +0

    それは同時にiASの警告のプロンプトでPHPスクリプトを実行することは可能ですか? – filemonczyk

    0

    ない私の意見では最良の選択肢がありますが、PHPに滞在したい場合にのみ、あなたがheader('Location:gifs.php?data=' . $yourdata);バックページに必要なデータを送ることができます

    関連する問題