2016-04-14 3 views
0

リンクのテキストを値として次のページに渡そうとしていますので、データベースのアイテムを検索してその値に関連する情報を取得できます。私はPOSTメソッドを使用しようとしましたが、情報が渡されても関係ありません。これは私が試したコードです。リンクのテキストを値として次のページに渡す

<form action="DetailedMenu.php" method = "POST" action = "<?php $_PHP_SELF ?>"> 

<?php 

for($i=0;$i<sizeof($array);$i++) { 
    if($array[$i]["Food_Category"]=="starters") { 
     echo str_repeat('&nbsp;', 4); ?> 

     <a href="DetailedMenu.php" ><?php echo $array[$i]["Food_Name"];?></a> 

     <?php echo " " .str_repeat('.&nbsp;', 25). "€".$array[$i]["Food_Price"]."<br>"; ?> 

     <input type="hidden" name="name" value="<?php echo $array[$i]["Food_Name"];?>"> 

     <?php 
    } 
} 

?> 

</form> 
+0

リストからすべての項目を取り出し、配列内に格納してループして、必要な項目を印刷することを忘れました。 – Cz147

+0

フォームの送信前に、このページのHTMLソースはどのように見えますか?あなたはどのようにフォームを提出していますか?私は提出が表示されません –

答えて

0

フォームは不要です。

あなたが何をしようとして行う最も簡単な方法....リンクの内容のテキストを含むことに加え

は、クエリ文字列パラメータとして含めます。

for($i=0;$i<sizeof($array);$i++) { 
    if($array[$i]["Food_Category"]=="starters") { 
     ... 
     <a href="DetailedMenu.php?q=<?php echo $array[$i]["Food_Name"];?>"><?php echo $array[$i]["Food_Name"];?></a> 
     ... 
    } 
} 

実際にこのようなことをお勧めします。 ...私は明らかにあなたのフィールドの名前を知らないので、私はただの推測を撮影した

for($i=0;$i<sizeof($array);$i++) { 
    if($array[$i]["Food_Category"]=="starters") { 
     ... 
     <a href="DetailedMenu.php?FoodID=<?php echo $array[$i]["Food_ID"];?>"><?php echo $array[$i]["Food_Name"];?></a> 
     ... 
    } 
} 

あなただけのように、あなたのPHP内のパラメータとして「FoodID」にアクセスできるようになりますそれがフォームから提出されていれば

+0

もう少し詳しいことを教えてください。私はあなたが意味することをかなり理解していませんでした – Cz147

+1

真実ではない "事実"を述べてください。検索目的で 'GET'を使うのがもっと一般的だからといって、あなたがそれをやるべきことを意味するわけではありません。代わりに 'POST'を使うことも同様に問題ありません。 – icecub

+0

DetailedMenu.phpに送信するテキストを実際のURL(href)に含める必要があります。リンクテキストは送信されません。申し訳ありませんが、私は電話を使っているので、コードを書くことはできません。 – user1751825

-1

あなたはAJAXを探しているかもしれません。 AJAXを使用すると、ページを更新せずに、フォームデータをバックエンドのPHPファイル(DBにデータを挿入したり、DBからデータを取得できる)に送信できます。

実際、AJAXを使用している場合でも、<form>構造を使用する必要はありません。単純なDIVはうまく機能します。次に、event.preventDefault()を使用してビルトインフォームの更新を抑制する必要はありません。

ただ、DIV(入力フィールド、ラベル、など)の内部構造を構築し、ユーザーが提出する準備ができているとき、彼らは普通のボタンをクリックすることができます。

<button id="btnSubmit">Submit</button> 

のjQuery:

$('#btnSubmit').click(function(){ 
    var fn = $('#firstname').val(); 
    var ln = $('#lastname').val(); 
    $.ajax({ 
     type: 'post', 
     url: 'ajax_receiver.php', 
     data: 'fn=' +fn+ '&ln=' +ln, 
     success: function(d){ 
      if (d.length) alert(d); 
     } 
    }); 
}); 

ajax_receiver.php:

<?php 
    $fn = $_POST['fn']; 
    $ln = $_POST['ln']; 

    //Do your stuff 

Check out this postおよび特にその例。自分のシステムにそれらをコピーし、どのように動作するかを確認してください。それはかなり簡単です。

+0

これは質問に答えません。質問はアンカーコンテンツをPHPスクリプトに送ることに関するものでした。あなたのサンプルは、これに対処しようとしていない一般的なAjaxの例です。問題には、ajaxを使用することができるかどうかを示唆するものは何もありません。 – user1751825

+0

それはまさに私が提供しようとしていたものです。私はOPの明白な質問に回答することに、彼らがシンプルで洗練されたソリューションを作るのを助けることに比べて、あまり興味がなかった。 OPがそれを使用するかどうかにかかわらず、AJAXは有効なオプションであり、検討する価値があります。 – gibberish

+0

この場合、AJAXは問題を複雑にするだけです。この場合、通常の要求を使用して解決できなかったものは何ですか?アンカーリンクからコンテンツを取得する問題をどのように解決しますか? – user1751825

関連する問題