Autor Zpráva
smiesek
Profil
Hezký den,

ráda bych poprosila, tvořím si v php anketu a nemohu přijít na správné slovní spojení, pod kterým najít, jak se pracuje s poli, tedy předávání jejich parametrů formou výsledku ankety input radio.

Celkově mi práce s poli dělá problémy, doslechla jsem se, že je možné právě i na základě polí přidávat další proměnné, aniž bych je definovala někde na začátek souboru, pouze je nutné do DB přidat příslušný sloupec.

Můžete mi prosím vložit nějaké adresy, které vysvětlují jejich využití právě třeba pro ankety a nebo celkově pro formuláře?

Jde o to, že jednotlivým prvkům nastavím hodnotám name nastavím ="promenna[]" ale právě pak jak je dále zpracovávat a vyhodnocovat netuším.

Děkuju
Keeehi
Profil
Nejjednodušší je si to ozkoušet. Ve scriptu na který míří action formuláře si někde na začátku vlož print_r($_POST); a uvidíš, co ti tam bude chodit.

Radiobutton umožňuje výběr 1 z N. Tam pole není třeba. U checkboxů už to ale smysl dává.
smiesek
Profil
zatím pouze vytvářím zobrazování ankety a zpracování hlasů, následně bych ráda k tomu vytvořila i admin část pro vložení a úpravu ankety z formuláře, proto mě už takhle dopředu zajímá, jakým způsobem se to řeší a ještě líp, na jakém principu to funguje, abych to dokázala naprogramovat s tou problematikou pole

Proto jsem si chtěla někde něco o tom přečíst a vytvořit ilustrativní příklad, abych byla schopná následně to promítnout do ankety.

Ano, jinak tedy pole pro využití u checkboxů - zatím jsem se s tím nesetkala, ale beru na vědomí a pak mě ještě napadá multivýběr pro využití pole.
Slark
Profil *
Stačí atribut name u možnosti výběru hlasu nastavit na name="hlas[]" value="jablka" a poté máte klasicky po odeslání na straně PHP v proměnné pole vybraných možností $_POST["hlas"] (za předpokladu že formulář odesíláme metodou post). Takže po odeslání projdete pole vybraných možností a připravíte si tak dotaz na databázi, kde následně můžete aktualizovat data.
smiesek
Profil
:) super, děkuju za reakce oboum a myslím, že se mi to tedy podařilo i za pomocí toho pole.

Tedy musela jsem si uvědomit, že nestačí pole naplnit, ale abych s ním mohla dále pracovat, tak jej musím projít (foreachem).

Samozřejmě pole v tomto případě může být zbytečné, ale šlo mi o to jej umět použít a využívat pro budoucnost dalšího programování.

Ještě bych ráda využila tohoto tématu v návaznosti dále, kdy budu tvořit admin část pro ankety a mám takové menší tušení, tedy ať se nepouštím do něčeho, co nebude mít řešení, kdy mám vytvořeny 2 tabulky v DB:
Tabulka otazky a tabulka odpovědi. Zvolila jsem tento model, aby bylo možné vkládat neomezené množství odpovědí k otázkám ankety (dobře tak předpokládám do 5 možností).

Předpokládám správně, že lze pomocí procházení pole postupně naplnit odpovědmi tabulku odpovědi? Abych se lépe vyjádřila, představuju si to tak, že bude formulář, za pomocí kterého vytvořím otázku, to je v pořádku a následně bude formulář obsahovat formulářové pole pro vložení odpovědí a to tak, že buď:

A) vytvořím jedno formulářové políčko, do kterého vložím odpovědi, třeba odděleny ; (středníkem) a následně řetězec pomocí fce explode rozdělím do polí, které vložím do databáze - ale zatím si neumím představit, jestli bude stačit jeden dotaz s INSERT a nebo budu muset "počkat" jakmile se zapíše první odpověď, tak nějakým cyklem se vrátit zpět na další vložení, pokud bude existovat pole. Ano, zase je možnost vytvořit formulář a vkládat to tam po jednom záznamu, ale zase mi jde o vyzkoušení si práce s poli, proto bych je ráda nějak využila.

