Autor | Zpráva | ||
---|---|---|---|
PetraPP Profil |
#1 · Zasláno: 5. 12. 2014, 13:41:44
Potřebuji zobrazovat 10 textů, ale nechci je zobrazovat náhodně, ale postupně. Napadlo mě použít session, ale nemám takové programátorské zkušenosti. Budu hrozně moc ráda, pokud mě tady někdo navrhne script.
|
||
Martin02 Profil |
#2 · Zasláno: 5. 12. 2014, 14:57:59
PetraPP:
Jsem jediný, kdo nemá tušení, na co se ptá? :) Text vypíšeš pomocí echo :
echo 'text 1'; echo 'text 2'; |
||
PetraPP Profil |
#3 · Zasláno: 5. 12. 2014, 15:03:16
Tohoto bych chtěla dosáhnout:
// při prvním načtení stránky echo $text_1; echo $text_2; // při dalším načtení echo $text_3; echo $text_4; // při dalším načtení echo $text_5; echo $text_6; // při dalším načtení echo $text_7; echo $text_8; // při dalším načtení echo $text_9; echo $text_10; // při dalším načtení opět od znova 1->10 echo $text_1; echo $text_2; |
||
mimochodec Profil |
#4 · Zasláno: 5. 12. 2014, 15:05:10
ukladej si cislo do cookie.
|
||
PetraPP Profil |
#5 · Zasláno: 5. 12. 2014, 15:09:11
Bohatě stačí session, ale nemám páru, jak bych toho všeho mohla dosáhnout.
|
||
patlal Profil |
#6 · Zasláno: 5. 12. 2014, 16:10:58
Dobrý den,
číslo uložíte do session velmi snadno. $_SESSION['cislo']=1; Text se potom vypíše podle hodnoty session. <? if ($_SESSION['cislo']==1): ?> text1 <? endif; ?> <? if ($_SESSION['cislo']==2): ?> text2 <? endif; ?> |
||
lionel messi Profil |
PetraPP:
Trochu doplním patlalovo riešenie: <?php session_start(); if (!isset($_SESSION["nacitanie"])) { $_SESSION["nacitanie"] = 1; } if ($_SESSION["nacitanie"] == 1) { echo $text1 . $text2; } elseif ($_SESSION["nacitanie"] == 2) { echo $text3. $text4; } //ďalšie prípady vynechávam $_SESSION["nacitanie"]++; //dôležité, po každom načítaní musíme hodnotu zvýšiť o 1 (chýba v patlalovom kóde) ?> |
||
Monkeys Profil * |
#8 · Zasláno: 5. 12. 2014, 16:43:43
Asi by som radsej pouzil switch()
M. |
||
Taps Profil |
#9 · Zasláno: 5. 12. 2014, 16:52:52
patlal, lionel messi:
po dosažení limitu se mají hodnoty opakovat PetraPP: pokud budeš mít zájem tak ti mohu poskytnout řešení, které jsem nedávno dělal, viz http://studenti.hetsmek.net/zakazka/texty/. Texty jsou uloženy v souboru, a po dosažení poslední textu se texty znova opakuji |
||
PetraPP Profil |
#10 · Zasláno: 5. 12. 2014, 16:57:08
Taps:
To bych byla hrozně moc ráda. Když tak můj email je petraPP@post.cz |
||
Fisir Profil |
#11 · Zasláno: 6. 12. 2014, 15:32:04
Reaguji na PetruPP:
Takhle by to nešlo? <?php session_start(); $howMany = 2; // kolik textů vypsat $text = array( // texty 'Text 1', 'Text 2', 'Text 3', 'Text 4', 'Text 5', 'Text 6', 'Text 7', 'Text 8', 'Text 9', 'Text 10' ); if(!isset($_SESSION['text'])){ $_SESSION['text'] = -1; } else { if(!isset($text[$_SESSION['text']+$howMany])){ $_SESSION['text'] = -1; } } $i = 0; while($i < $howMany){ echo($text[$_SESSION['text']+1]); $i++; $_SESSION['text']++; } ?> |
||
Alphard Profil |
#12 · Zasláno: 6. 12. 2014, 17:07:58
Vy snad záměrně vymýšlíte co nejkomplikovanější řešení.
$_SESSION['index'] = (isset($_SESSION['index']) ? $_SESSION['index']+1 : 0) % count($texts); echo $texts[$_SESSION['index']]; |
||
mimochodec Profil |
#13 · Zasláno: 6. 12. 2014, 17:17:09
ok, tak ještě já. Uniká mi, proč se všichni snažíte ten index ukládat na serveru.
<?php if (!isset($_COOKIE["poradi"])) { setcookie("poradi", 0); } $texty = array ( "prvni", "druhy", "treti", "ctvrty", "paty", "sesty", "sedmy", "osmy", "devaty", "desaty" ); if ($_COOKIE["poradi"]<count($texty)-2) { setcookie("poradi", $_COOKIE["poradi"]+2); } else { setcookie("poradi", 0); } echo $texty[$_COOKIE["poradi"]]; echo $texty[$_COOKIE["poradi"]+1]; ?> |
||
Fisir Profil |
#14 · Zasláno: 6. 12. 2014, 17:34:49
Reaguji na Alpharda:
„Vy snad záměrně vymýšlíte co nejkomplikovanější řešení.“ Takhle rozepsané je to proto, aby pokud možno PetraPP pochopila, co to dělá. Reaguji na mimochodce: „Uniká mi, proč se všichni snažíte ten index ukládat na serveru.“ Tak je to v zadání. |
||
Časová prodleva: 10 let
|
0