Basit PHP GET soru

7 Cevap php

GÜNCELLEME:

Yaptığı aşağıda verilen tüm yöntemler değil

için çalışmak:

mysite.com? adınızı beni & action = editpost =

ama sadece:

mysite.com? action = editpost


Belirli bir GET yöntemi url olup olmadığını algılamak için biliyorum:

$username = $_GET['username'];

if ($username) {
   // whatever
}

Ama nasıl böyle bir şey algılayabilir:

http://www.mysite.com? adınızı beni & action = editpost =

Nasıl yukarıdaki "ve eylem" algılayabilir?

7 Cevap

$action = $_GET['action'];

if ($action) {
   // whatever
}

veya

if(array_key_exists('action', $_GET)) {

}

BTW yöntemi çağrılır GET. Ne demek parametrelerdir.

Tüm GET parametreleri aynı şekilde erişilebilir.

$username = $_GET['username'];
$action = $_GET['action'];

if ($username) {
   // whatever
}

if ($action == 'editpost') {
   // whatever
}
if (array_key_exists('action', $_GET) && $action = $_GET['action']) {
 // action exists
}

Ancak, boş bir dize (veya evaluates to boolean false şey) geçerli bir değer olup, sadece yerine bu kullanırsanız:

if (isset($_GET['action'])) {
 $action= $_GET['action'];
 // Do stuff with $action
}

Hata raporlama düzeyine bağlı olarak, $_GET['action'] eylem henüz belirlenmedi zaman bir uyarı üretecektir kullanma.

Sen aşağıdakileri yapabilirsiniz:

if(array_key_exists('action', $_GET)){ // returns a boolean
  // do something
}

Aynı şekilde - $ _GET bir dizidir

$action = $_GET['action'];

print_r( $_GET ) içinde ne görmek için deneyin

url parametreleri sağa soldan $ _GET dizi atanır.

Eğer böyle bir şey varsa,

?username=me&action=editpost&somekey=somevalue&action=&someotherkey=someothervalue

o zaman ilk 'editpost' eylemi olarak atanacak ama sonra'' olarak ve sonuç olarak değiştirir olacak

$_GET['action'] = ''; (instead of 'editpost')

Kullanıcı adı olarak aynı şekilde:

$action = $_GET['action'];