B) vytvořím cca 5 formulářových políček s name="hlas[]" tak jako u výpisu ankety a následně zcela obdobně bych vyhodnocovala možné vložení do DB.

Samozřemě je možnost vytvořit jeden formulář pro otázku a jeden pro odpovědi, kdy se následně pomocí select přiřadí odpovědi otázce, ale jestli je to možné i jedným formulářem (odesláním submitu)

Budu ráda za napsání názoru, nejde mi o to, aby jste mi to napsali a nebo vytvořili, spíše abych se nad tím zamyslela a pokusila o realizaci.

Mám problém logického myšlení pro programování a tak bych se tímto ráda přinutila se do toho více dostat.
Případně pokud si v něčem rozporuju ve výše napsaném, budu ráda za usměrnění :)

Děkuju
Dan Charousek
Profil
smiesek:
Tvá úvaha je správná. Bude existovat tabulka pro anketu jako celek a pro jendotlivé odpovědi v dané anketě. Nějak takto:

ankety
--------
id_ankety  |  otazka  |  vlozil  |  datum

odpovedi
--------
id_odpovedi  |  id_ankety  |  odpoved

Co se vkládání možností do ankety týče, tak rozhodně využij způb B. Ideální je mít třeba čtyři, pět inputů a případně tlačítko "přidal další možnost", které by dynamicky pomocí javascriptu přidávalo další input. Aby se poznalo o jakou anketu se jedná, můžeš mít v hidden inputu uložené ID otázky, kterou momentálně upravuješ. Při prvním vložení se to provede na úrovní PHP, kde nejdřív vložíš záznam do tabulky ankety a zjistíš si ID posledního vloženého záznamu a použiješ jej pro vložení do tabulky odpovědí. Dotaz pak může vypadat takto:

<?php
// vložím novou anketu (budu používat objektové rozhraní mysqli - počítám již s proběhlým připojením)
$mysqli->query("INSERT INTO ankety VALUES(NULL, 'Jakou máte rádi barvu?', 'Dan Charousek', '2015-07-08')")
// zjistím id posledního záznamu
$id_ankety = $mysqli->insert_id;
// předpokládejme, že v $_POST['odpovedi'] jsou odpovědi z formuláře.
foreach($_POST['odpovedi'] as $odpoved) {
    $mysqli->query("INSERT INTO odpovedi VALUES(NULL, $id_ankety, '$odpoved')");
}
Tak se odpovědi přiřadí konkrétní anketě. Ještě by mohlo stát za zvážení ošetřit vstup pomocí real_escape_string. Cyklus foreach jsem uvedl pro jednoduchost. Lepší je vložení provést jedním složeným dotazem viz. bábovka na mém písečku a graf z ní vycházející.
smiesek
Profil
Dan Charousek:
děkuju za reakci komentářem a typ, zkusím nad tím zapracovat, zdali se mi podaří dostat k vytouženému výsledku
smiesek
Profil
jdu prosím na radu pro popostrčení k logickému uvažování...

Vytvořila jsem formulář dle doporučení, kde je možné vkládat max. 4 odpovědi.
Každé pole formuláře pro odpověď mám definováno jako:
<input type="text" name="hlas[]" value="'.$odpoved.'"/>

