Autor Zpráva
igy
Profil *
Ahoj. Opět se zkusím zeptat proč se nechce v obsahu hlavní stránky(index.php) vypsat obsah databáze?
Ptal jsem se už několikrát, ale marně(asi špatně), nevím si s tím rady. Takže se zeptám: Jak propojit soubor strankovani.php +index.php?Děkuji, zoufalec.
Casero
Profil
igy
no dost to vysvětluješ špatně, protože jako vložit to tam je include, ...ale proč vkládat stránková do enu??...vždyt stránkování se snad používá na třeba rozdělení velkého počtu záznamů do menších skupinek
igy
Profil *
Ano, ale proč mi ten stránkovací soubor nechce fungovat?
Netuším jak to upravit, tam bude pravděpodobně problém s
"<a href=\"".$_SERVER["PHP_SELF"]."?id=$celkem&amp;od=".($od+ROWS)."\">Dal ší</a>&nbsp;|&nbsp;"
tímto, ale za nic na světě nemůžu příjít co. Vypíše se pět řádků z databáze a po kliknutí na Další mne to hodí na default stránku. Proč?
Joker
Profil
Zkuste si ten svůj dotaz přečíst a pak říct, jestli byste jen z toho textu pochopil problém.

K problému:
Zkuste se podívat, jaký přesně je ten odkaz "Další". Ve skriptu si zkuste vypsat obsah proměnných a potom trasujte běh toho skriptu.
Z tohohle popisu se asi víc říct nedá.
igy
Profil *
Ten skriptík mám tady odtud: http://www.linuxsoft.cz/article.php?id_article=345
Jak jsem psal, už několikrát jsem se tady na diskusi ptal, dal jsem tady celý obsah souboru index.php i
strankovaci.php, ale ono to vypadá, že jsem jediný co se snaží uklohnit malinký webíček a má problém tohoto druhu.
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=1&topic=33 786
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=3&topic=33 708
Tohle je rubrika pro začínající kde je podtitul: Nebojte se zeptat na libovolnou blbost. Každý někdy začínal.
Takže se omlouvám, že nechrlím hromady odborných výrazů, ale snažím se to popsat co možná nejlíp.
Joker
Profil
Tohle je rubrika pro začínající kde je podtitul: Nebojte se zeptat na libovolnou blbost. Každý někdy začínal.
Jasně, však já se taky snažím odpovědět. Nejde o odborné termíny, ale o nějaký srozumitelný popis problému.

Zas nejsem jasnovidec, abych si propojil, že různé příspěvky od různých lidí se týkají stejného kódu.
Každopádně:
- podívejte se, jestli je správně vytvořený ten odkaz.
- Zjistěte si, jestli se správně předají hodnoty proměnných (vypište si je třeba přes echo() nebo die())
- Zkuste trasovat skript s příslušnými hodnotami a zjistit, kde je problém
igy
Profil *
Já se omlouvám, nechci tady nikomu nic vyčítat to bych tady nemusel chodit.
Nicméně skusím to projít podle rady krok za krokem a uvidím.
Jen chci dodat, že skript uložený v souboru strankovani.php a spuštěný samostatně funguje jak má, ale
spuštěný z menu přes odkaz <a href="index.php?id=strankovani"> v souboru index.php nikoliv.
YoSarin
Profil
igy
A includuješ tam te soubor strankovani vždycky, nebo jen při nějaké podmínce? Třeba ti to $_SERVER['PHP_SELF']."?id=$celkem&amp;od=".($od+ROWS); (BTW - co to je ROWS? nechybí ti tam $?)
přepíše nějakou proměnnou, kterou si posíláš předtím, nebo něco takového

