GET va POST so'rovlari bilan ehtiyot bo'ling. Php ma'lumotlarini serverga yuklash parametrlari get dan php tomonidan so'raladi
Menda manzil deb nomlangan parametr bilan to'ldirilgan URL tuzilmasi bor.
http://computerhelpwanted.com/jobs/?occupation=administrator&position=network+administrator
Menda forma tanlash pozitsiyasi bilan ariza tanlash ro'yxati ham bor,
Agar siz tanlashni tanlasangiz, qatordagi tanlash parametri sifatida parametr qiymatlarini tanlash nomi = "pozitsiya" parametri bilan atributga qo'shasiz.
Menda ovqat yo'q, qatorning qiymatiga qo'shimcha ravishda shaklni tanlash qiymatiga kirishni qanday rad etishim mumkin?
Qator parametrining Wiklik qiymati uchun _GET usulidan foydalanaman.
$position = isset($_GET["pozitsiya"]) ? ($_GET["pozitsiya"]) : "";
Shubhasiz, ma'no shakl elementidan emas, balki URL tuzilishidan kelib chiqadi. Yoki, ehtimol, shunday, qo'shiq aytmang. Xo'sh, buni tekshirib ko'ring, menimcha, bu shakl emas, balki URL manziliga asoslanganligini tushunish muhimdir.
PHP-da tanlangan shaklga kirishni qanday rad etishim mumkin?
Onovity
Sarlavhaga kiritilgan kanonik URL bilan muammo bor.
shunday bo'ladi
Xuddi shu farq - bu + quyidagi qatorda.
Barcha qatorlarni yuvish mumkin emas +. Deyakhi misolida. Aks holda, qaysi biri + bo'lishidan qat'i nazar, ikkala URL manzilidan tarkibni ko'rsataman. Agar siz xafa bo'lsangiz, yon sahifa o'rniga URL o'chiriladi.
Kanonik fragmentlar shakl elementining qiymati emas, balki URI dan dinamik ravishda yaratilgan bo'lsa-da, har ikki tomonda kontent 2 xil kanonik belgilarga ega.
_Get('value') o'zgaruvchisi shakl elementi tartibidan qiymatni oladi. Men buni bilaman, chunki forma elementi qiymatida tarmoq administratori oʻrtasida boʻsh joy mavjud boʻlib, agar forma tarmoq+administratorni ifodalasa, urlenkodlanadi, shuning uchun agar forma elementi qiymatiga mos kela olsam, toʻgʻri kanonik qiymatni oʻrnatishim mumkin.
Ko'pgina saytlarda quyidagi manzillarni topish mumkinligini payqagandirsiz:
http://site/index.php?blog=2
Bu yerda, agar siz PHP tilini bilmasangiz ham, fayl bilan nima qilishimizni taxmin qilishingiz mumkin index.php Ovqatdan keyin nima bo'lishini kam odam biladi. Hammasini bajarish oson: ?blog=2 Bu “2” qiymati bilan “$_GET["blog"]” global o‘zgarishi natijasidir. Shu tarzda, men skriptga o'zgartirish kiritaman, bu ma'lumotlar bazasidan ma'lumot olinadiganligini bildiradi. Keling, hamma sizga o'rgatishi uchun kichik skript yozaylik:
if(isset($_GET["blog"])) (
echo $_GET["blog"];
}
?>
Miya operatori if() dan quyidagi qatorda miya qiymati sifatida foydalanamiz:
Isset($_GET["blog"])
isset() sizga o'zgartirish qo'llarda ko'rsatilgan yoki yo'qligini aniqlash imkonini beradi, shuning uchun men kodni quyidagicha ta'rifladim: $_GET["blog"] nima o'zgarish, keyin uni ekranda ko'rsating. Eksa:
Menimcha, global o'zgarishlar ro'y berayotgani aniq $_GET identifikator bilan biz manzil qatorida ovoz berdik ( V bu yigitga"blog" identifikatori bilan)
Endi men bir fikrga oydinlik kiritmoqchiman. Aytaylik, ikkita o'zgartirishga ovoz berishimiz kerak, buni qanday qilishimiz mumkin? Birinchi kishi ovqatlangandan keyin ovoz beradi "?" Bunday “&” belgisidan keyin boshqa saylovchi ovoz beradi ( Rostini aytsam, bu belgi nima ekanligini bilmayman), o'qning dumbasi ulardan uchtasini hayratda qoldirdi:
http://site/index.php?a=1&b=2&c=3
Eksa kodi:
if(isset($_GET["a"]) VA isset($_GET["b"]) VA isset($_GET["c"])) (
echo $_GET["a"]."
";
echo $_GET["b"]."
";
echo $_GET["c"]."
";
}
?>
Umova shunday eshitiladi:
Agar global o'zgarish bo'lsa $_GET["a"] va global o'zgarish $_GET["b"] va global o'zgarish $_GET["c"] ularni ekranda aks ettiring, Eksa natijasi:
Formie
Avvalo, keling, bunga o'tamiz post Keling, so'raymiz, nima uchun qanday shaklni aniqlash kerak? Nima kerak? Chunki $_POST[""] global o'zgarishi formalar orqali yaratilgan. Shakl nima? Bular mijoz tomonidan har qanday ma'lumotni kiritish uchun maydonlardir. Maydonlar bir qatorda, katta maydonlar, shuningdek, radio tugmalari va tasdiqlash qutilari mavjud. Keling, hamma narsani tartibda olaylik.
Tse teg shakli:
Shakl eng yuqori kengliklarni qamrab oluvchi atributlarga ega:
Keling, shaklni yarataylik:
Kompilyator fayli kabi, men faylni qo'ydim test.php Men siz uchun parchalarni o'zim yozyapman. Men postni tuzatish usuliga qo'ydim, chunki bu usullarning o'zi 99,9% hollarda ishlaydi. Shunday qilib, men shunchaki nomimizni berdim - shakl
Endi shakl elementlarini ko'rib chiqamiz. Avval barcha elementlarning teglanganligini tushunishimiz kerak Atributda tegishlilik kamroq turi bu teglarda. Tanlangan shakl elementlarini ko'rib chiqishga ruxsat bering:
Men siz bunday sohalarni bir necha bor yoritganingizni kuylayman, shuning uchun bu erda nima deyishim mumkin: "sharhlar yo'q"
Endi biz amalda bergan kichik o'quv anketasini tuzamiz. Bizning vazifamiz - har qanday mintaqada, de koristuvach matnining rangi va maydoni o'zingiz haqingizda qo'shishingiz mumkin bo'lgan oxirgisining nomini aytadigan kichik so'rovnomani tuzishdir. Xayolimga kelgan o'q:
get.php fayli
array("login" => "Administrator", "parol" => "h734yuiw8"), 1 => array("login" => "John", "password" => "78dfud776s")); //olinuvchi praporshch $flag=$_GET["bayroq"]; //agar ensign 1 bo'lsa, massiv serializatsiya funksiyasining get //magic orqali uzatiladi if($flag==1)( header("Joylashuv: index.php?data=".serialize($users)."" ); exit; ) else( header("Location: index.php"); exit; ) ?>
Post bilan php
Php xabarni formaning o'zi orqali yuborishni so'raydi, faqat forma sarlavhasining atributi method="post" bo'ladi. Men ma'lumotlarni chiqarib olaman belgilangan fayl Biz $_POST["search"] katta post qilamiz va darhol dumbani ko'rsatamiz.
Zavdannya: index.php dan ma'lumotlarni POST usuli yordamida get.php faylidagi serverga yuboring va uni qaytarib oling, agar ma'lumotlarni yuborish maydoni bo'sh bo'lsa, bo'sh maydon haqida ogohlantirishni ko'rsating. Biz buni index.php da hal qilamiz
get.php fayli
AJAX massividan o'tish
Vikonaemo qo'shimcha ajax uchun xuddi shu menejer. Boshqacha qilib aytadigan bo'lsak, ajax - bu JavaScript-ga cho'zilgan texnologiya, ammo serverga ma'lumotlarni uzatish haqidagi eslatma doirasida u bog'langan va bu texnologiya. Albatta, ajax bu maqolaning asosiy mavzusi emas. Jarayon shuningdek, diqqatga sazovor joy indikatorining gifini ko'rsatadi. Shuningdek, ikkita index.php va get.php fayllari mavjud. index.php fayli jquery-ni qo'shishni unutmang. Katta rahmat, sahifaga birinchi marta tashrif buyurganingizda gif qo'shish uchun blok uslubini belgilang: displey: yo'q