LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: Poradna php lekcia25

php lekcia25 24.12.2008 20:26
Vladimír Čamaj

Prosím vás, chcem sa spýtať, len takú drobnosť.
Toto je časť kódu:"<?echo $_POST["email"]?>">
Neviem, či pri email musia byť úvodzovky.
Lebo keď sa definujú asociované polia vtedy sa ta myslím nedávajú.

Re: php lekcia25 28.12.2008 21:39
P.B.
ne spravny zapis je:
<?= $_POST['email']; ?>
Re: php lekcia25 29.12.2008 02:02
Aleš Hakl

Nic jako spravny zapis neexistuje.

Kolem PHP je takova jakasi fama, ze mezi pouzitim '' a "" je nejaky obrovsky vykonnostni rozdil, prakticky poznatek podporeny merenim je, ze neni. A ohledne prehlednosti kodu si clovek zas az tak moc nepomuze, protoze ono to bude neprehledne vzdy.

Jinak uzasna vlastnost toho jazyka je, ze token ktery nema zadny jiny vyznam se chape jako retezcovy literal (myslim, ze radeji nechci vedet proc), takze i to $_POST[email] by pravdepodobne fungovalo.

A ohledne toho rovnase je to otazka stylu, me to tedy prijde strasne.

Re: php lekcia25 29.12.2008 12:27
Tomáš Kavalek
Priste radeji nemlzte! Je mozne pouzit jak ' (apostrof) tak i " (uvozovky), vzdy v paru samozrejme. Nekteri programatori s oblibou a radeji pouzivaji apostrofy, nebot pak nemusi pouzivat escapovani uvozovek, napr. pri generovani html parametru jednotlivych tagu. Zapis <?= se jiz delsi dobu nedoporucuje, tedy nepouziva a bezpecnejsi servery vicemene ani tuto moznost nepodporuji, protoze nepodporuji oteviraci tag ve zkracene forme, tedy <?, ale je nutne pouzit <?php. Takze zaverem, je mozne pouzit jak ' tak i ", ale vzdy pouzijeme k vypisu obsahu promenne echo, pripadne printf, nebo jinou funkci, ale ne vyse uvedeny zapis.
Re: php lekcia25 29.12.2008 12:30
Tomáš Kavalek
Jo, Alesi, aby sis nemyslel, to bylo pro P.B., s tebou souhlasim.
Re: php lekcia25 29.12.2008 14:34
Vladimír Čamaj

Apostrofy, či úvodzovky chápem. Nechápem, prečo je premenná email v úvodzovkách.
Možno je to tým, že nechápem čo je token. Wikipédia toho moc neprezradila.
Začiatočníci budú hold vždy dávať takéto otázky. Vďaka za reakcie.

Re: php lekcia25 29.12.2008 20:10
Aleš Hakl

Jde o to, ze email neni promenna, ale index do pole $_POST.

Re: php lekcia25 30.12.2008 15:12
Vladimír Čamaj

Aha!

Re: php lekcia25 30.12.2008 17:56
Tomáš Kavalek
Tam jde o to, ze by to bez uvozovek a apostrofu mohlo byt brano spise nez klic do pole, jako konstanta definovana pres define().
Priklad:
 <?php
 define('klic', 'mail');
 echo($_POST[klic]);   // Vypise obsah promenne mail poslane POSTem
                       // ^-- Zde vyuzito konstanty
 echo($_POST['mail']); // Opet vypise obsah promenne mail poslane POSTem
 ?>
Re: php lekcia25 31.12.2008 16:20
Vladimír Čamaj

Takže ak to správne chápem PHP rozoznáva konštantu [mail] a premennú, alebo teda index pola ['mail'].

Re: php lekcia25 31.12.2008 20:31
Aleš Hakl

Ty hranate zavorky s tim nijak moc zajimave nesouvisi. Hranate zavorky jsou proste operator indexace pole ("pristupu do pole") to co je uvnitr je vyraz urcujici kam do pole se saha a to co je od zavorek nalevo je to samotne pole (co to presne znamena "samotne pole" je na jinou diskuzi, PHP je proste zvlastni...).

Ve vasem pripade se ona jedina promenna jmenuje $_POST a jeji hodnotou je asociativni pole, ktere mozna obsahuje prvek jmenem 'mail', pokud se k tomuto prvku chcete dostat pouzijete zapis $_POST[ neco co se vyhodnoti na 'mail' ]. Pricemz roli "neceho co se vyhodnoti jako 'mail'" celkem dobre zastupuje zapis 'mail', coz je proste retezcovy literal s hodnotou 'mail'.