Situace je taková, že se mi vloží záznam odpovědi pouze s jedním řádkem a ke všemu ještě s prázdným sloupcem pro odpověď, jinak ID posledního vloženého záznamu pro otázku se mi vloží, takže někde dělám chybu již při předávání proměnných a výpisu foreachem pole - ach to moje nešťastné pole :(.

po odeslání submit kontroluju následující a vytahuji pouze to, kde hledat chybu pro předání proměnných
if(isset($_POST['hlas'])
$odpoved_pole = $_POST['hlas'];

nechávám si pro kontrolu vypsat
print_r($odpoved_pole);

to je v pořádku - vypíše se např.
Array ( [0] => ANO [1] => NE [2] => [3] => ) 

následně procházím celé pole a tu bude určitě nějaký kámen úrazu
    $odpoved = "";
    foreach ($odpoved_pole AS $key) {
        $odpoved = mysql_real_escape_string($key);
    }

pak už nic nevypíše následující
echo $odpovedi = $odpoved;

vlastně nevím, kdy se používá přímo ve foreachu echo a kdy se to bere jako že chci dále s proměnnou pracovat, jako v tomto případě, abych ji mohla dále vyhodnocovat, třeba jestli je prázdná apod.

do DB to už pak normálně vkládám jako
            foreach ($odpoved_pole as $odpovedi) {
                $query = "INSERT INTO odpovedi (odpoved, otazka_id) VALUES ('". $odpovedi ."', '". $otazka_id ."')";
            }

proměnnou $odpoved_pole jsem zkoušela nahradit přímo $_POST['hlas'], ale výsledek je stejný.

Prosím o radu, proč se to tak chová a kde dělám chybu.

Prosím zkuste zatím pouze vysvětlení, nikoliv vkládat kompletní a nebo dílčí část kodu, jak by se to dalo jinak řešit, tak se nic nenaučím pokud je v mém případě ještě co a nejsem ztracený případ :(

Děkuju
Bertram
Profil
smiesek:
Prosím zkuste zatím pouze vysvětlení, nikoliv vkládat kompletní a nebo dílčí část kodu

Zkontrolujte si, jestli se vám někde něco nepřepisuje, vhodné jsou například kontrolní výpisy sledované proměnné.
A pokud chybu očekáváte ve foreach, jak popisujete, tak začněte tam.
smiesek
Profil
Bertram:
zatím jsem přišla k tomu, že se mi zapíše 4 odpověď, tak mě napadlo, jestli je správné mít všechny hodnoty value stejné a nebo se to taky nějakým způsobem definuje jako name pro pole name=hlas[] zatím jsem nic se nedohledala někde na internetu. Stejně tak jako pokud si nechám vypsat pomocí echo, print_f a nebo var_dump proměnnou $odpoved, tak je tam pouze ta poslední čtvrtá, pokud existuje
Bertram
Profil
Vaše kódy jsou neúplné, protože váš kód, který uvádíte jako ten, kterým záznamy vkládáte do databáze, je pouhé přiřazení řetězce do proměnné.

viz
foreach ($odpoved_pole as $odpovedi) {
    $query = "INSERT INTO odpovedi (odpoved, otazka_id) VALUES ('". $odpovedi ."', '". $otazka_id ."')";
}

Předchozím cyklem,
$odpoved = "";
foreach ($odpoved_pole AS $key) {
    $odpoved = mysql_real_escape_string($key);
}
se asi snažíte dopředně ošetřit ukládané záznamy, ale to fungovat nebude, dochází tam k výše popisovanému přepisování. Navíc tuto proměnou, ve které máte díky tomuto přepisování pouze poslední hodnotu opět přepisujete ve foreachu, kterým chcete hodnoty vkládat do databáze.

Srovnejte vaše řešení s tím z odpovědi [#6]
smiesek
Profil
Bertram:
dobrá, já to jdu tedy ještě jednou od znovu projít, nemůžu příjít na logiku no :(

Ještě se tedy zeptám, jaký je rozdíl vkládat echo již přímo do foreachu a nebo až pak? A nebo jak poznám, kdy jaký způsob použít?

Dostanu v obou případech stejný výsledek výpisu hodnot?

A)
    foreach ($odpoved_pole AS $key) {
        echo $odpoved = mysql_real_escape_string($key);
    }

B)
    foreach ($odpoved_pole AS $key) {
        $odpoved = mysql_real_escape_string($key);
    }
    echo $odpoved;
Bertram
Profil
smiesek:
Ne, doporučuji vyzkoušet :)
smiesek
Profil
Bertram:
aha, tak v možnosti:
A) dostanu všechny hodnoty proměnné $odpoved z pole $odpoved_pole;
B) dostanu pouze jednu hodnotu, právě tu poslední nacházející se v $odpoved_pole;

