Autor Zpráva
Adrifinel
Profil
Takže mám root, v ní mám include soubory, které připojují mena a další opakující se prvky na každé stránce...
V rootu mám podsložku dejme tomu A a v něm soubnoru C. V souborech nacházející se v rootu má tvar cesta includovaného souboru tento:
<? include "./zabody.php";?>
A teď jaká je cesta include souboru C nacházející se ve složce A?

Buď mi to píše, že ten soubor nemůže otevřít nebo, že se nemůže připojit do db (conf soubor se nachází v rootu v podsložce php)
panther
Profil
Adrifinel:
o uroven vyse se da prechazst pomoci ../
Keeehi
Profil
Případně, pokud cestu začneš lomítkem, začíná ta cesta v rootu webu. Takže v C můžeš zapsat /A/soubor.php Musíš si dát ale pozor, jestli ta složka o které si myslíš, že je root je doopravdy root.
Adrifinel
Profil
panther:
to jsem zkoušela ../zabody.php

píše mi to ale: Warning: mysql_query(): Access denied for user 'digitalnimonstra_cz'@'localhost' (using password: NO) in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/zabody.php on line 78 Warning: mysql_query(): A link to the server could not be established in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/zabody.php on line 78 Access denied for user 'digitalnimonstra_cz'@'localhost' (using password: NO)

nechce se to připonit k tomu cof souboru, dodávám, že jinak funguje, pač by mi nejel celý web a ne jeden soubor v podsložce.

Keeehi:

Zkoušela jsem: <? include "adventure/zabody.php";?>, <? include "/adventure/zabody.php";?>, <? include "./adventure/zabody.php";?> ale výsledek je furt stejnej...
rommy
Profil *
Adrifinel:
Zkus ten zápis provést ve formátu <?php include......
Adrifinel
Profil
rommy:

Zkusila a nic, buď je tam error s tím, že se to nemůže připojik k db nebo tohle

Warning: include(): Unable to access ./zabody.php in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/adventure/ep1.php on line 54 Warning: include(./zabody.php): failed to open stream: No such file or directory in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/adventure/ep1.php on line 54 Warning: include(): Failed opening './zabody.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/adventure/ep1.php on line 54

Nejednodušejší by bylo ty soubory do té podsložky zkopírovat, jenže to bych to muselo pak kopírovat do všech složek a jednak myslím, že to nějak jde udělat...
LaMMa
Profil
Zkusila a nic, buď je tam error s tím, že se to nemůže připojik k db nebo tohle

Však ak je tam len error, že sa nemôže pripojiť k db, include mas dobrý. Podľa tej chyby z DB by som si skontroloval meno a heslo.
Adrifinel
Profil
LaMMa:

Ehm psala jsem, že mi jeden celý web, až na ten jeden soubor.

Pro ukázku: http://digitalnimonstra.cz/digiadventure.php vs http://digitalnimonstra.cz/adventure/ep1.php

Kdyby bylo chybné jméno a heslo, tak by mi nešel celý web a ne, jen soubor ep1.php v podsložce adventure, ne?