Situaci ponekud kompilkuje to, ze PHP ma minimalne tri ruzne syntaxe retezcovych literalu.

Text v apostrofech je retezcovy literal jehoz hodnotou je presne to, co je v onech apostrofech.

Text v uvozovkach syntakticky vypada podobne, nicmene to co je mezi uvozovkami se dale zpracovava a konecnym vysledkem tohoto zpracovani nemusi byt tak uplne literal, ale i pomerne komplikovany vyraz.

A konecne, jen tak volne umisteny token ("slovo", "znaky za sebou bez mezer") se chape jako reference na konstantu. Ovsem hodnotou konstanty, ktera neni definovana je jeji nazev jako retezec. Pokud tedy nemate konstantu jmenem email tak mail a 'mail' je totez.

Realita je, ze syntaxe PHP je zvlastni a diky tomu funguji veci, ktere by fungovat vubec nemely, jako treba $_POST[mail].

Re: php lekcia25 1.1.2009 14:41
P.B.

no to jsem se snazil rici .... :)

Re: php lekcia25 1.1.2009 14:39
P.B.

Mel jsem na mysli to <?echo ze ma byt <?= pripadne kdyz uz se vam nelibi zkrazeby zapis tak <?php echo( ale urcite ne <?echo

Navic se mi zda vypisovat <?= promena jednak rychlejsi a jednak prehlednejsi nez tam rvat echo

Co se tyce ' a " tak tam mi prijde logicke " davat jako oddelovac textu a ' jako uvozeni klice v poli. Vicemene jde o styl zapisu ale pokud se to dela takto je to prehlednejsi.

Re: php lekcia25 2.1.2009 10:01
Vladimír Čamaj

No takže vrúcna vďaka Alešovi Haklovi, za obšírne vysvetlenie.
O PHP som čítal niekoľko odstrašujúcich článkov a o jeho nedokonalostiach viac-menej viem. No môj hlavný problém spočíva myslím najmä v tom, že je tu dosť akýchsi alternatívnych zápisov a keď narazím na nejaký nový zápis mám v tom chaos.

Re: php lekcia25 2.1.2009 10:14
Vladimír Čamaj

Predsa len mi nedá a ak môžem ešte sa spýtam raz na to isté:
Ak teda [ znamená index poľa logicky by tam tie úvodzovky nemuseli byť nie a bolo by to syntakticky ako pri deklarácii poľa, kde sa indexom úvodzovky nedávajú. Jedine, že by [] mali ešte iný význam o ktorom ja zelenáč ešte netuším. Ešte raz vďaka a pekný deň!


KOMENTARZE
php lekcia25 24.12.2008 20:26 Vladimír Čamaj
  L Re: php lekcia25 28.12.2008 21:39 P.B.
    |- Re: php lekcia25 29.12.2008 02:02 Aleš Hakl
    L Re: php lekcia25 29.12.2008 12:27 Tomáš Kavalek
      |- Re: php lekcia25 29.12.2008 12:30 Tomáš Kavalek
      |- Re: php lekcia25 29.12.2008 14:34 Vladimír Čamaj
      | L Re: php lekcia25 29.12.2008 20:10 Aleš Hakl
      |   L Re: php lekcia25 30.12.2008 15:12 Vladimír Čamaj
      |     L Re: php lekcia25 30.12.2008 17:56 Tomáš Kavalek
      |       L Re: php lekcia25 31.12.2008 16:20 Vladimír Čamaj
      |         L Re: php lekcia25 31.12.2008 20:31 Aleš Hakl
      |           L Re: php lekcia25 1.1.2009 14:41 P.B.
      L Re: php lekcia25 1.1.2009 14:39 P.B.
        L Re: php lekcia25 2.1.2009 10:01 Vladimír Čamaj
          L Re: php lekcia25 2.1.2009 10:14 Vladimír Čamaj
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4850x
2. FreeBSD
Download: 9044x
3. PCLinuxOS-2010
Download: 8541x
4. alcolix
Download: 10915x
5. Onebase Linux
Download: 9631x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6219x

1. xinetd
Download: 2382x
2. RDGS
Download: 937x
3. spkg
Download: 4692x
4. LinPacker
Download: 9918x
5. VFU File Manager
Download: 3173x
6. LeftHand Mała Księgowość
Download: 7171x
7. MISU pyFotoResize
Download: 2775x
8. Lefthand CRM
Download: 3540x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3089x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz