Diskuze: form ve switchi

PHP PHP form ve switchi American English version English version

Aktivity (1)
Avatar
Jakub Štolbaa:26. května 21:22

Ahoj všichni, mohu se zeptat jak udělat form ve switchi?
Pokud někdo má nějaký návrh tak moc děkuju

 
Odpovědět 26. května 21:22
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Jakub Štolbaa
Petr Čech:27. května 0:07

Erm... co je je form ve switchi?

Nahoru Odpovědět 27. května 0:07
the cake is a lie
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Petr Čech
vajkuba1234:27. května 3:32

Asi mysli, ze mu kazdy case vrati jinej form...

Nahoru Odpovědět 27. května 3:32
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
Odpovídá na Petr Čech
Jakub Štolbaa:27. května 14:52

potřeboval bych mít form ve switchi, který mi bude posílat nějaké data, ale když ten form odešlu ve switchi, tak se mi žádné data přes POST do php nepošlou

 
Nahoru Odpovědět 27. května 14:52
Avatar
David Jančík
Tým ITnetwork
Avatar
Odpovídá na Jakub Štolbaa
David Jančík:27. května 15:20

Přečti si prosím: Jak získáš kvalitní řešení na svůj dotaz ve fóru?
A projdi si základní konstrukce PHP
Tvůj dotaz nedává smysl a postrádá základní informace, navíc má nic neříkající titulek.
Pokud chceš získat na svoji otázku kvalitní odpověď, budeš muset vynaložit nějaké úsilí, jinak ti tu nikdo nepomůže.

Nahoru Odpovědět  +2 27. května 15:20
Čím více času dostaneš, tím méně ho máš.
Avatar
Odpovídá na David Jančík
Jakub Štolbaa:27. května 16:22

Omlouvám se, jestli to je nesrozumitelné, ale je to dosti těžké popsat.

mohu tedy přiložit kód a na něm to zkusit popsat.

switch ($_POST["rozdeleni"]) {
                                                        case '1':
                                                        $rozdeleni = unserialize($plugin);
                                                        echo '<form action="" method="POST">';
                                                                foreach ($rozdeleni as $value) {
                                                                        echo '<input type="checkbox" name="checkboxvar[]" value="'.$value.'">'.$value.'<br>';
                                                                }
                                                                        echo '<input type="submit" value="Submit" name="submit">';
                                                        echo '</form>';

                                                        if (isset($_POST["submit"])) {
                                                                if (!empty($_POST["checkboxvar"])) {
                                                                        foreach ($_POST["checkboxvar"] as $value) {
                                                                                echo $value."<br>";
                                                                        }
                                                                }
                                                        }
                                                                break;

                                                        case '2':
                                                                break;
                                                        case '3':
                                                                break;

                                                        default:
                                                                echo "nebyl poslán požadavek";
                                                }

Zde se snažím ve switchi poslat form, který se má hlásit hned v podmínce níže, když jsem zkoušel pouze toto mimo switch:

$rozdeleni = unserialize($plugin);
                                                        echo '<form action="" method="POST">';
                                                                foreach ($rozdeleni as $value) {
                                                                        echo '<input type="checkbox" name="checkboxvar[]" value="'.$value.'">'.$value.'<br>';
                                                                }
                                                                        echo '<input type="submit" value="Submit" name="submit">';
                                                        echo '</form>';

                                                        if (isset($_POST["submit"])) {
                                                                if (!empty($_POST["checkboxvar"])) {
                                                                        foreach ($_POST["checkboxvar"] as $value) {
                                                                                echo $value."<br>";
                                                                        }
                                                                }
                                                        }

tak všechno perfektně fungovalo, ale v tom switchi nedostanu zpětnou vazbu, což je ten problém, který jsem se snažil vysvětlit.
Pokud budete vědět co s tím, tak vám budu vděčný.

 
Nahoru Odpovědět 27. května 16:22
Avatar
David Jančík
Tým ITnetwork
Avatar
Odpovídá na Jakub Štolbaa
David Jančík:27. května 17:00

Neber mě prosím nijak zle, ale přečti si prosím to, co jsem ti poslal. Já chápu, že tě štve, že ti to nejde a že nevíš co s tím a hledáš tu pomoc, nicméně pokud budeš neustále dělat to, co děláš - psát věty tak, jak ti jdou pod ruku - opakuješ se, popis problému je nic neříkající a ani si nedáš tu práci zformátovat kód, který sem dáváš, nenapíšeš, co ti to vypisuje a co očekáváš, že ti to má vypsat, co jsi zkusil apod..., tak se nikam neposuneš, protože tím, že ty nevěnuješ svůj čas tomu, abys sepsal kvalitní otázku, tak nikdo nebude věnovat svůj čas tomu, aby ti na ni odpověděl.

