Autor Zpráva
An
Profil *
Dobrý den, chtěl jsem nahrát aktuální verzi projektu na server, protože jsme chtěli zobrazit aktuální stav projektu, při nahrání jsem se však zděsil, protože skoro všechny funkce, které zde jsou (napsané v PHP) vůbec nereagovali. Zkontroloval jsem tedy nahrání databáze a její připojení a je v pořádku, dokonce funguje registrace i přihlášení v pořádku, ovšem všechny výpisy, funkce, zařízení, apod. se nezobrazují, možná je to souborem .httacces - Na localhostu mi vše fungovalo perfektně.

Například http://litomysllidem.cz/restaurace-ubytovani/podnik/aplaus/ zde se má zobrazit normální výpis podniku a nikoliv, že restaurace neexistuje, to samé když chci kdekoliv stránkovat výpis, např. v návštěvní knize nebo i zde, prosím o radu nebo typ na problém, či zkontrolování souboru httacces.

jedná se o stránku litomysllidem.cz


S pozdravem
Kubík M.
Tori
Profil
Když si dáte ve skriptu vypsat $_GET, je tam to co má být? (=překládá to .htaccess správně? Pokud ne, zkontrolujte nebo ukažte prosím .htaccess). Pokud jsou vstupní data v pořádku, nechala bych si vypsat SQL dotaz, který má najít daný podnik a spustila ho např. v PhpMyAdminu - buď hodí chybu dotazu, nebo nic nenajde => zkontrolovat dotaz a/nebo databázi. (Všechno se týká ostrého webu.)

<mimo-dotaz>Nevrtal se vám někdo v kalendáři akcí? Nějaký divný popis akce tam je. A panely v levém sloupci se sbalují až na druhé kliknutí, protože nemají výslovně definovaný display:block.</mimo-dotaz>

edit: A nemohl by být rozdíl ve verzi PHP? Pokud máte vypnuté chyb.hlášky, tak by se to mohlo projevovat takhle.
An
Profil *
RewriteEngine On

ErrorDocument 404 /404.php
DirectoryIndex rozcestnik.php

Options +FollowSymLinks

RewriteRule ^navstevni-kniha/pridat/(.*)/$ /navstevni-kniha.php?pridat=$1 [QSA]
RewriteRule ^navstevni-kniha/strana/(.*)/$ /navstevni-kniha.php?strana=$1 [QSA]
RewriteRule ^navstevni-kniha/$ /navstevni-kniha.php [QSA]

RewriteRule ^restaurace-ubytovani/podnik/(.*)/$ /restaurace-ubytovani/podnik.php?nazev=$1 [QSA]
RewriteRule ^restaurace-ubytovani/strana/(.*)/$ /restaurace-ubytovani.php?strana=$1 [QSA]

RewriteRule ^kancelar/sprava-uzivatelu/strana/(.*)/$ /kancelar/sprava-uzivatelu.php?strana=$1 [QSA]
RewriteRule ^kancelar/sprava-uzivatelu/smazat/(.*)/$ /kancelar/sprava-uzivatelu.php?smazat=$1 [QSA]

RewriteRule ^uzivatel/(.*)/$ uzivatel.php?id=$1 [QSA]

RewriteRule ^kancelar/bezpecnost-stranek/neuspesne/(.*)/$ /kancelar/bezpecnost-stranek.php?neuspesne=$1 [QSA]
RewriteRule ^kancelar/bezpecnost-stranek/neuspesne-strana/(.*)/$ /kancelar/bezpecnost-stranek.php?neuspesne-strana=$1 [QSA]
RewriteRule ^kancelar/bezpecnost-stranek/uspesne/(.*)/$ /kancelar/bezpecnost-stranek.php?uspesne=$1 [QSA]
RewriteRule ^kancelar/bezpecnost-stranek/strana/(.*)/$ /kancelar/bezpecnost-stranek.php?strana=$1 [QSA]
RewriteRule ^rozcestnik/galerie/(.*)/$ /rozcestnik.php?galerie=$1 [QSA]
RewriteRule ^navstevni-kniha/smazat/(.*)/$ /navstevni-kniha.php?smazat=$1 [QSA]
RewriteRule ^kancelar/bezpecnost-stranek/blokovani/$ /kancelar/bezpecnost-stranek.php?blokovani [QSA]
RewriteRule ^registrovat-se/nova-registrace/$ /registrovat-se.php?nova-registrace [QSA]
RewriteRule ^prihlasit-se/spatne-udaje/$ /prihlasit-se.php?spatne-udaje [QSA]
RewriteRule ^ulice/strana/(.*)/$ /ulice.php?strana=$1 [QSA]
RewriteRule ^ulice/(.*)/$ /ulice.php?ulice=$1 [QSA]
RewriteRule ^rozcestnik/$ /rozcestnik.php [QSA]
RewriteRule ^pamatky/$ /pamatky.php [QSA]
RewriteRule ^zajimavosti/$ /zajimavosti.php [QSA]
RewriteRule ^kalendar-akci/$ /kalendar-akci.php [QSA]
RewriteRule ^historie-mesta/$ /historie-mesta.php [QSA]
RewriteRule ^online-pruvodce/$ /online-pruvodce.php [QSA]
RewriteRule ^restaurace-ubytovani/$ /restaurace-ubytovani.php [QSA]
RewriteRule ^autori-projektu/$ /autori-projektu.php [QSA]
RewriteRule ^ulice/$ /ulice.php [QSA]
RewriteRule ^404/$ /404.php [QSA]
RewriteRule ^prihlasit-se/$ /prihlasit-se.php [QSA]
RewriteRule ^registrovat-se/$ /registrovat-se.php [QSA]
RewriteRule ^odhlasit-se/$ /odhlasit-se.php [QSA]
RewriteRule ^vyhledavani/$ /vyhledavani.php [QSA]
RewriteRule ^vyhledavani/ulice/$ /vyhledavani.php?ulice [QSA]

RewriteRule ^blokovani/$ /blokovani.php [QSA]
RewriteRule ^kancelar/akce/$ /kancelar/akce.php [QSA]
RewriteRule ^kancelar/namesti/$ /kancelar/namesti.php [QSA]
RewriteRule ^kancelar/bezpecnost-stranek/$ /kancelar/bezpecnost-stranek.php [QSA]
RewriteRule ^kancelar/sprava-uzivatelu/$ /kancelar/sprava-uzivatelu.php [QSA]
RewriteRule ^kancelar/akce/pridat/$ /kancelar/akce.php?pridat [QSA]
RewriteRule ^kancelar/nastaveni/$ /kancelar/nastaveni.php [QSA]

RewriteRule ^odebirani-novinek/$ /odebirani-novinek.php [QSA]
RewriteRule ^odebirani-novinek/pridat/$ /odebirani-novinek.php?pridat [QSA]

RewriteRule ^kancelar/nastaveni/zakladni/$ /kancelar/nastaveni.php?zakladni [QSA]
RewriteRule ^kancelar/nastaveni/ostatni/$ /kancelar/nastaveni.php?ostatni [QSA]
RewriteRule ^kancelar/nastaveni/pokrocile/$ /kancelar/nastaveni.php?pokrocile [QSA]
RewriteRule ^kancelar/nastaveni/popis/$ /kancelar/nastaveni.php?popis [QSA]
RewriteRule ^kancelar/nastaveni/odebirani/$ /kancelar/nastaveni.php?odebirani [QSA]

RewriteRule ^kancelar/zpravy/$ /kancelar/zpravy.php [QSA]
RewriteRule ^kancelar/zpravy/odeslat/$ /kancelar/zpravy.php?odeslat [QSA]
RewriteRule ^kancelar/zpravy/odeslane/(.*)/$ /kancelar/zpravy.php?odeslane=$1 [QSA]
RewriteRule ^kancelar/zpravy/dorucene/(.*)/$ /kancelar/zpravy.php?dorucene=$1 [QSA]
RewriteRule ^kancelar/zprava/(.*)/$ /kancelar/zprava.php?id=$1 [QSA]