Podle mě se to nepřipojí, protože conf soubor se nachází ve složce http://digitalnimonstra.cz/php... a mě zajímá jak to udělat, aby se to připojilo bez toho, abych musela nakopírovat soubory, v mém případě by se jednalo to nakopčit třeba do 10 podsložek nacházející se v root...
Keeehi
Profil
chyby v [#4] se týkaly mysql a připojení - tzn. že includy v té době se provedly správně.
chyby v [#6] se týkají includů - takže jsi to zase rozbila. Až opravíš problémy s include, zase tě čeká problém s databází. Tuším, v čem by to mohlo být, takže nejjednodušší bude, když sem nakopíruješ obsah souboru zabody.php
Adrifinel
Profil
Keeehi:

No nevím, jestli se dá hovořit o rozbití...

Teda, celý den se v tom hrabu a najednou, když dám znova možnost ../ tak se zabody připojí, nicméně zatitle nejde...

Když dám <? include "../zatitle.php";?> tak mi zmizne obsah webu a nejde css webu, na který odkazuji v predtitle.

<link rel="stylesheet" type="text/css" media="all" href="style.css"> css soubor je v rootu.

Zatitle
<script type="text/javascript">

//SuckerTree Vertical Menu 1.1 (Nov 8th, 06)
//By Dynamic Drive: http://www.dynamicdrive.com/style/

var menuids=["suckertree1"] //Enter id(s) of SuckerTree UL menus, separated by commas

function buildsubmenus(){
for (var i=0; i<menuids.length; i++){
  var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul")
    for (var t=0; t<ultags.length; t++){
    ultags[t].parentNode.getElementsByTagName("a")[0].className="subfolderstyle"
        if (ultags[t].parentNode.parentNode.id==menuids[i]) //if this is a first level submenu
            ultags[t].style.left=ultags[t].parentNode.offsetWidth+"px" //dynamically position first level submenus to be width of main menu item
        else //else if this is a sub level submenu (ul)
          ultags[t].style.left=ultags[t-1].getElementsByTagName("a")[0].offsetWidth+"px" //position menu to the right of menu item that activated it
    ultags[t].parentNode.onmouseover=function(){
    this.getElementsByTagName("ul")[0].style.display="block"
    }
    ultags[t].parentNode.onmouseout=function(){
    this.getElementsByTagName("ul")[0].style.display="none"
    }
    }
        for (var t=ultags.length-1; t>-1; t--){ //loop through all sub menus again, and use "display:none" to hide menus (to prevent possible page scrollbars
        ultags[t].style.visibility="visible"
        ultags[t].style.display="none"
        }
  }
}

if (window.addEventListener)
window.addEventListener("load", buildsubmenus, false)
else if (window.attachEvent)
window.attachEvent("onload", buildsubmenus)

</script>
<?php

include "php/spojeni.php";

// last 5 + limit kreditů
$filename = $_SERVER["SCRIPT_FILENAME"];
$fp = @FOpen($filename, "r");
$obsah = @FRead($fp, FileSize($filename));
$search = '<h2>';
$search2 = '</h2>';
$len = StrLen($search) ;
$pos = StrPos($obsah , $search);
$pos2 = StrPos($obsah , $search2);
$setpos =  $len + $pos;
$lengthtitle = $pos2 - $setpos;
@Rewind($fp);
@FSeek ($fp, $setpos);
$title = @FRead($fp, Abs($lengthtitle));
@FClose($fp);


$lastpages = Explode("%%", $_COOKIE['lastpages']);
$newlastpages = StripSlashes("%%".$_SERVER["REQUEST_URI"]."%%".$title."%%".$lastpages[1]."%%".$lastpages[2]."%%".$lastpages[3]."%%".$lastpages[4]."%%".$lastpages[5]."%%".$lastpages[6]."%%".$lastpages[7]."%%".$lastpages[8]."");
setcookie("lastpages", "$newlastpages", time() + 2592000);

if (!isset($jmeno)) {
    if(isset($_COOKIE['wc3world'])) {
        $jmeno = $_COOKIE['wc3world'];

      // fuck em        
    }
}


         //kolik je v jackpotu
    @$vysledekrep = MySQL_Query("SELECT * FROM jackpot");
   $jackpot = 0;
      while ($zaznam1 = MySQL_Fetch_Array($vysledekrep)) {
         $jackpot = Floor($jackpot + (($zaznam1["kredity"]) * 0.75)); }

       //kolik v chatu?
         $vysledekrep1 = MySQL_Query("SELECT * FROM chatusers");
                            $chat =  MySQL_Num_Rows($vysledekrep1) ;
if ($jmeno != ""):

 //kredity apod
                $action = Date("U")    ;
                $vysl1 = MySQL_Query("SELECT * FROM `users` WHERE jmeno LIKE '$jmeno'");
                $zaznaml = MySQL_Fetch_Array($vysl1);
                $clicks = $zaznaml["clicks"];
                $kredit = $zaznaml["pk"];
                $lastk = $zaznaml["lastk"];
                $forumorder = $zaznaml["forumorder"];
                $forumbreak = $zaznaml["forumbreak"];
                $level = $zaznaml["level"];
                                include "php/level.php";
                    if ($forumorder == ""):
                        $forumorder = "up";
                    endif;
                $nclicks = $clicks + 1;
                if (($action - $zaznaml["lastaction"]) > 3600):
                $lastk = 1 ;
                endif;
                if ($lastk < 21):
                $nkredity = $kredit + 1;
                $lastk = $lastk + 1;
                else: $nkredity = $kredit;
                endif;

              $vysl2 = MySQL_Query("UPDATE users SET pk = '$nkredity', lastk = '$lastk', clicks = '$nclicks', lastaction = '$action', lasturl = '".$REQUEST_URI."' WHERE Jmeno LIKE '$jmeno'");
                               $atime = Date("U") - 30;
               @$delete = MySQL_Query("DELETE FROM `chatusers` WHERE `lastaction` < '$atime' ");
          endif;
            ?>

            
      <div id="pagebody">
        <center>
          <div id="pageheader">
           <a id="pagelogo" href="index.php"><img src="img/logo.png" height="100%" width="100%" alt="Digitální monstra logo"></a>
            </div>
            </center>
            
        
                                             <p>  <?
         SRand((double)MicroTime()*1e3);
    $pruh = Rand();

    $spojeni1 = $connect;
          MySQL_Select_DB("$db");


  if  ($pruh == 1):
        @$vysledekpruh = MySQL_Query("SELECT * FROM diginews WHERE zobrazit LIKE 'ano' ORDER BY ID DESC LIMIT 1");
          while ($zaznam1 = MySQL_Fetch_Array($vysledekpruh))
               {
               $str = $zaznam1["text"];
              $vypsat = strip_tags(SubStr($str, 0, 70))  ;
        echo  '  <a href="viewdiginews.php?ID='.$zaznam1['ID'].'" target="_top" style="text-decoration: none">Digi News » '.$zaznam1['datum'].'     » '.$zaznam1['nadpis'].' >>'.$vypsat.' ... <i>více</i></a>  ';
                }
       endif;

       if  ($pruh == 2):
        @$vysledekpruh = MySQL_Query("SELECT * FROM posts ORDER BY datum DESC, cas DESC LIMIT 1");
          while ($zaznam1 = MySQL_Fetch_Array($vysledekpruh))
               {
               $str = $zaznam1["text"];
              $vypsat = strip_tags(SubStr($str, 0, 50))  ;
        echo  '  <a href="'.$zaznam1['link'].'" target="_top" style="text-decoration: none">'.$zaznam1['sekce'].' - '.$zaznam1['tema'].' &raquo; '.$zaznam1['datum'].', '.$zaznam1['cas'].' >> '.$zaznam1['jmeno'].' - cmnt >> '.$vypsat.' ... <i>více</i></a>  ';
                }
       endif;
      ?></p>
            
          <div id="pagelogged">
                <p>
                    
<?php
/* ========== NASTAVENÍ: ========== */
$smico["path"] = "hunt/"; // Cesta k ikonkám (včetně konečného lomítka!!)
$smico["sfx"] = "small.png"; // Přípona (včetně tečky!!)

/* Zařazení hodnot do pole: */
$db = array(
"connect" => $db_connect,
"tbl_hunt" => "hunt", // Tabulka hunt (ikony)
"tbl_huntdata" => "hunt_data", // Tabulka hunt (data)
"tbl_users" => "users", // Tabulka users
);

// Databázové funkce:
function db_q($query) {
global $db;
return mysql_query($query, $db["connect"]);
}

function db_d($query) {
global $db;
return mysql_fetch_array(mysql_query($query, $db["connect"]));
}

function db_n($query) {
global $db;
return mysql_num_rows(mysql_query($query, $db["connect"]));
}

function rnd_ico() {
    global $db, $smico;

  $n_hunt = db_n("SELECT ID FROM ".$db["tbl_hunt"].";");
    $n_rnd = rand(1, $n_hunt);
    $d_hunt = db_d("SELECT ID, nazev FROM ".$db["tbl_hunt"]." WHERE ID = ".$n_rnd.";");
    
  if(!empty($d_hunt["ID"]) AND !empty($d_hunt["nazev"])) {
        return('<a href="hunt_new.php?q=ico&amp;id='.$d_hunt["ID"].'"><img src="'.$smico["path"].$d_hunt["nazev"].$smico["sfx"].'" alt="Digimoní lov - ikonka"></a>');
    }
    else return false;
}

?>

<span class="center"><?php echo rnd_ico(); ?></span>
<!-- <span class="center"><img src="hunt/ico.png" id="menici-se-obraz" alt="měnící se obrázek"></span> -->
                    <span class="right"><?
                    if ($jmeno != ""):
         echo "Přihlášen uživatel: <a href='./sprava.php'>".$jmeno."</a> (".$nkredity."kr.) » <a href='./odhlas.php'>odhlásit se</a>";
         else: echo"Nejste přihlášen » <a href='./registrace.php'>Nová registrace</a> » <a href='./login.php'>Přihlásit se</a> ";
         endif;
          ?></span>
                </p>
            </div>
            <script type="text/javascript">
function zmenObrazek () {
var obrazky = '<?php
// pole, ktere bude obsahovat seznam nazvu obrazku
$files = Array();
                         
// otevreme slozku
$dir = dir('hunt');
                         
// projdeme vsechny soubory a vybereme png obrazky
while ($file = $dir->read()) 
    if (substr_count($file, ".png") > 0) $files[] = $file;

// vypíšeme seznam názvů
echo implode(" ", $files);
?>';
var seznamObrazku = obrazky.split(" ");

  // vypocet, ktery obrazek se bude vypisovat:
    // floor je zaokrouhleni dolu, random nahodne cislo, length je delka pole (pocet polozek)
    index = Math.floor(Math.random()*seznamObrazku.length);
    
  // vybraný obrázek:
    var vybranyObrazek = (seznamObrazku[index]);
    
  // změníme obrázek:
    document.getElementById("menici-se-obraz").src = "hunt/"+vybranyObrazek;
}

// spustíme funkci a nastavíme interval (zde 5 sekund):
zmenObrazek();
setInterval("zmenObrazek();",  700000);
</script>
            <div id="pageleft"><div>
<script type="text/javascript">
function chimg(chimage) {
chsave = document.getElementById("obr").innerHTML;
document.getElementById("obr").innerHTML = '<center><img src="img/icons/' + chimage + '" width="70" height="50" alt="Obrázek nad menu"><\/center>';
}
function chres() {
document.getElementById("obr").innerHTML = chsave;
}
</script>

<script type="text/javascript">
var icon_save;
function icon_change(target_image) {
    icon_save = document.getElementById("menu_icon").src;
    document.getElementById("menu_icon").src = "ikonky/" + target_image + ".png";
}
function icon_return() {
    document.getElementById("menu_icon").src = icon_save;
}


Jo a ještě cesta funcí se tvoří s tím adventure
Keeehi
Profil
Začněte s tím, že všechny cesty (v include, fopen, file_get_contents atd.) předěláte na ty, které začínají lomítkem. Tedy na ty co popisují cestu od rootu webu. Mám takové tušení, že includujete v includovaných souborech a ty cesty se vám chovají jinak, než čekáte. Pokud každou cestu popíšete od rootu, mělo by být jedno, kam je pak soubor includován.
Adrifinel
Profil
Keeehi:
např. include "/php/spojeni.php"; - tohle mi s lomítkem nefunguje
<? include "/../zabody.php";?> ani to nejde...

ale nevím, jestli jsem teď dobře pochopila...
Keeehi
Profil
<?php var_dump(scandir("/"));
Toto vypíše obsah složky která je root. Pokud tam není složka php, není to ta složka, která si myslíte.

Jinak /../zabody.php je úplná blbost. Tohle by měl být soubor v nadřazené složce rootu.
Adrifinel
Profil
Keeehi,

Tak jsem to zkusila dát a odpověď:

Warning: scandir(): open_basedir restriction in effect. File(/) is not within the allowed path(s): (/var/www/web2/digitalnimonstra.cz:/var/www/web5/digitalnimonstra.cz:/usr/share/php/:/usr/share/pear) in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/adventure/tesst.php on line 1 Warning: scandir(/): failed to open dir: Operation not permitted in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/adventure/tesst.php on line 1 Warning: scandir(): (errno 1): Operation not permitted in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/adventure/tesst.php on line 1 bool(false) 


nebo:

Warning: scandir(): SAFE MODE Restriction in effect. The script whose uid is 1289 is not allowed to access / owned by uid 0 in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/tesst.php on line 1 Warning: scandir(/php): failed to open dir: No such file or directory in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/tesst.php on line 1 Warning: scandir(): (errno 2): No such file or directory in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/tesst.php on line 1 bool(false)

To když zkusím dát tam /php
Keeehi
Profil
Z tohoto odhaduji, že root složka je doopravdy root, takže root není složka digitalnimonstra.cz jak jsi nejspíše předpokládala.

Tvoje include cesty by tedy, aby vycházely z rootu a nebyl s tím problém vypadat nějak takto:
/var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/php/zabody.php
nebo
/var/www/web5/digitalnimonstra.cz//php/zabody.php
Neznám totiž přesně tvojí adresářovou strukturu, takže odhaduji.


Jinak pro info, ty chyby jsou způsobené nedostatečnými oprávněními toho scriptu, jelikož / je root celého operačního systému a tento script prostě nemá dostatečná práva na přístup k němu.
Adrifinel
Profil
Keeehi:

Takže, jak napsat to include?

nebo co změnit?

No já, když se přihlásím na ftp tak tam mám nejdříve něco jako tmp, log, svůj web, na který kliknu...

/var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/php/ tohle bude správná cesta, protože mi to ukázalo výpis složky php.
Keeehi
Profil
Prostě všude změnit cesty. Z
include "php/spojeni.php";
na
include "/var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/php/spojeni.php";
jenikkozak
Profil
Cituji Keeehi pro Adrifinel:
Prostě všude změnit cesty. Z
include "php/spojeni.php";include "php/spojeni.php";na
include "/var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/php/spojeni.php";include "/var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/php/spojeni.php";
Ovšem to ti znefunkční veškeré odkazy a skripty na serveru poté, co web přesuneš na jiný hosting, kde může být struktura složek úplně jiná. Raději použij relativní odkazy. Proto bych doporučil vrátit se k příspěvku [#9] Keeehi a adresy nepřepisovat.
Adrifinel
Profil
Takže jak, tedy. Přepsání by to mohlo víceméně vyřešit, ale jak říká jenikkozak byl by pak s tím problém, kdyby se člověk rozhodl jít někam jinam. Nicmémě jak by vypadal v tomhle případě fungující relativní odkaz?

http://digitalnimonstra.cz/adventure/ep1.php

btw. i když to přepíšu pod Keeehiho, tak to problém neřeší, to zatitle mi dělá to, že mi do cest cpe ten název složky:
Tori
Profil
Cestu ke kořeni webu si definuj jako konstantu, zbytek doplň relativně k tomu. V případě stěhování webu budeš muset změnit jen konstantu (= max. jednou pro každý skript), místo všech výskytů.
define('WEB_ROOT', '/var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/');
// ....
include WEB_ROOT . 'php/spojeni.php';
Adrifinel
Profil
Tori:
zkusila jsem nahradit v zatitle, ale nevypadá to, že by to fungovala, furt stejný problém, pořád se to chová stejně.
Konstatu jsem ještě nepoužívala, tak doufám, že jsem to pochopila správně.

Ty tečky znamenaj, že tam budou pak v tom include? <? include "../zatitle.php";?>

Ještě mě to napadlo, nějak nadefinovat přímo v tom spojovacím souboru, pokud to jde, sry v tomhle se trochu ztrácím a ani kámoška o tom neslyšela:

<?php

/* Přihlašovací údaje do DB: */
$db_server = "mysql25.gigaserver.cz";
$db_user = "digitalnimons_cz";
$db_pass = "";
$db_dbname = "digitalnimonstra_cz_dave";

/* Připojení: */
@$db_connect = mysql_connect($db_server, $db_user, $db_pass);

if($db_connect) {
    if(!mysql_select_db($db_dbname, $db_connect)) {
        unset($db_connect);
        $db_error = 'Chyba: Eniac s námi odmítá komunikovat, některé funkce na webu mohou být omezené.';
    }
    @mysql_query("SET NAMES utf8", $db_connect);
}
else {
    $db_error = 'Chyba: Eniac s námi odmítá komunikovat, některé funkce na webu mohou být omezené.';
}

/* Zabezpečení: smazání proměnných */
$db_server = "";
$db_user = "";
$db_pass = "";
$db_dbname = "";

// Kompatibilita s webem:
$connect = $db_connect;
$spojeni = $db_connect;
$db = "digitalnimons"; $set = @mysql_query('SET NAMES utf8');

?>
Tori
Profil
Adrifinel:
Ty tečky znamenaj...
... něco jako "a někde o kus dál, až budeš potřebovat includovat skript, použiješ:".

Takže asi include WEB_ROOT . 'zatitle.php'; nebo include WEB_ROOT . 'php/zatitle.php'; , nevím, v jaké složce to je uložené.

Ještě mě to napadlo, nějak nadefinovat přímo v tom spojovacím souboru
Mělo by to být (jen) v souboru/souborech, které samy nejsou nikam includované, ale naopak v nich se includují jiné soubory. Konstanta musí být definovaná před prvním použitím, takže první řádek z [#20] patří někde na začátek souboru.
Adrifinel
Profil
Warning: include(): Unable to access WEB_ROOTphp/zatitle.php in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/adventure/ep1.php on line 3 Warning: include(WEB_ROOTphp/zatitle.php): failed to open stream: No such file or directory in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/adventure/ep1.php on line 3 Warning: include(): Failed opening 'WEB_ROOTphp/zatitle.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/adventure/ep1.php on line 3

Takže predtitle, tam jsem měla taky odkaz na spojení s db:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php 
define('WEB_ROOT', '/var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/');
// ....
require_once WEB_ROOT . 'php/spojeni.php'; ?>
to mi to více rozházovalo...

Zatitle:

define('WEB_ROOT', '/var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/');
// ....
include WEB_ROOT . 'php/spojeni.php';

v souboru ep1:

<? $title="Digimon Aventure ep 1";
         include ('../predtitle.php'); ?>
<? include WEB_ROOT . './zatitle.php';?>


Ať tam napíšu co chci, tečku, lomítku, nic tak je výsledek známej.

A cituji: jinak nikdy neodkazuj na soubory přes root, je tam
taková záludnost, že když nejsi právě na rootu tak server předpokládá, že tu
cestu zamýšlíš z aktuálního adresáře
Tori
Profil
Adrifinel:
Unable to access WEB_ROOTphp/zatitle.php
Tohle znamená, že konstanta ještě nebyla definovaná, tudíž se místo ní použil její název jako řetězec.

A cituji:btw odkud?
No ano, ale jak to s tím souvisí?
Adrifinel
Profil
Tori:
uff, čím dál více se v tom ztrácím, takže pár otázek pro ujasnění...

define('WEB_ROOT', '/var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/');
// ....
include WEB_ROOT . 'php/spojeni.php';

1) Když jsem tohle dala do toho includovaného souboru zatitle, tak to nebylo nadefinování?
2)Myslela jsem tím tu define vložit do toho souboru ep1?
3)
<? define('WEB_ROOT', '/var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/');
// ....
include WEB_ROOT . 'php/spojeni.php';?>
<? $title="Digimon Aventure ep 1";
         include ('../predtitle.php'); ?>
<? include WEB_ROOT . 'zatitle.php';?>

Když to tam dám, tak sice to nepíše error, ale nic to neukazuje, krom odkazů na odhlasit se atd. a adresa je:
http://digitalnimonstra.cz/adventure/odhlas.php, správně by měla být, jen http://digitalnimonstra.cz/odhlas.php

Buď se dostávám k tomu, že mi to píše error s cestou nebo dělá výše uvedeno...

To mi napsal, jeden kluk po mailu, když jsem se ho ptala, co s tím...
Tori
Profil
Adrifinel:
1) Bylo. Ale podle té chyby to vypadalo, že jsi tu konstantu chtěla použít ještě někde před definicí. (konstanty se chovají stejně jako proměnné, nedají se použít dřív, než jim dáš nějakou hodnotu. Na rozdíl od funkcí, které můžou být nejdřív použité a až pak definované.)
2) Pokud se ep.php nevkládá do jiného skriptu, tak je to správně.
3) include WEB_ROOT . 'predtitle.php';, jinak to vypadá ok.

