Dış sayfaya yazılan değerleri açıkça PHP

3 Cevap php

Ben başka bir sayfaya bir köprü aracılığıyla bir sayfa sonrası değerleri istiyorum. Bunu yapmak mümkün mü?

Diyelim ki başlangıç ​​çizgisine sahip bir sayfa results.php var diyelim,

<?php 
if(isset($_POST['posted_value']))
{
echo "expected value"; 
// do something with the data
}
else
{
echo "no the value expected";
}

: Başka bir sayfadan link.php Ben böyle bir köprü yerleştirebilir derseniz

<a href="results.php?posted_value=1">, bu sonuç sayfasında tarafından accepetd olacak?

Ben yukarıdaki başlangıç ​​satırı değiştirin yerine if

if(isset($_REQUEST['posted_value'])), olacak bu iş?

Ben yukarıdaki hyperlink GET değerlendirir inanıyorum, ama GET ve POST edilir you can see parameters in the address bar with GET arasındaki tek fark bu yana görünürlük

Ancak, bir sayfaya sonrası değerleri bir köprüyü yerleştirmek için başka bir yolu var mı? ya da biz POST değerlere köprü yerine jquery kullanmak olabilir?

Herkes bana bu konuda bir şey lütfen tavsiye misiniz?

Teşekkürler.

3 Cevap

Sen istek türü GET veya POST olup olmadığını sorgu dizesi (ve dolayısıyla $_GET) görebilirsiniz. POST $_POST ve $_FILES oluşturmak için ayrıştırılır betiğin standart girişine ek parametreleri geçirir. Bir POST form gönderme taklit ederek JavaScript kullanarak değiştirmediğiniz sürece bir köprüyü tıklatarak bir GET isteği oluşturur.

Sen bir köprü kullanarak bir POST isteği yapamazsınız. Bu her zaman bir GET isteği verecektir. Bunu yapmak için javascript kullanmak gerekir. JQuery $.post veya $.ajax yöntemini kullanarak çok kolay sahip.

Örnek kod:

html:

<a id="MyLink" href="#">Link</a>

javascript:

$(function() {

    $("MyLink").click(function () {
      $.post("test.php", { name: "John", time: "2pm" } );
    });
});

Tabii ki html kodu her şeyi yapabilirsiniz, ancak bu tavsiye edilmez:

<a href='#' onclick='$.post("test.php", { name: "John", time: "2pm" } )'>Link</a>

Sizin varsayımlar doğru. Köprüler sadece GET gibi parametreleri geçirmek, bir PHP komut dosyası POST olamaz. Kgiannakakis önerildiği gibi bir PHP komut dosyası POST, hangi jQuery $.ajax yöntemini kullanabilirsiniz, ama o zaman sadece tüm sayfa bir sayfanın bölümlerini değiştirmek olmaz.

Başka bir çözüm, bir form ve düğmeyi kullanmak için - eğer isterseniz link olarak bu stil.

<style>
.formlink {
    display: inline;
}
.formlink input.submit {
    display: inline;
    background: transparent none;
    border: 0;
    color: blue;
}
</style>

<form class="formlink" method="post" action="script.php">
    <input type="hidden" name="posted_value" value="1" />
    <input type="submit" value="Post 1" class="submit" />
</form>