إضافة معلمات ورل إلى نموذج فب هتمل [php]


Answers

A لا ترى أي سبب لا يمكنك أو لا ينبغي أن تفعل ذلك بهذه الطريقة. ومع ذلك، فإن الطريقة المفضلة للتعامل معها هي:

<form method='get' action='index.php'>
    <input name='_search' type='text' value='What are you looking for?' />
    <submit name='do' value='Search'>
</form>

يتم تمرير زوج الاسم / القيمة ل دو / سيرتش من خلال الضغط على الزر، وإذا كنت تريد إنشاء إجراءات متعددة على نموذج، فيمكنك عندئذ وضع قيم مختلفة لكل زر إرسال، والتعامل مع النموذج بطرق متعددة.

if ($_GET['do'] == "Search") {
 ... do Search ...
} else if ($_GET['do'] == "Foo") {
 ... do Foo ...
} else if ($_GET['do'] == "Bar") {
 ... do Bar ...
}

بدلا من ذلك يمكنك استخدام بناء حالة:

switch($_GET['do']) {
    case "Search":
        ... do Search ...
    case "Foo":
        ... do Foo ...
        break;
    case "Bar":
        ... do Bar ...
        break;
} 

أنا عادة استخدام post بنفسي، ولكن أنا متأكد من get العمل بنفس الطريقة. نأمل أن يجيب على سؤالك.

Question

هل من المستحسن أو الصحيح لوضع المعلمة الحصول على معلمة في إجراء نموذج؟

<form method='get' action='index.php?do=search'>
  <input name='_search' type='text' value='What are you looking for?'>
  <button type='submit'> Search </button>
</form>

عند إرسال النموذج، يتم تغيير عنوان ورل إلى:

index.php?_search=What are you looking for? (I've stripped %20)

أفضل عنوان ورل للقراءة

index.php?do=search&_search=What are you looking for?

هل سيكون من الأفضل إضافة حقل مخفي في النموذج

<input type='hidden' name='do' value='search' />