Když to tam dám, tak sice to nepíše error,
Píše: „Warning: dir(hunt): failed to open dir: No such file or directory in /var/www/web5/digitalnimonstra.cz/digitalnimonstra.cz/zatitle.php on line 216“ - takže místo dir('hunt') by mělo být asi dir(WEB_ROOT.'hunt').

adresa je http://digitalnimonstra.cz/adventure/odhlas.php, správně by měla být, jen http://digitalnimonstra.cz/odhlas.php
- to je chyba odkazu v html, ne PHP.
Adrifinel
Profil
Tori:
Zapomněla jsem se zmínit, že v té složve bude 54 souborů, takže to znamená to vložit do všech v budoucnu...

Jak tu chybu v odkazech opravit? Ty odkazy dělaj právě naincludované soubory...

edit: Tak jsem to asi opravila....

Je nějaká možnost, jak udělat, abych tu konstatu nemusela psát do všech souborů?
Prostě, aby se to automaticky zapsalo a já nemusela ručně měnit řeknem na sto souborů?
Tori
Profil
Např. pomocí htaccess přesměrovat všechny požadavky na *.php na jeden skript. V něm by byly všechny společné věci (include připojení k databázi a funkcí, definice konstant,...), a nakonec include toho požadovaného skriptu. Nebo by mohl být jeden takový soubor pro každou část webu (forum, zprávy, ...). Ale určitě jsou i další možnosti.
Adrifinel
Profil
Tori:
Takže budu mít jeden velký script...
A na ten script pak odkazovat v souborech, že?
To by se kdyžtak dělalo jak?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0