Autor Zpráva
Stalker
Profil
Ahoj,

vzorová stránka: http://mcernak.cz/test/script.php

mám takovej low dotaz. Udělal jsem si formulářový prvek text, kam by měl uživatel napsat email a po odeslání se jeho email uloží do proměnné mail. Při vypsání proměnné mail, mi to však místo textu vypíše jen číslo, proč?

PHP kod:
<?php
$mail = (isset($_POST["sberna-email"]);
echo $mail;

?>
martin1312
Profil
<?php
$mail = isset($_POST["sberna-email"]) ? $_POST["sberna-email"] : '';
Stalker
Profil
[#2] martin1312
Díky funguje, mohl by jsi mi vysvětlit v čem tkví problém? Copak je isset nějaká podmínka?

Myslel jsem, že můj kód znamená: "Pokud existuje $_POST["sberna-email"] tak se ta hodnota ulozi to promenne mail".
martin1312
Profil
isset je podmienka, teda do $mail sa ti uložil výsledok tejto podmienky, teda 1 ako true.
Môj príklad je skrátená podmienka, tzv. ternárny operátor, ak je splnena podmienka pred znakom "?", vykoná sa prvá časť pred znakom ":", ak nie tak tá druhá časť. Teda doslovne: ak existuje premenná $_POST["sberna-email"], uloží sa do $mail hodnota $_POST["sberna-email"], ak neexistuje tak prázdny reťazec.
ts_istudio
Profil
Stalker:
Funkce isset nevrací obsah toho POST, ale informaci o "Determine if a variable is set and is not NULL."
Ten zápis martin1312 je totéž jako

<?php
if (isset($_POST["sberna-email"])) {
  $mail = $_POST["sberna-email"];
} else {
  $mail = "";
};
?>
Stalker
Profil
[#4][#5] ts_istudio
Aha díky, já nevěděl, že isset je podmínka.
pcmanik
Profil
Stalker:
Isset nieje podmienka, je to funkcia ktorá overuje či je premenná nastavená a vracia true/false. Viac sa dočítaš v dokumentácii.
ts_istudio
Profil
Stalker:
OT: fajn blog, psaný velmi dobře (byť ne dokonale) česky. Držím palce.
Stalker
Profil
[#8] ts_istudio
Díky, to moc potěší :)


[#7] pcmanik
Ahááá, tak teď už to chápu dokonale :) Díky moc. Pomohli jste mi pochopit další kousíček této nekonečné skládanky :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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