| 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: 12 let
|
|||
0