Nahoru Odpovědět 27. května 17:00
Čím více času dostaneš, tím méně ho máš.
Avatar
Odpovídá na David Jančík
Jakub Štolbaa:27. května 17:44

Dobře, zkusím se tedy více snažit.
Snažím se udělat plugin, který bude obhospodařovat ostatní pluginy. Mojí úlohou je, abych je roztřídil do 3 bloků a to na důležité, méně důležité a nedůležité pluginy. Ty si uživatel sám roztřídí podle toho, jaké pluginy jsou pro něj ty nejdůležitější a které méně.

Udělal jsem si form, podle kterého se uživatel bude rozhodovat do jakého bloku, bude chtít umístit svoje označené pluginy, zde je form.

echo '<form action="" method="post>'
               '<select id="pole" name="rozdeleni" class="select-field">'.
                       '<option value="">select allocation</option>'.
                       '<option value="1">important</option>'.
                       '<option value="2">less important</option>'.
                       '<option value="3">unimportant</option>'.
               '</select>'.

Po vybrání do jakého bloku chce uživatel přidat svoje pluginy, se dostávám k podmínce, která zkoumá, jestli je ve formu nějaká, hodnota.
Pokud nějaká hodnota je obsažena, tak následuje switch, ve kterém chci vybírat pluginy, které chce uživatel uložit, zde je kód:

if (!empty($_POST["rozdeleni"])) {

        switch ($_POST["rozdeleni"]) {
                case '1':
                $rozdeleni = unserialize($plugin);
                        echo '<form action="" method="POST">';
                                foreach ($rozdeleni as $value) {
                                        echo '<input type="checkbox" name="checkboxvar[]" value="'.$value.'">'.$value.'<br>';
                                                                }
                                        echo '<input type="submit" value="Submit" name="submit">';
                         echo '</form>';

                        if (isset($_POST["submit"])) {
                                if (!empty($_POST["checkboxvar"])) {
                                        foreach ($_POST["checkboxvar"] as $value) {
                                                echo $value."<br>";
                                        }
                                }
                        }
                         break;

                case '2':
                        break;
                case '3':
                         break;

                default:
                        echo "nebyl poslán požadavek";
        }
}

Pokud si vyberu, že chci nejdříve vybrat důležité pluginy, tak se dostanu do switche s case 1 a tam si z databáze vyvolám všechny pluginy, vedle kterých je input typu checkbox, pro označení pluginů, které chci roztřídit.

Po označení pluginů, uživatel odešle tento form a měla by se splnit podmínka, která vypíše, všechny označené pluginy(echo $value).

Zde je ale problém, že takto ve switchi se mi vybrané hodnoty po odeslání formuláře neobjeví na stránce. Po odeslání mám prázdnou stránku bez výstupů.

Když jsem si zkoušel tento formulář, hodit mimo switch, tak mi normálně fungoval a bez problému se mi echovali, vybrané pluginy, zde přikládám kód, který jsem hodil mimo switch:

echo '<form action="" method="POST">';
        foreach ($rozdeleni as $value) {
                echo '<input type="checkbox" name="checkboxvar[]" value="'.$value.'">'.$value.'<br>';
                                                                }
                echo '<input type="submit" value="Submit" name="submit">';
echo '</form>';

if (isset($_POST["submit"])) {
        if (!empty($_POST["checkboxvar"])) {
                foreach ($_POST["checkboxvar"] as $value) {
                        echo $value."<br>";
                }
        }
}

Bohužel ve switchi mi tento postup nefunguje a nevím proč.
Snažil jsem se popsat můj problém podrobně a srozumitelně, ale pokud něčemu nebudete rozumět, tak se budu snažit problém ještě více přiblížit.
Děkuju.

 
Nahoru Odpovědět 27. května 17:44
Avatar
Petr
Člen
Avatar
Petr:28. května 9:00

Je mi líto, ale obě varianty, jak jsou popsány (včetně switche) mi krásně fungují. Takže problém bude v datech.

 
Nahoru Odpovědět 28. května 9:00
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.