obsah .htaccess
An
Profil *
Problém je opravdu ten, že ale na localhostu mi vše funguje, ani mě nenapadlo to průběžně nahrávat na server pro kontrolu. Teď jsem docela v šoku a nevím si rady.
An
Profil *
Tady je ukázka PHP kódu, který je použit skoro všude jen s úpravou výpisu echa po while a jinými názvy tabulek:

 mysql_error(); 
        // if the user set the number of records per page
        // pokud uživatel nastavil počet záznamů na stránce
        if(isset($_POST['count']) && $_POST['count']!=0) {
        if($_POST['count']>=5) {
            setcookie("count","$_POST[count]",time() + 60*60*24*365*2, "","");
            $PZS = $_COOKIE['count'];
            header('Location: /restaurace-ubytovani/');
        }
        else $PZS = 5; falseMessage('Minimálně můžete zobrazovat 5 záznamů.');
        }
        else {
            if(isset($_COOKIE['count'])) {
                $PZS = $_COOKIE['count'];
            }
            else {
                $_COOKIE['count']=5;
            }
        }
         
         // set parameters for pagination
         // nastavíme parametry stránkování
         $strana = 1; 

         // transmit page         
         // přenášíme stránku
         if (isset($_GET['strana']) &&
         $_GET['strana']> 0) { 
            $strana = $_GET['strana'];
         }
         
         mysql_error();
         
         // total number of rows
         // celkový počet řádků v tabulce
         $resultCount = mysql_query("SELECT COUNT(*) FROM restauraceaubytovani");
         $pocetZaznamu = mysql_result($resultCount, 0);
         
         // Set limit and offset
         // nastavení limitu a offsetu
         $start = ($strana - 1) * $PZS;
         $result = mysql_query("SELECT*FROM restauraceaubytovani ORDER by nazev ASC LIMIT ".$start.",".$PZS);
         
         // information that we want to page
         // informace, které chceme stránkovat
         while($information = mysql_fetch_object($result)) {
         
         // use an abbreviated listing
         // použijeme zkrácený výpis
         $short_text = mb_substr("$information->popis",'0','150','UTF-8');
         $str_end = mb_strrpos($short_text," ",'30','UTF-8');
         $short_text = mb_substr($short_text,'0',$str_end,'UTF-8');
         $short_text.= ' [...]';
785
Profil *
Tak jsem přišel na to, kde je problém. Na serveru mi to nepřenáší proměnné GET a nevytváří proměnné COOKIE, nevíte čím to může být?
Rellik
Profil
Měl sem podobný problém. Nadefinoval sem tam předem všechny proměnné a pak dosazoval do scriptu pouze čisté proměnné.
Takže na začátek scriptu bych dal všechno co se přenáší přes $_GET[] a $_COOKIE[]
<?php
   $strana = $_GET['strana'];
   $data = $_POST['count'];
       //pak dál ve scriptu bych naplnil proměnnou s cookies
   $cookies = $_COOKIE['count'];
      // a pak používal jen ty naplněné proměnné. Takže např řádky 23-30 bych napsal:

     if (isset($strana) && $strana> 0) { 
            $strana = $strana;  
         } else { $strana = 1; }
    // atd...
    ?>
    

Když sem to tak předělal na celém webu, tak všechno funguje... A od té doby to tak raděj dělám zrovna..
785
Profil *
Bohužel nepomohlo =(
Davex
Profil
An:
Protože se PHP skripty jmenují stejně jako adresáře v cestě, tak se na serveru uplatní zapnuté MultiViews (k neexistujícímu adresáři podnik/ se najde alternativa v podobě podnik.php). Zkus toto chování vypnout Options -MultiViews.
Rellik
Profil
785:
Bohužel nepomohlo =(
Nemyslel sem jen těch pár řádků, ale celý kód. Jinak když to tam máš, zkus si ty proměnné vypsat přes echo

echo "GET: ".$strana."| POST: ".$data;

A hned víš jestli se něco posílá...
ono to bude ale nejspíš tím nastavením .htaccess že to udělá z /?navstevni-kniha.php?strana=1 formu /navstevni-kniha/strana/1 - pak zmizí ty proměnné z adresního řádku. Zkus to .htaccess ze servru vyhodit a uvidíš že to pojede... (aspoň myslím)
Tori
Profil
Jen drobnost k těm cookies:
        if(isset($_POST['count']) && $_POST['count']!=0) {
          if($_POST['count']>=5) {
              setcookie("count","$_POST[count]",time() + 60*60*24*365*2, "","");
              $PZS = $_COOKIE['count'];
              /* Tohle je zbytečné, když hned přesměrujete pryč. A ta nastavená hodnota bude v COOKIE až při dalším načtení stránky */
              header('Location: /restaurace-ubytovani/');
          }
          else $PZS = 5; falseMessage('Minimálně můžete zobrazovat 5 záznamů.');
        }
        else {
            if(isset($_COOKIE['count'])) {
                $PZS = $_COOKIE['count'];
            }
            else {
                $_COOKIE['count']=5; /* spíš $PZS = 5 */
            }
        }
785
Profil *
Tori:
Jasnačka, předělám. Díky.

Davex:
Připsání podmínky vyřešilo zhruba 2/3 problémů, které nahráním vznikly - děkuji mockrát. Pořád mi však blbne ukládání, tvorba cookie a to u skriptů, které jsem zveřejnil výše.

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