SORU
16 Mayıs 2009, CUMARTESİ


PHP bir sonraki sayfa için değişken Geçmek

Oldukça basit görünüyor, ama bunu yapmak için iyi bir yol bulamıyorum.

İlk sayfada bir değişken oluşturmak demek

$myVariable = "Some text";

Ve bu sayfa için formun eylem"". page2.php Page2.php nasıl bu değişken için erişim alabilir miyim? Oturumları ile yapabileceğimi biliyorum ama basit bir dize için çok fazla olduğunu düşünüyorum, ve basit bir dize (dosya adı) geçmek istiyorum sadece.

Bunu nasıl başarabilir?

CEVAP
16 Mayıs 2009, CUMARTESİ


Yaptığın HTTP vatansız / HTML, diğer bir deyişle, bir önceki sayfada gördüm, tamamen geçerli sayfa ile bağlantısı kesildi.Hariçeğer seans gibi bir şey kullanırsanız, kurabiye ya da değişkenleri POST/. Oturumlar ve çerezler kullanmak oldukça kolay, kurabiyeler çok daha güvenli olarak oturum. Daha güvenli, ama tamamen güvenli değil.

Oturum:

//On page 1
$_SESSION['varname'] = $var_value;

//On page 2
$var_value = $_SESSION['varname'];

$_SESSION dizi erişmek için denemeden önce de bu sayfalarda session_start() deyimini çalıştırmayı unutmayın, ve aynı zamanda daha önce herhangi bir çıktı tarayıcıya gönderilir.

Kurabiye:

//One page 1
$_COOKIE['varname'] = $var_value;

//On page 2
$var_value = $_COOKIE['varname'];

Oturumlar ve çerezler arasında büyük fark varsa çerezleri kullanıyorsanız değişken değeri eğer oturumları kullanıyorsanız sunucu üzerinde saklanır ve istemci. Ben hiç düşünemiyorum iyi bir neden için kullan kurabiye yerine oturumlar dışında, istediğiniz verilere inat arasındaki oturumları, ama o zaman bile belki daha iyi depolamak için bir DB ve al dayanan bir kullanıcı adı veya numarası.

GET ve POST

Ya da bir sonraki sayfa için: link değişkeni ekleyebilirsiniz

<a href="page2.php?varname=<?php echo $var_value ?>">Page2</a>

Bu bir değişken edin, ya da ikinci sayfaya gönderen bir form içinde gizli bir alan vardır

<form method="get" action="page2.php">
    <input type="hidden" name="varname" value="var_value">
    <input type="submit">
</form>

Ve sonra ikinci sayfada

//Using GET
$var_value = $_GET['varname'];

//Using POST
$var_value = $_POST['varname'];

//Using GET, POST or COOKIE.
$var_value = $_REQUEST['varname'];

Eğer posta yoluyla bunu yapmak istiyorsan sadece post form yöntemini değiştirmek. İkisini de kesmek daha kolay olsa da aynı derecede güvensiz.

Her yeni istek, oturum verileri hariç, senaryonun tamamen yeni bir örneğidir aslında ben ilk PHP kodlama başladığında beni yakaladı. Buna alışınca, oldukça basit aslında.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • audivila

    audivila

    5 HAZİRAN 2009
  • Jeremy Stark

    Jeremy Stark

    23 Mayıs 2010
  • thewinekone

    thewinekone

    17 Aralık 2005