což tedy případ B) nechcu, protože se pak následně vyhodnocuje další proces pouze s tou poslední proměnnou a proto se mi třeba i pak ona jediná vloží do DB, bez ohledu na to, zdali byla hodnota pole vyplněna a nebo nikoliv
Musím se držet možnosti A) a tedy jdu od znovu prvního foreachu hledat svou "chybu"
Předpokládám však, že definování položek ve formuláři mít 4x pod sebou
<input type="text" name="hlas[]" value="'.$odpoved.'"/>
je v pořádku, mate mě tam ta proměnná $odpoved pro všechny 4 vstupní pole stejná
Keeehi
Profil
On je hlavně ten první foreach zbytečný. To pole stačí projít jen jednou. Takže je spojit (první vymazat) a escapování přesunout do druhého.
foreach ($odpoved_pole as $odpoved) {
    $query = "INSERT INTO odpovedi (odpoved, otazka_id) VALUES ('". mysql_real_escape_string($odpoved) ."',  $otazka_id)";
Alphard
Profil
Trošku mimo téma, inspirace checkboxovým testem.
Nedávno jsem do jiného vlákna dával ukázku, jak udělat PHP webový test. Myslím, že ten základ byl funkční (lze zkopírovat a vyzkoušet), můžete se na to podívat, je tam předvedena složitější práce s poli.
smiesek
Profil
Keeehi:
no já bych ani neřekla, protože potřebuju dostat ty hodnoty, abych mohla dále vyhodnocovat chyby jako je:
A) byly vloženy alespoň 2 odpovědi
B) jestli není nějaká odpověď duplicitní mezi těma 4

Jen netuším, jak po tom foreachu se dotazovat na jednotlivá pole, jak si je vypsat.