zkus to kdyžtak hodit někam na web, jako stránku, i jako zdrojáky
Yo'Sarin
igy
Profil *
define ("ROWS", 5); znamená počet zobrazených řádků na stránku.
Celý ten skriptík ja na: http://www.linuxsoft.cz/article.php?id_article=345
Mám to tam odtud. Nic lepšího co se týče stránkování jsem nenašel.
Koupil jsem si knihu PHP5, MySQL,APACHE-vytváříme webové aplikace, a asi to bylo zbytečně vyhozených 690,-Kč. :-(( Stránkování je tam popsáno tak, že nevím s toho vůbec nic. Kdyby byl alespoň nějaký link kde to je popsáno trochu polopatě.
Hosting ještě nemám, dělám to zatím na localhost.
tiso
Profil
Koupil jsem si knihu PHP5, MySQL,APACHE-vytváříme webové aplikace, a asi to bylo zbytečně vyhozených 690,-Kč. :-(( Stránkování je tam popsáno tak, že nevím s toho vůbec nic.
IMHO chyba nebude v knihe ale v Tebe - mal si si kúpiť knižku pre začiatočníkov a začať od základu...
Joker
Profil
igy
Jen chci dodat, že skript uložený v souboru strankovani.php a spuštěný samostatně funguje jak má, ale
spuštěný z menu přes odkaz <a href="index.php?id=strankovani"> v souboru index.php nikoliv.

Tohle je IMHO docela dobrá stopa, to jste měl napsat hned na začátku. Takže problém asi bude ve spolupráci index.php a toho stránkovacího souboru.

stopa: ID stránky předáváte GETem a stránkovací proměnné taky, nemůže se Vám to nějak pomotat? Ne nadarmo jsem tu už dvakrát psal, abyste si zkontroloval ten odkaz, jestli je opravdu tak jak chcete

*po bližším zkoumání*
Nojo... dvakrát jsem to tady psal:
- Zkuste se podívat, jaký přesně je ten odkaz "Další".
- podívejte se, jestli je správně vytvořený ten odkaz.

Problém bude nejspíš v předávání těch GET parametrů:
<a href=\"".$_SERVER["PHP_SELF"]."?id=$celkem&amp;od=".($od+ROWS)."\">
Správně:
<a href=\"".$_SERVER["PHP_SELF"]."?id=strankovani&amp;celkem=$celkem&amp; od=".($od+ROWS)."\">
igy
Profil *
Haha už jsem na to přišel, už to funguje. Zapomněl jsem ja ***** napsat správně odkaz na další stránky.
?id=$celkema má to být ?exe=8&celkem.
To je o tom, že opravdu stačí malilinká nepřesnost a člověk se trápí bůhví jak dlouho.
Problém vyřešen a Děkuji všem za ochotu pomoci.
Co se týče knihy je skvělá, hodně mi pomhla, ale po týdnu trápeni-se s takovou maličkostí no...
Str. 600 Stránkování proč to není popsáno globálně?
igy
Profil *
Joker jj bylo to v těch odkazech.Díky moc.
igy
Profil *
Jenom abych to osvětlil, tak web je jenom jedna stránka index.php a tam mám skript na další stránky:
<?php

if (!isset($exe)) $exe = 1;
if ($exe == '1') include("uvod.php");
elseif ($exe == '2') include("novinky.php");
elseif ($exe == '3') include("obchod.php");
elseif ($exe == '4') include("pravidla.php");
elseif ($exe == '5') include("kos.php");
elseif ($exe == '6') include("zrusit_kos.php");
elseif ($exe == '7') include("objednavka.php");
elseif ($exe == '8') include("strankovani.php");
else include("uvod.php");

?>
Tak proto exe=8&celkem. Zatím je to takové zmatené protože jsem řešil stránkování, ale už to dávám do kupy. Předpokládám, že je slušnost říct jak jsem to vyřešil, tak proto to tady píšu.
No nevím jestli je to prave ořechové, možná že skušení programátoři budou mít námitky, ale funguje to.
Joker
Profil
igy
No hlavně že jsem to tu v každém svém příspěvku psal...

Btw. ten kód bych trochu upravil:
<?php
switch(intval($_GET["exe"])){
case 1: include("uvod.php"); break;
case 2: include("novinky.php"); break;
case 3: include("obchod.php"); break;
case 4: include("pravidla.php"); break;
case 5: include("kos.php"); break;
case 6: include("zrusit_kos.php"); break;
case 7: include("objednavka.php"); break;
case 8: include("strankovani.php"); break;
default: include("uvod.php");
}
?>
Takhle je to IMHO přehlednější
igy
Profil *
Joker
JJ já to přepíšu. Díky.
YoSarin
Profil
Místo téhle konstrukce bych doporučil buď
EDIT: S křížkem po funusu... :-)

switch($exe){
case 1:
include('stranka1.php');
break;
case 2:
include('stranka2.php');
break;
...
}

Nebo ještě lépe - do proměnné $exe ukládat přímo názvy vkládaných stránek, pak by to mohlo vypadat třeba takhle:

if(file_exists($exe.".php")) include("$exe.php");
else include("chybova_stranka.php");

Yo'Sarin
igy
Profil *
No teď nevím co si vybrat, nemusí tam být ta proměnná $_GET ?
A ještě mám v plánu přidat kódování viz:
http://interval.cz/clanky/dynamicke-generovanie-stranky-v-php/
Ale každopádně Díky.
Joker
Profil
No teď nevím co si vybrat, nemusí tam být ta proměnná $_GET ?
Ta první varianta od YoSarina je totéž jako ta moje ;)
Ta druhá by byla možná výhodnější a taková "hezčí".

Ad $_GET, no ještě to můžete posílat přes POST, ale to u tohohle nedoporučuju. Ale pokud to budete předávat GETem, tak bych rozhodně $_GET používal.
Pokud máte zapnuté superglobální proměnné, může PHP sice automaticky z $_GET["neco"] inicializovat i $neco, nicméně používání superglobálních proměnných se považuje za bezpečnostní riziko. Takže doporučuju: naučte se používat pole $_GET a $_POST
YoSarin
Profil
Ale pokud to budete předávat GETem, tak bych rozhodně $_GET používal.
:-D - nemůžu než souhlasit ;)
igy
Jestli alespoň z principu víš co a jak s tím $_GET, tak to už není problém
rychlokurz:

<a href="index.php?stranka=uvod">Uvodni stranka</a>

když na tohle uživatel klikne, tak v cílovém skriptu (což je tady index.php) bude přístupná (inicializuje se) proměnná $_GET['stranka'] a v ní bude uložená hodnota "uvod" - když se to pokusíme skloubit s tím kódem, co jsem posílal výše, tak to dopadne asi takhle

if(file_exists($_GET['stranka'].".php")) include($_GET['stranka'].".php");
else include("chybova_stranka.php");

Yo'Sarin
igy
Profil *
Tak zhruba vím co s $_GET dělat a k čemu to slouží.
A odkazy mám takhle.
<a href="<?php echo $PHP_SELF ?>?exe=6">Sportovní</a>
YoSarin
Profil
no tak to nemáš problém, ne? ;)
Yo'Sarin
igy
Profil *
Už ne, potřeboval jsem jenom trochu nakopnout. :-)
krteczek
Profil
ještě bych overoval jestli je vubec ta proměnná poslaná

if((!empty($_GET['akcia']))
&& (trim($_GET['akcia']) != ''))
{

//ano bol poslaný a nie je prázdny

$str=array( 'prihlasenie' => "./funkce/login/prihlasenie.php",
'odhlasenie' => "./funkce/login/odhlasenie.php",
'zabudnute-heslo' => "./funkce/registracia/zabudnute-heslo.php",
'zobrazit-vsetky-uvodniky' => "./funkce/zobrazit-vsetky-uvodniky.php",
'hladanie-na-webe' => "./funkce/hladanie-na-webe.php",
'citat-komentare' => "./funkce/forum/ukaz-komentare.php",
'vypisat-odkazy-na-vsetky-temy' => './funkce/vypisat-odkazy-na-vsetky-temy.php',
'nove-heslo' => './funkce/registracia/zmena-hesla.php'
);

if(array_key_exists($_GET['akcia'], $str)===true)

{

if(file_exists($str[$_GET['akcia']]))

{

require_once($str[$_GET['akcia']]);

$s=stranka();

}

else

{

$s=stranka_neni();

}

}

else

{

$s=stranka_neni();

}

}


krteczek
Toto téma je uzamčeno. Odpověď nelze zaslat.

0