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

  • ASUS North America

    ASUS North A

    12 AĞUSTOS 2008
  • Study with Substance P

    Study with S

    31 Mayıs 2008
  • vgeller1

    vgeller1

    22 Kasım 2009