» Poradna » Web a internet

PHP - vykonání php až poté co zadáme formulář na stejné stránce

 |   |  Microsoft Windows 8.1 Chrome 31.0.1650.63

Dobrý den, učím se PHP a nějak (nejspíš jsem absolutní blb) chci dosáhnout toho, když mám HTML formulář na stejné stránce a mám pod formulářem<?PHP if(!isset($_GET["text"])) { } else { echo "Nevyplnil jste zadané pole" ; } ?>a tak dále.... aby se mi to vykonalo až po odeslání formuláře, nyní se to vykoná rovnou když toto otevřu... Je to pitomá otázka, ale asi nejsem schopen kloudně hledat...Děkuji za každou radu

Mohlo by vás také zajímat

Odpovědi na otázku

 | Microsoft Windows 8.1 Firefox 25.0

Ve formuláři máš proměnné - inputy.Otestuj ho na nenulovou hodnotu.To se ovšem špatně radí, když formulář jsi zatajil.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8.1 Chrome 31.0.1650.63

Díky, to funguje... formulář je klasické textové pole.A měl bych ještě jeden dotaz - jak jdou spojit dva příkazy, konkrétně strtoupper a strtolower aby to udělalo akci obojího?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 17.0

Protože to máš logicky opačně => smaž ten vykřičník před isset.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8.1 Chrome 31.0.1650.63

uch, díky toho jsem si všiml pak a předělal to na empty...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows Vista Firefox 26.0

isset a empty se obvykle řetězí za sebe... (isset(něco) AND !empty(něco))"strtoupper" a "strtolower" dohromady, to nedává smysl...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 31.0.1650.63

Jinak isset se mi neosvědčilo , nevím jak teď ale za mně to dělalo psí kusy. Lepší použít !empty nebo if(x != "") . Tedy jestliže proměnná x není rovna ničemu -> což znamená že logicky je rovna něčemu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Macintosh OS X Chrome 31.0.1650.63

Jak chceš zjišťovat jestli je proměnná prázdná, když ještě neexistuje?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 31.0.1650.63

Jak neexistuje ? tak sakra to je jenom část kódu.Se vytvoří při odeslání formuláře. A pokud neexistuje tak ať neexistuje mě to je fuk , funkce se jednoduše neprovede protože proměnná neexistuje a jestli si to hlásí warningy at si to hlásí.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 31.0.1650.63

Úplně jednoduše máš formulář a v něm máš odesílací tlačítko: <input type="submit" name="Odeslani" value="Odeslat">napíšeš podmínku tak aby se spustila jen tehdy když je hodnota promenné "Odeslani" [name="Odeslani"] rovna hodnotě "Odeslat" [value="Odeslat"].Tedyif($_POST['Odeslani'] == "Odeslat"){.....}Nebo můžeš použít ten isset, tedy jestliže je hodnota nastavenaif(isset($_POST['Odeslani'])){....}První způsob je výhodnější při použití vícero odesílacích tlačítek popř. formulářů.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8.1 Chrome 31.0.1650.63

Nehraj o hodinách hry a dělej co máš. Domácí úkoly ti tu dělat nebudeme.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8.1 Chrome 31.0.1650.63

Copak já chci abyste za mě dělal úkoly? Potřeboval jsem jen malou radu.To s tím strtolower a strtoupper jsem myslel tak, že mám vlastně udělat formulář, do kterého když někdo něco napíše, velká písmena to převede na malá a naopak. A přemýším jak to udělat aby se to dalo dát oboje dohromady - strtolower a strtoupper na ten samý kus textu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 31.0.1650.63

$test = 'ReTeZEc'; // proměnná obsahující řetězec/* Oddělíme jednotlivá písmena od sebe do pole (Array) */$pismena = preg_split('/(?<!^)(?!$)/u', $test ); /* Pro kazde pismeno aplikujeme funkci */foreach ($pismena as &$neprevedene_pismeno) { /* Kazde pismeno prevedeme do velkého písmena */ $velke_pismeno = mb_strtoupper($neprevedene_pismeno, 'UTF8'); /* Jestliže je převedené písmeno (na velké) stejné jako nepřevedené písmeno pak jej převedeme na malé. */ if ($velke_pismeno === $neprevedene_pismeno) { $neprevedene_pismeno = mb_strtolower($neprevedene_pismeno, 'UTF8'); } /* Pokud není stejné pak jej nahradíme písmenem velkým. */ else { $neprevedene_pismeno = $velke_pismeno; }}unset($neprevedene_pismeno); /* Složíme pole písmen zpět na řetězec */$prevracene_test = implode('', $pismena);/* A vypíšeme */echo $prevracene_test; // rEtEzeC

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: PHP, Vykonání, Formulář