Proměnná GET, problém s formulářem - metoda GET – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Proměnná GET, problém s formulářem -  metoda GET – PHP – Fórum – Programujte.comProměnná GET, problém s formulářem - metoda GET – PHP – Fórum – Programujte.com

 

Jelec0
Newbie
8. 11. 2013   #1
-
0
-

Zdravím!

Mám stránku, kde mám skript, který na základě hodnoty proměné $_GET['sec'] otevře určitou stránku. Tento skript mám z jiné mé stránky, kde bezvadně funguje.

Dále mám hlavičku stránky - tam mám formulář na vyhledávání (zdroják přikládám). Pokud mám ve formuláři metodu odeslání GET, pak se nedostanu tlačítkem Submit na stránku submit a proměnná $_GET['sec']; se nezobrazí ani v url. Pokud mám ve formuláři metodu POST, pak vše funguje výborně - po odeslání formuláře se dostanu tam, kam chci, vidím v url $_GET['sec']. Takže z nějakého důvodu $_GET['sec'] není po odeslání metodou POST definováno. (Skript v index.php hází chybu undefined index.)

Díky předem
P.S.: Trochu se omlouvám za případnou "pomalost", PHP jsem delší dobu nedělal

                <form action="index.php?sec=results" method="GET">
                    <h2>Hledej:</h2><br>
                    <input type="Text" name="query" value="" size="20" maxlength="15"> &nbsp;
                    <input type="Submit" value="Najdi">
                </form>
Nahlásit jako SPAM
IP: 89.190.44.–
KIIV
~ Moderátor
+43
God of flame
8. 11. 2013   #2
-
0
-

nestacilo by pouzit hidden input a do toho to dat?

Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jelec0
Newbie
8. 11. 2013   #3
-
0
-

Předpokládám, že máš na mysli dát tam proměnnou $_GET['sec'] - teoreticky by to mohlo jít, ale zdá se mi to jako velmi kostrbaté řešení, které problém samo o sobě neřeší a mohou z toho plynout různé další problémy. Já klidně nastavím metodu na POST a je klid, ale spíš bych rád věděl, čím to je...

Nahlásit jako SPAM
IP: 89.190.44.–
KIIV
~ Moderátor
+43
God of flame
8. 11. 2013   #4
-
0
-

tak jeste muzes zneuzit mod_rewrite a mit tu akci jako server.cz/akce/ ...

kazdopadne daleko kostrbatejsi reseni, nez dat tu akci do hidden inputu, je sazeni do loterie ze jak on se ten prohlizec vlastne zachova, kdyz ma poslat get data na adresu, co uz get parametry obsahuje?   A jestli ti to nebezi, tak uz znas odpoved!

Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jelec0
Newbie
8. 11. 2013   #5
-
0
-

#4 KIIV
Úplně jsem nepobral, co tím druhým odstavcem myslíš (sázení do loterie, adresa co obsahuje get).

Prosím, aby jsi mi to objasnil :)

Díky

Nahlásit jako SPAM
IP: 89.190.44.–
KIIV
~ Moderátor
+43
God of flame
8. 11. 2013   #6
-
0
-

tak metoda predavani parametru GET pouziva to, ze se parametry zakoduji rovnou do url

POST pouziva to samy, ale neposila to v adrese, ale jako telo pozadavku (tj. hlavicky vcetne delky tela, prazdnej radek, parametry)

no a co ma delat prohlizec, kdyz ma poslat na adresu   neco.php?akce=cokoliv  dalsi parametry, ktere maji byt tez za ?  Evidentne se neobtezuje se spojovanim

Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jelec0
Newbie
8. 11. 2013   #7
-
0
-

Pokud jsem to správně pochopil, tak prohlížeč neudělá &promena=neco - proč?

Nahlásit jako SPAM
IP: 89.190.44.–
KIIV
~ Moderátor
+43
God of flame
8. 11. 2013   #8
-
0
-

nejspis se nepare s tim, aby to pripojoval ale jen to ?... smaze a nahradi tim co posilas zevnitr formulare

Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Jelec0
Newbie
8. 11. 2013   #9
-
0
-

Promiň, ale asi jsem holt umíněný...

Proč se tak děje a kdybych chtěl mermomocí používat GET bez nějakého input inputu, jak se toho zbavit?

Nahlásit jako SPAM
IP: 89.190.44.–
Kit+15
Guru
8. 12. 2013   #10
-
+2
-
Zajímavé

#9 Jelec
POST tam nepatří, protože se nesnažíš nic odesílat, ale získat data podle nějakého požadavku, tedy GET.

 <form action="index.php">
     <h2>Hledej:</h2>
     <input type="hidden" name="sec" value="results">
     <input type="text" name="query" value="" size="20" maxlength="15">
     <input type="Submit" value="Najdi">
 </form>

Atribut action="index.php" je také zbytečný, pokud to máš ve skriptu index.php.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
4016 příspěvků
9. 12. 2013   #11
-
+1
-
Zajímavé

Prohlizec by mel spravne GET ignorovat, ikdyz si nastavis POST. Vubec bych se tomu treba u chrome nebo opery nedivil. Muzes pouzit $_REQUEST. Ale stejne mi to prijde jako nesmysl, doplnovat url, kdyz na to mas preci ten formular a input type=hidden. Ono to mozna vypada cool, ale ve skutecnosti z jednoducheho formulare, ktery jsi mohl generovat cely scriptem, delas slozity.

Nahlásit jako SPAM
IP: 2001:718:2601:400:0:5efe:...–
Kit+15
Guru
9. 12. 2013   #12
-
+1
-
Zajímavé

#11 peter
To není záležitostí prohlížeče, ale serveru. Pokud odesíláš POST, pošlou se i parametry GET.

POST má smysl jen tehdy, pokud chci na serveru něco ukládat nebo se přihlašovat. Pokud chci specifikovat prohlíženou stránku, patří tam GET.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 34 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý