Bir url gelen bilgiyi kapma?

4 Cevap php

I have an on line project "question of the week"; this project allows the users to submit their questions. These questions are saved in a mysql table; the question is also sent over to another simplepost.php which stores the question in a phpBB. I want to use this phpBB for every question, for discussions on that question.

Yani şimdi, benim proje sql tabloda soru yanı sıra Mesajları phpBB soru saklar.

Soru phpBB nakledilir Ama ne zaman "http://servername.com/phpBB3/viewtopic.php?f=5&t=24" t 24 = nerede soru içinde saklar.

Ben nasılsa bu url kapmak ve ben kendi özel phpBB sayfanın sorusunu yönlendirir projemde her soru için bir tıklama mümkün bağlantı olabilir ki, = 24 t ayıklamak istiyorum.

Benim proje üzerinde olduğunu varsayın: http://servername.com/qotw/profile.html (bu kullanıcının bir soru göndermek için izin verir ve soru sql tablosuna eklenir ve aynı zamanda phpBB / simplepost.php çağırır mesaj phpBB soru)

"http://servername.com/phpBB3/viewtopic.php?f=5&t=24": ve php bu soru görülebilir

Ben ne yapmalıyım bana tavsiye edin. nasıl bu url bu "t = 24" yakalayabilir.

Benim simplepost.php çağrıldığında, posting.php kullanarak soru nakleder ve bir dönüş değeri geri gönderilir.

: Simplepost.php in kodu gibi görünüyor

$title = "This is the title of the message.";
//$body = "This is the message body.";
$post_fields = array(
    	     'subject'   => $title,
    	     'addbbcode20' => 100,
    	     'message' => $body,
    	     'lastclick'          => $lclick[0],
    	     'post'   => 'Submit',
    	     'attach_sig'        => 'on',
    	     'creation_time'      => $lclick[0],
    	     'form_token'   => $security123[1],
    	     'filecomment' => '',
    	     );

//Wait (you might also do this by setting lastclick in the past by 3 seconds
sleep(3);

//Set up curl session for posting the message
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL,$purl);
curl_setopt($ch1, CURLOPT_POST, true);
curl_setopt($ch1, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch1, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch1, CURLOPT_HEADER, false );
curl_setopt($ch1, CURLOPT_COOKIE,'cookie.txt');
curl_setopt($ch1, CURLOPT_COOKIEJAR,'cookie.txt');
curl_setopt($ch1, CURLOPT_COOKIEFILE,'cookie.txt');
$result2= curl_exec ($ch1);
//$result3= curl_exec ($ch1, CURLOPT_URL,$purl);
curl_close ($ch1);

echo $result2;

Cevap $ result2 gelir. ve sayfalar http://servername.com/phpBB3/viewtopic.php?f=5&t=24 "yanına gider.

Ama şey, tüm bu arka sonunda meydana geliyor. Benim proje phpBB viewtopic.php sayfasını gösteriyor değil.

4 Cevap

Yanılmıyorsam eğer $_GET['t'] kullanarak URL 't' değişkeni içinde saklanan 'değer' (24) almak için PHP kullanmak gerekir. Eğer olsa bu URL şu anda ise bu sadece çalışır. Bakınız: http://us2.php.net/manual/en/reserved.variables.get.php

Eğer bu özel sayfada değil zaman sadece o bölümünü kapmak için çalışıyoruz eğer deneyebilirsiniz:

ereg("t=[0-9]+", $url, $res)

sonra sadece $ res dizisindeki sonucu gelen "t =" kapalı şerit

Ne istediğinizi gerçekten emin değil, ama aptal olmak olabilir.

Bir url verilen $url bunu yapabilirsiniz:

$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $params);
$t = $params['t'];

Sayfa GET parametresini geçirilir, bunu yapabilirsiniz:

$t = $_GET['t'];

Nasıl hakkında:

$var = $_GET['t'];

Onu süzün ve onunla ne olursa olsun yapmak.