Před tím foreachem mi to je jasné, to mohu pomocí $odpoved_pole[0]; ale nikde pak nemůžu na internetu najít, kde bude napsáno pro blbečky, jak vypsat třeba pouze tu jednu hodnotu, co to projde foreachem :(

skončila jsem tedy u následujícího, kdy:

kontroluju, zdali není položka prázdná
if(isset($_POST['hlas'])
$odpoved_pole = $_POST['hlas'];

projdu pole
    foreach ($odpoved_pole AS $key) {
        echo $odpoved = mysql_real_escape_string($key);
    }

vypíšou se tedy názvy odpovědí, no a co dál?

Potřebuju jednotlivé hodnoty pole nyní porovnávat a vyhodnocovat, zdali není chyba aby mohla být vložena do DB.

Alphard:
to nevadí, že bude složitější práce s polí, já ju prostě musím nějak pochopit, hodně se docela nad celým programováním trápím :( Co mi pomůže si přečíst nějaký základ (četla jsem i zdejší péhápko) pro výpis jabka s hruškama, když pak si to neumím odvodit a představit aplikovat s prací DB.

Hodně trpím s těma polema a to mi bylo řečeno a jsem i četla, jak se zvládne jejich teorie, usnadní hodně práce - třeba i tabulkový výpis záznamů z DB apod. ale já to prostě pořád nezvládám :(
Proto tvořím něco vlastního, byť i to nemusí jít přes pole, abych se to pokusila zase jinak pochopit.
Keeehi
Profil
mysql_real_escape_string nemá při výpisu do stránky co dělat. To má být jen v dotazu. Na tom tvém místě by se spíš hodilo
echo htmlspecialchars($key);
$key je hodně špatně pojmenována proměnná protože v ní není klíč ale hodnota.

No a jak bych udělal ti testování já?
$odpovedi = array_filter($odpoved_pole, function($v) { return !empty($v); }); //odstraní prázdné odpovědi
$odpovediBezDuplikatu = array_unique($odpovedi);

if (count($odpovedi) !== count($odpovediBezDuplikatu)) {
    echo "Minimálně 2 odpovědi jsou stejné";
    exit;
}

// tady použít foreach z [#15] akorát místo $odpoved_pole použít $odpovedi
smiesek
Profil
Keeehi:
:( ach jo, zase celé blbě a tedy kdy tam se bude používat v tom foreachu echo a kdy ne? :(

$key tedy pojmenuju jinak, ale nějak jsem tedy nepochopila, kam se následně ztratilo v Tvé části kodu, nebo jsi jej už pojmenoval jinak?
anonymníí
Profil *
smiesek:
Keeehi vůbec nepoužil foreach, na vyloučení duplicit použil funkci array_unique.

Dotaz k tvému echu: Pokud chceš něco vypisovat, tak echo použij. Pokud ne, ukládej do proměnné.

Obecně ale není dobrý nápad míchat dohromady PHP a HTML, tyto vrstvy by měly být oddělené a tedy v PHP si připravit proměnnou/é s obsahem a ty pak v samostatné šabloně vypisovat (hledej šablonovací systémy, MVC, atp.).
smiesek
Profil
anonymníí:
dobře, ale pak dostanu v následujícím případě [#12] rozdílné hodnoty - resp. třeba jen jednu, zatím co já potřebuju všechny, tak zase pořád nevím co kde a kdy používat :( Pokud to echo nevypíšu, dostanu pouze jednu hodnotu, tu poslední.

Pokud budu používat nějaké šablony, tak tím si nepomůžu, to se už nic nenaučím, třeba jako to, že určitě existují nějaké třídy, či frameworky pro formuláře, ale ty seto za mě php nenaučí, i když to nemám šanci se naučit ani tak :(
Dan Charousek
Profil
smiesek:
Vím, že jsi nechtěla hotové řešení, ale myslím si, že nejlépe to pochopíš, když to uvidíš jako celek. Je to okomentované, takže by neměl být problém v orientaci.

<?php

    // zkontrolujeme, zda byl formulář odeslán (existenci klíče 'pridat' v poli $_POST)
    if(isset($_POST['pridat'])) {

        // proměnné zjišťující, zda nastala nějaká chyba a její vypsání
        $chyba         = false;
        $chybovaZprava = "";

        /* SEKCE KONTROLUJÍCÍ VSTUP UŽIVATELE */
        // odstraníme prázné odpovědi a uložíme do proměnné
        $odpovedi = array_filter($_POST['odpovedi']);

        // zkontrolujeme, zda byla vyplněna otázka:
        if(empty($_POST['otazka'])) {
            $chyba         = true;
            $chybovaZprava = "Musíte vyplnit otázku.";
        }

        // zkontrolujeme, zda se odpovědi neopakují
        if(count(array_unique($odpovedi))<count($odpovedi)) {
            $chyba         = true;
            $chybovaZprava = "Chyba: Jedna odpověď se nesmí vyskytovat víc než jednou.";
        }

        // zkontrolujeme, zda je víc než jedna odpověď
        if(count($odpovedi) < 2) {
            $chyba         = true;
            $chybovaZprava = "Musíte přidat minimálně 2 odpovědi";
        }

        /* SEKCE ZAJIŠŤUJÍCÍ VLOŽENÍ ANKETY DO DATABÁZE */

        // nejdříve zkontrolujeme chyby
        if($chyba) {
            // nastala chyba, vypíšeme
            echo "Při ukládání nastala chyba se zprávou: ";
            echo $chybovaZprava;
        } else {
            //vše v pořádku, pokračujeme

            // zde bude připojení do databáze
            
            // vložíme otázku do tabulky ankety a získáme ID vloženého záznamu
            mysql_query("INSERT INTO ankety(otazka) VALUES('" . mysql_real_escape_string($_POST['otazka']) . "')");
            $id_ankety = mysql_insert_id();

            // sestavíme dotaz na vložení odpovědí
            // dotaz bude vypadat takto: INSERT INTO odpovedi(id_odpovedi, id_ankety, odpoved) VALUES(NULL, $id_ankety, '$odpoved'),(NULL, $id_ankety, $odpoved)
            $temp = array();
            foreach($odpovedi as $odpoved) {
                $temp[] = "NULL, " . $id_ankety . ", '" . mysql_real_escape_string($odpoved) . "'";
            }

            // pomocí implode složíme finální dotaz
            $dotaz = "INSERT INTO odpovedi(id_odpovedi, id_ankety, odpoved) VALUES(" . implode("),(", $temp) . ")";

            // vypíšeme si dotaz:
            echo "Provádím: " . $dotaz;

            // provedeme dotaz
            mysql_query($dotaz);

        }

    }

?>
<!DOCTYPE html>
<html>
    <head><meta charset="utf-8"></head>
    <body>
        <form method="post">
            Otázka: <input type="text" name="otazka"><br>
            Odpoveď 1: <input type="text" name="odpovedi[]"><br>
            Odpoveď 2: <input type="text" name="odpovedi[]"><br>
            Odpoveď 3: <input type="text" name="odpovedi[]"><br>
            Odpoveď 4: <input type="text" name="odpovedi[]"><br>
            <input type="submit" name="pridat" value="Přidat">
        </form>
    </body>
</html>
anonymníí
Profil *
smiesek:
Není šablona jako šablona. Nemyslel jsem samozřejmě stáhnut někde nějakou šablonu, čti pozorně, co jsem psal, zejména pak tu závorku: "hledej šablonovací systémy, MVC, atp.".

Kromě toho, že se budeš muset naučit PHP (o to tě šablony neochuzují, pracují jen s výstupem z PHP), naučíš se rovnou pracovat i správně, tj. odděleně v jednotlivých vrstvách.

K tomu, co píšeš výše:
Pokud to echo nevypíšu, dostanu pouze jendu hodnotu, tu poslední
Jistě, protože si tu proměnnou v cyklu neustále přepisuješ. Na konci cyklu má poslední hodnotu, tj. poslední položku. To je správně.
Pokud to echo vypíšeš, na obrazovce sice hodnoty vidíš, ale nemůžeš s nimi nijak dál pracovat - nikam si je neukládáš, jen vypisuješ.
Konstrukce echo $odpoved = ...; dělá obojí naráz - vypíše všechny hodnoty, ale průběžně přepisuje hodnotu té proměnné. Zrádnost je ta, že na obrazovce vidíš všechny hodnoty vypsané, ale stále pracuješ s tou poslední.

Myslím, že pole jsou na tebe zatím velký oříšek a že jsi přeskočila naprosté základy jazyka, tedy deklaraci proměnné, její přepisování, výpis, atp. Vrať se k základům jazyka, pole bývají vždy až v X-té kapitole. Tobě některá z těch nižších než X chybí.


Dan Charousek:
Ten tvůj kód taky není úplně v pořádku... fungovat bude, ale jako výukový bych ho nedával.

1. I když bude chybových zpráv několik, zobrazí se vždy jen poslední z nich.
2. Řádek 8 je v tvém podání zbytečný, když proměnnou přepisuješ a nedoplňuješ. Ideální je na chybové hlášky použít pole.
3. Nastavování v každé podmínce $chyba = true se mi nelíbí, spíše pocitově. Snadno to povede k tomu, že ji někde zapomenu a pak bude script fungovat neočekávaně.
4. id_odpovědi je pravděpodobně AI, proč mu dáváš hodnotu NULL? Pokud mu hodnotu nastavit nechceš, jakože nechceš, vynechej ho z výčtu sloupců. Divný zvyk cpát všude NULL, kde jsi k němu přišel?

INSERT INTO odpovedi(id_ankety, odpoved) VALUES($id_ankety, '$odpoved'),($id_ankety, $odpoved)

místo

INSERT INTO odpovedi(id_odpovedi, id_ankety, odpoved) VALUES(NULL, $id_ankety, '$odpoved'),(NULL, $id_ankety, $odpoved)



Ještě k bodu 2, správněji by to mělo být:

- Řádek 8: $chybovaZprava = array();
- V jednotlivych podminkach pak: $chybovaZprava[] = 'Text chyby';
- Řádek 38 pak print_r($chybovaZprava) pro debug, foreach/implode pro výpis.
smiesek
Profil
Dan Charousek:
děkuju a zkusím si to projít a nějakým způsobem upravit dle svého (nelogického) myšlení

anonymníí:
tady bych chtěla trochu nesouhlasit, neznamená ještě, že mám špatné vyjadřovací schopnosti, špatné logické myšlení a představivost, že bych neměla základy. Právě naopak mě neustále unavovalo si číst jakékoliv základy typu echo 'Ahoj světe'; Právě na vlastních pokusech si myslím mi to dá nejvíce a dokážu pochopit, proč se to chová tak či onak.
Dan Charousek
Profil
anonymníí:
1. I když bude chybových zpráv několik, zobrazí se vždy jen poslední z nich.
Jedná se o nejjednodušší demonstraci oddělení view od modelu. smiesek má už ta kdost problému s poli, nechtěl jsem je tahat i mezi výpis chyb. To, že se vypíše jen poslední chybová hláška není pro hlavní myšlenku scriptu důležité.

Nastavování v každé podmínce $chyba = true se mi nelíbí,“,
Snadno to povede k tomu, že ji někde zapomenu
To je jako bys zapomněl vypsat throw u vyjímek.

id_odpovědi je pravděpodobně AI, proč mu dáváš hodnotu NULL?
Protože např. v [#8] nemá smiesek id_odpovedi vůbec. Je to spíš proto, aby to demonstrovalo, že tam to id je. Je jednodušší to vynechat úplně, ale chtěl jsem, aby byl kód co nejotevřenější. Ničemu to nevadí, tudíž nevidím důvod, proč to nazývat špatným návykem. (I když osobně bych to vynechal už jen z estetických důvodů).

Ještě k bodu 2, správněji by to mělo být:
K hlavnímu problému je to irelevantní.
smiesek
Profil
anonymníí:
ještě prosím jak jsi zmínil šablonovací systémy, tak co jsem se koukala, mi to příjde něco na způsob používání OOP a nebo blízko ke třídám, ale bohužel jsem se k této problematice nedostala a je pravda, že mě docela trápí, pokud to vše práskám do jednoho souboru jako omáčku HTML + PHP, tak se to snažím alespoň oddělit funkcemi např. pro formulář.
Zatím mi dělá problémy logicky pochopit php a tak si myslím, že by nebylo správné se nějakými šablonovacími systémy zabývat.

Nedávno jsem se třeba koukala na CakePHP, ale jelikož jsem to asi asi po 3 článku nepochopila, jsem to zavřela a už se k tomu více nevracela :-) Raději budu tvořit rutinu a snažit se pochopit algoritmus php, než naklikat si formulář a nemět tušení, co bylo podstatou no.
Keeehi
Profil
smiesek:
K frameworkům se jednou určitě dostaneš. Zatím na to určitě nemáš.

Ještě k těm problémům [#22] - na jeden se zapomnělo - array_filter je špatně. Správné použití je v [#18]. Schválně si zkuste dát jako jednu z odpovědí nulu. Ten jednodušší způsob ji také odfiltruje i když se to tak chovat nemá.
smiesek
Profil
Keeehi:
jak tak na to koukám, na to nebudu mít nikdy :( ani celkově na php - hold se neumím už učit.

Tak jo, děkuju všem zúčastněným v diskusi za příspěvky třeba se mi to někdy podaří spackat dohromady.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: