Autor Zpráva
PetraPP
Profil
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
PetraPP:
Jsem jediný, kdo nemá tušení, na co se ptá? :)

Text vypíšeš pomocí echo:
echo 'text 1';
echo 'text 2';
PetraPP
Profil
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
ukladej si cislo do cookie.
PetraPP
Profil
Bohatě stačí session, ale nemám páru, jak bych toho všeho mohla dosáhnout.
patlal
Profil
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 *
Asi by som radsej pouzil switch()

M.
Taps
Profil
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
Taps:
To bych byla hrozně moc ráda. Když tak můj email je petraPP@post.cz
Fisir
Profil
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
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
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
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í.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0