problem s web strankou

Sekcia: Programovanie 25.12.2007 | 13:18
Avatar gUbA Ubuntu, Debian  Používateľ
Zdravim. Mam preblem so spustenim uvodu na jednej web stranke. Hlavna stranka aj podstranky su v suboroch s *.php v ktorych je aj klasika HTML. Stranky sami o sebe funguje korektne. Pri spusteni index.php nabehne hlavna stranka, no a po kliknuti na odkaz podstranky sa menia iba tieto podstranky s tym, ze hlavna stranka zostava (vyriesil som po prikazom include("index.php"); v zdrojaku podstranky). Toto riesenie sa ukazalo ako nie velmi vyhodne, pretoze nechcem mat pri prvom spusteni index.php prazdny stred stranky. Chcel by som tam supnut nejaky uvod.php, no problem je v tom, ze ked uvod.php zakomponujem do index.php (priamo, alebo prikazom include), pri spusteni napr. fotky.php sa uvod.php logicky nacita tiez. Zlozite jak hovado :-D . Dalsi problem mam s diakritikou. Nefunguje makcene atd. skusal som aj <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> aj <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2"> no nic. Ak to niekto docita az sem, budem sa tesit na odpoved ;) .
sudo apt-get remove windows
    • Re: problem s web strankou 25.12.2007 | 13:41
      jaaa   Návštevník
      konecne dobra tema...

      cely text musis mat v utf-8 ak tam das to kodovanie utf-8 ak mas text napisany vo windows-1250 a das kodovanie utf-8 tak ti to na 99% nepojde,cize aj text musis mat v tom kodovani ake uvadzas...
      include mozes nahradit s iframe :-]
    • Re: problem s web strankou 25.12.2007 | 13:43
      Avatar m1chall Kubuntu 7.10  Používateľ
      tak riesenie na diakrituku je jednoduche, tot daj na zaciatok stranky uplne pred vsetko <?php
      header('Content-Type: text/html; charset=utf-8');
      ?>

      teda pokialpouzivas kodovanie utf-8 ak ine tak zmen na ine

      a k tomu nacitaniu niakej stranky na zaciatok to sprav cez podmienky ze co sa ma nacitat a ak nic tak nech sa nacita uvod.php
      010100001111011010023456789
    • Re: problem s web strankou 25.12.2007 | 15:14
      Avatar Miroslav Bendík Gentoo  Administrátor
      switch ($GET["zobraz"])
      {
        case "uvod":     include "uvod.php"; break;
        case "neviemco": include "neviemco.php"; break;
        default: include "notfound.php";
      }
      
      A odkazy typu http://blabla/index.php?zobraz=blablabal
    • Re: problem s web strankou 25.12.2007 | 15:15
      Avatar Dare_devil Debian, OpenSuse  Používateľ
      Ten prvy problem sa riesi takto (dokonca je riesenie tu na fore..) Ked predavas premenne pomocou $_GET hodnoty, zistuj ci je zadefinovana hodnota napr. $_GET['page'] (index.php?page=kontakt). ked je, supni $_GET['page'].php (v tom navode je to lepsie, teraz len princip aby si pochopil) a ked nieje, includni uvod.php
      There is no flag large enough to cover the shame of killing innocent people
      • Re: problem s web strankou 25.12.2007 | 19:19
        Avatar gUbA Ubuntu, Debian  Používateľ
        Tu je kod z index.php: <?php
        $page=$_GET['page'];
        switch ($page) {
        case 'uvod':
        if(is_readable('uvod.php')) include 'uvod.php';
        break;
        case 'linux':
        if(is_readable('linux.php')) include 'linux.php';
        break;
        case 'fotky':
        if(is_readable('fotky.php')) include 'fotky.php';
        break;
        default: include_once "linux.php";
        }
        ?>
        No problem. Pri spusteni index.php sa defaultne spusti aj linux.php, lenže po klknuti napr. na fotky.php sa linux.php a fotky.php prekryvaju. Je to sposobene tym, ze v subore fotky.php je prikaz include("index.php"); (no a tu je pes zakopany), to preto, aby sa mi po stranach zobrazilo menu atd. Vznika tu klasicky cyklus :( . Zobraz nieco aj s niecim, co obsahuje nieco, a tak dokolecka :).
        sudo apt-get remove windows
        • Re: problem s web strankou 25.12.2007 | 19:29
          Dare_devil - neprihlaseny   Návštevník
          No ja to mam vzdy tak, ze mam klasicky poskladanu stranku cez DIV-y , mam napr, menu, prave menu, stred, paticka , a do div stred dam tento skript.. a v uvod.php alebo kde mam uz len napr.
          < h 1 >ahoyte< / h 1 >
          < p >mejn pejdz< / p >
          A ono to automaticky includne do toho divu stred a je to tym vyriesene
        • Re: problem s web strankou 25.12.2007 | 20:12
          still   Návštevník
          $page=$_GET['page'];
          switch ($page) {
          case 'uvod':
          if(is_readable('uvod.php')) include_once('uvod.php');
          break;
          case 'linux':
          if(is_readable('linux.php')) include_once('linux.php');
          break;
          case 'fotky':
          if(is_readable('fotky.php')) include_once('fotky.php');
          break;
          default: if($_SERVER['SCRIPT_NAME'] == '/index.php') include_once "linux.php";
          }

          a odporucam pri vsetkom co chces iba raz vkladat pouzivat "include_once" miesto "include" a este lepsie aj so zatvorkami ;-)
          • Re: problem s web strankou 25.12.2007 | 20:44
            still   Návštevník
            zabudol som ozatvorkovat aj ten posledny iclude_once.

            a dany skript pri vacsom mnozstve stranok by nemusel byt dost prehladny, tak mozes skusit nieco taketo.. a este som zabudol, ze pri poziadavke na stranku "/linux.php" by ti to zobrazilo linux.php 2x, takze ju staci vynechat z "allowed_pages", kedze ju zobrazuje ak sa nenajde nic ine..

            $page = $_GET['page'];
            $allowed_pages = Array("uvod", "fotky");
            if(in_array($page, $allow_pages) && is_readable("$page.php"))
            include_once("$page.php");
            elseif($_SERVER['SCRIPT_NAME'] == '/index.php')
            include_once("linux.php");

            ale to nepomoze ak budes zo skriptu "uvod.php" volat "index.php", kedze "page" zistujes z $_GET['page']. Osobne by som ti odporucil pouzivat iba jeden sposob zapisu URL, cize bud cez "?page=nieco", alebo "/nieco.php"
            nebudes mat problemy s vnorenym vkladanim a ani dalsie, ktore by ti vznikli v neskorsom obdobi. radsej sa pre jeden z nich rozhodnit hned.
            • Re: problem s web strankou 25.12.2007 | 21:00
              Avatar gUbA Ubuntu, Debian  Používateľ
              Dik si MACHER ;) . Ta podmienka pri volani index.php pomohla!!!
              sudo apt-get remove windows
              • Re: problem s web strankou 27.12.2007 | 00:13
                Avatar gUbA Ubuntu, Debian  Používateľ
                S tou diakritikou mam stale problem. Pri podstrankach to funguje, no index.php diakritiku nezobrazuje korektne (nahradza ju znakmi). Znakova sada je pritom zadefinavana v index.php.
                sudo apt-get remove windows
                • Re: problem s web strankou 27.12.2007 | 00:15
                  Avatar gUbA Ubuntu, Debian  Používateľ
                  PS: Zatial to bezi len na localhoste
                  sudo apt-get remove windows
                • Re: problem s web strankou 27.12.2007 | 00:31
                  still   Návštevník
                  Musis mat ale aj kazdy subor ulozeny v tejto sade, nestaci len napisat, ako sa ma stranka reprezentovat. A tiez ak beries nejake data z databazy, mal by si aj tam mat nastavene rovnake kodovanie.
                  Skus si este raz pozriet vsetky, ale uplne vsetky subory co sa spracovavaju, ci su aj skutocne ulozene ako UTF-8 (snad pouzivas, ak nie, odporucam), staci niekedy aj jeden, aby rozhodil celu stranku.
    • Re: problem s web strankou 01.01.2008 | 21:25
      Avatar Peter Rozum Arch Linux  Používateľ
      odporucil by som pozriet sa aj na nejake sablonovacie systemy. napriklad XTemplate. docielis tym aj oddelenie scriptov od designu, co je uzitocne a vcelku praca sa ti zprehladni.
      Everything is proceeding as I have foreseen.
      • Re: problem s web strankou 20.01.2008 | 00:20
        Avatar gUbA Ubuntu, Debian  Používateľ
        Mna z toho slahne. Spravil som to tak, aby so mi nacital index.php iba z hlavnym menu (vsetko ostatne som ( <!-- --> ), no aj tak mi to namiesto specifickych slevenskych znakov nakresli kosostvores s otaznikom vo vnutri. Skusal som uz asi vsetky sady. Spravne sa to zobrazi len vtedy, ak manualne prepnem kodovanie napr. na windows-1250.
        Zaujimave je to, ze ak v menu kliknem na nejaky odkaz, nacita sa napr. fotky.pfp, tak tento subor zobrazi korektne.
        sudo apt-get remove windows
        • Re: problem s web strankou 20.01.2008 | 11:17
          Avatar Peter Rozum Arch Linux  Používateľ
          nepouzivas data z databazy, ktora ma ine kodovanie? pripadne subory mas ulozene v inom kodovani? odporucam pouzivat utf-8.
          Everything is proceeding as I have foreseen.
          • Re: problem s web strankou 20.01.2008 | 12:59
            Avatar gUbA Ubuntu, Debian  Používateľ
            Databazu nepouzivam, vsetko je v utf-8. Skusil som index.php okliestit o vsetko okrem hlavneho menu, v ktorom su len klasicke odkazy pomocou /*<!-- -->"*/. Stale to iste. ak spustim nejaky subor, ktoreho odkaz je v spominanom hlavnom menu, zobrazi ho to korektne.
            sudo apt-get remove windows
            • Re: problem s web strankou 20.01.2008 | 13:28
              Avatar Igor Hlina Mac OS ML  Používateľ
              Nekces radsej nasadit nejaky framework, do buducna budes mat menej starosti s udrzbou?
              while (2*2 == 5) { echo "If you're reading this, something is definitely wrong"; }
              • Re: problem s web strankou 20.01.2008 | 14:12
                Avatar Peter Rozum Arch Linux  Používateľ
                zaciatnikom neodporucam, skor ten xtemplate aby nebol v kode zmetok. a neskor po zoznameni s php aj framework...
                Everything is proceeding as I have foreseen.
                • Re: problem s web strankou 20.01.2008 | 17:16
                  Avatar Igor Hlina Mac OS ML  Používateľ
                  Ja zase neodporucam beginnerom robit stranky pomocou includovaciek - nielen, ze je to zlozite na udrzbu, ale moze to byt aj nebezpecne. Napr. nikto tu nespomenul, ze pri inkludovani je treba zabezpecit, aby sa includovane subory nemohli spustit mimo kontext index.php!
                  while (2*2 == 5) { echo "If you're reading this, something is definitely wrong"; }
                  • Re: problem s web strankou 20.01.2008 | 18:50
                    Avatar Peter Rozum Arch Linux  Používateľ
                    ano tie 'inkludovacky' su dost blbe. hlavne je blbe ak je v scriptoch pomiesane html a php, teda kopu <?php ?> preto tu odporucam sablonovaci system. je to dobry sposob ako oddelit dizajn od scriptov a hlavne je to prehladne.
                    Everything is proceeding as I have foreseen.
                    • Re: problem s web strankou 20.01.2008 | 20:20
                      Avatar gUbA Ubuntu, Debian  Používateľ
                      Ta stranka je celkom jednoducha. Preco ale ked mam pred <body> vsetko rovnako zadeklarovane aj v index.php aj v napr. linux.php nieje prehliadac schopny zobrazit znaky v index. php korektne bez toho, aby som musel manualne menit kodovanie v menu prehliadaca z utf-8 na windows-1250?
                      sudo apt-get remove windows
                      • Re: problem s web strankou 20.01.2008 | 21:05
                        Avatar Peter Rozum Arch Linux  Používateľ
                        viem ti k tomu povedat len tolko, ze bud mas preklep v nastavovani kodovania (v hlavicke), alebo dokument/script ktory zobrazujes je ulozeny v inom kodovani, ako v tom v ktorom ho chces zobrazovat.
                        Everything is proceeding as I have foreseen.
                        • Re: problem s web strankou 20.01.2008 | 23:05
                          Avatar gUbA Ubuntu, Debian  Používateľ
                          V tom musel byt poriadny zadrhel. Bol som si isty, ze je to napisane dobre a mal som pravdu. Zkopiroval som cely obsah index do prazdneho php a ulozil. Po spusteni stranky bolo vsetko OK :-D Dakujem za pomoc ;)
                          sudo apt-get remove windows