PHP değişkenleri Gönderme

4 Cevap php

Nasıl bir formu kullanarak, ve bir sonraki sayfadan değişken erişmeden PHP bir değişken gönderebilirim.

Gerçekten olsa yapmak ne çalışıyorum, böyle bir değişken gönderebilir edilir:

$username = "Sam";
$_POST[$username];

ve sonra ben meta için yenileme bir sayfadan erişmek için çalışıyorum.

Herhangi bir fikir?

4 Cevap

Ne elde etmek için çalışıyoruz? İstediğin düşünüyorum Sessions:

// page1.php
session_start();
$_SESSION['username'] = 'Sam';
header('Location: page2.php');

// page2.php
session_start();
print 'Hello, ' . $_SESSION['username'] . '!';

Eğer ne istediğinizi emin iseniz Ancak, cURL, bir sayfaya POST izin hangi kontrol, ama ben, tabiri caizse, tam ona gidin izin vereceğim emin değilim. Eğer olsa, onun çıktı alabilirsiniz:

// page1.php
$curl = curl_init('http://www.mysite.com/page2.php');
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, array('username' => 'Sam'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
print $result; // prints "Hello, Sam!"

// page2.php
print 'Hello, ' . $_POST['username'] . '!';

Passing Information Between PHP Pages, ben size ilgi olabilir düşünüyorum soruya benim cevap bak. PHP sayfaları arasında iletişim birkaç mevcut yöntemleri arasındaki farklar hakkında konuşuyor.

Daha spesifik olarak, burada soruna ilişkin bir özeti:

  1. Bir $_GET (doğrudan geçirilir bilgi in URL) ne olduklarını ve size ulaşmak için çalışıyoruz ne bağlı olarak, değişkenleri geçmek mümkün olabilir ile.

  2. Eğer bir sayfaya yönlendirmek mümkün olmayacak bir $_POST (HTTP başlığında to bir URL olarak yayınlanan bilgilerin), bu tarayıcı tarafından yapılır çünkü (istemci tarafı) ile değil sunucu (Eğer PHP komut dosyası çalıştıran yerlerde) tarafından. Gerçi yazı (ve aynı zamanda yönlendirmeyi) yapmak için gizli bir form ve bazı javascript kullanabilirsiniz. Bu javascript kusursuz değil gibi hedef kitleye bağlı olarak, işe yarayabilir; Bu tarayıcıda devre dışı bırakılmış olabilir. Bazı söylediler bu tarayıcı olarak sunucu taklit rağmen Ayrıca, CURL kullanabilirsiniz; veriler kullanıcı adına ilan edilecektir, ama o sayfada with yayınlanan verileri otomatik olarak yönlendirildi almazsınız. Bu nakil sonuç örneğin bir kullanıcı kimlik doğrulaması Ve eğer, kullanıcı (istemci tarafı) onun için açılmış bir oturum olmayacak.

  3. Sunucu tarafında kalır bilgi, bir $_SESSION kullanma. Sadece (otomatik olarak) sizin web sitesinde yaptığı oturumda depolamak verilere bir kullanıcı bağlantı (normalde bir çerez aracılığıyla) tarayıcıya benzersiz bir tanımlayıcı geçer. Başka bir web sitesini kendi uygulama için kullanıcı yönlendirme, ve değilse tabii, bu sadece yararlı olacaktır.

Yani, belirli bir soruna bağlı olarak, bunu çözmek için farklı yolları vardır.

Ben bunun mümkün olduğunu sanmıyorum. Yerine $ _GET kullanarak veya oturum değişkenleri deneyin.

Edit: Aslında, görünüşe you can use CURL.

Veya this method, hangi sadece bir dosyaya yazmak gibi görünüyor ve yine değişkenler okur. Sana rağmen oturum değişkenleri kullanarak daha iyi olduğunu düşünüyorum.

Bu gönderme dayalı bir CURL veya form olmadığını sayfası biliyor hedef olacak?