sessions

Zdravím.
Jak přesně fungují sessiony?
Mám
$_SESSION["login"]
V jednu chvíli jí dám hodnotu 1 a v tu chvíli to vykoná tu akci kterou jsem naIFovala na isset($_SESSION["login"])
Ale proč nezůstane $_SESSION["login"]=1 když odajdu např na úvodní stránku (na stejným webu) a zase na tu se skriptem. Děkuji
Všude, kde chcete používat session musíte použít na začátku funkci session_start() - prakticky "zpřístupní" session proměnné ;)
Děkuji mnohokrát!
Ještě se chci zeptat kde mam zde chybu:

if(isset($_SESSION["name"]))
echo "Nyní jsi přihlášen/a jako $_SESSION['name']";

Po přidání toho mi php vypisuje chybu kde php ani není. bez těchto řádků to funguje. Děkuji
echo "Nyní jsi přihlášen/a jako ".$_SESSION['name'];
nebo:
echo "Nyní jsi přihlášen/a jako {$_SESSION['name']}";

(když to není obyčejná proměnná ale pole, bude to fungovat kldyž se to dá do složených závorek)
a jeste malickost

if(isset($_SESSION["name"])) <-- "name"
echo $_SESSION['name']; <-- 'name'

Pouzival bych stejne uvozovky.
Heh, to bych se teď měl asi zastydět za většinu svých zdrojáků :-)))

Upozorňuješ na správném místě, ale špatně :-)) Je dobré používat třeba stejné odsazení, aby to bylo přehlednější, to jo - ale u uvozovek je v nich trochu rozdíl. Takže imho není řešením používat všude stejné uvozovky, ale:
- používat ' ' tam, kde je mezi nima obyčejný text (prý jsou rychlejší než " ") - takže třeba tady bych psal 'name'
- používat " " tam, kde mezi nima je nejen text, ale i proměnné (protože v takovém případě ' ' nebudou fungovat nebo se u nich bude muset použít slepování přes .)
=R.U.R.=
S uvozovkama jsi to pěkně rozvrhnul (pochopitelně nejsi první;) )..
Avšak nevím proč mám v oblibě stejně používání ' ' a slepování stringů přes tečku.. (osobně jediné smysluplné využití " vidím v \n \r .. )
<HTML>Od PHP 4.3.10 a 5.0.2 výše existuje konstanta PHP_EOL, čímž se dá použití dvojitých uvozovek kvůli \n \r vyhnout úplně. Navíc je to crossplatformní. Pro ty nižší verze je možno definovat PHP_EOL ručně.</HTML>
Taky spíš používám ' '. A spousta mých skriptů někde na začátku obsahuje
define('N',"\n");
=Nípal=
Diky, o PHP_EOL jsem nevěděl, že existuje ;)

=R.U.R.=
Taky jsem používal konstanty k tomuto účelu, ale časem jsem od toho upustil.. (kvuli přehlednosti i kvuli nutnosti konstantu definovat :D)
mno, ano, teď už vím jak na to lépe (díky Nípalovi) :-)
Nípal (moderátor)
PHP_EOL ma jednu takovou vadu, je to PHP konstanta. Vsude jinde se pouziva \n\t\r , treba i v php reg. vyrazech.
Takze, pokud by zalezelo na mne, tak se drzim toho, co je shodne s dalsimi prog. jazyky. Kdyz v tom bude pak vrtak nejaky php neznalek, tak at vi, o co se jedna.
>> Vsude jinde se pouziva \n\t\r
A kde přesně. Takový tvar jsem nikde nenašel. Snad \r\n pro windows a \n pro unix.
>tak se drzim toho, co je shodne s dalsimi prog. jazyky
Zajímavej názor... Co přesně máš na mysli pod "dalsimi prog. jazyky"? Třeba v C++ se používá konstanta ENDL. Tak nevím co bys s tím udělal. Můžeš si na začátek zdrojáku napsat define('ENDL',PHP_EOL); a budeš to mít shodné s céčkem... :-?
<HTML>Nebude ;)
tam totiž není ENDL ale endl ;)
Nicméně když už je EOF tak nevidím nic špatného na EOL a myslím že to pochopí každý stejně dobře.</HTML>
Tomík (tom.czweb.org)
R.U.R. (jsrosa.wz.cz)
Napriklad Javascript, Asp, regularni vyrazy, ...
Predpokladam, ze i v jave, c++, delphi, pascalu a pod to funguje uplne stejne.
JS
alert("\n\n\n\t\tKuk\nKuk");
textarea.value = "\n\n\n\t\tKuk\nKuk";
ASP, VSB
s = "Line 1 \r\n Line 2";
s = s.Replace("\r\n", "<br />\r\n");
PHP
echo '<pre>' . "\n\n\n\t\tKuk\nKuk" . '</pre>';
$str = preg_replace('/\r\n\s\t/', 'x', $str);
DELPHI
http://www.scritech.com/html/RegExp.html
ShowMessage('Line One' + #$0D + 'Line Two' + #13 + 'Line Three' + CR + 'Line Four');
:) Myslim, ze bych nasel i s \n , snad

Koukam, ze clovek stravi more casu, aby stale nekomu neco dokazoval, protoze neumi pouzivat google :)

EOF, EOL, v poho, jen budu pouzivat, co zna vic lidi. Toz vse, co jsem chtel tim rict.
Jo takto. Tos tu větu formulal nějak divně, protože jsem si myslel, že označení \n\t\r u tebe znamená nový řádek. Měls říct: Vsude jinde se pouzivaji escape znaky \n \t \r.