/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Problemer med include på one.com
Fra : Jacob Ask


Dato : 25-05-07 08:08

Jeg vedligeholder en side som ligger på one.com.

http://www.aarhushavkajakklub.dk/

På denne side er der bl.a. en box der skal vise kommende arrangementer i
kalenderen ved at inkludere:
http://www.aarhushavkajakklub.dk/php/kalender/getevents.php

Mit problem er, at uden at ændre noget kan jeg pludseligt ikke inkludere
denne fil!
Den bliver pt inkluderet med:

<?php
require 'http://www.aarhushavkajakklub.dk/php/kalender/getevents.php';
?>

men der bliver ikke inkluderet noget!? Ændres det til:

<?php include("/php/kalender/getevents.php"); ?>

Sker der ligeledes heller ikke noget.

Nogen der har et bud på hvad der kan være galt. Selv ville jeg vælge den
sidste løsning (som virker andre steder!?) idet jeg egentligt ikke
bryder mig om at skulle inkludere med den fulde html sti (mest for det
rent estetiske).

Mvh
Jacob Ask

 
 
Martin (25-05-2007)
Kommentar
Fra : Martin


Dato : 25-05-07 11:02

Jacob Ask wrote:
> Jeg vedligeholder en side som ligger på one.com.
>
> http://www.aarhushavkajakklub.dk/
>
> På denne side er der bl.a. en box der skal vise kommende arrangementer i
> kalenderen ved at inkludere:
> http://www.aarhushavkajakklub.dk/php/kalender/getevents.php
>
> Mit problem er, at uden at ændre noget kan jeg pludseligt ikke inkludere
> denne fil!
> Den bliver pt inkluderet med:
>
> <?php
> require 'http://www.aarhushavkajakklub.dk/php/kalender/getevents.php';
> ?>

Den burde aldrig kunne virke, da man skal inkluder fra serverens sti af
- altså fx.
/usr/www/......

>
> men der bliver ikke inkluderet noget!? Ændres det til:
>
> <?php include("/php/kalender/getevents.php"); ?>
>
> Sker der ligeledes heller ikke noget.

Hop ind i dit kontrolpanel på One og sæt Display Errors til Yes og det
samme med error reporting.

Så skulle du gerne få en fejl hvis det er stien der er forkert.

Desuden, så brug require (ihvertfald til test), for include giver ingen
fejlmeddelser hvis siden ikke findes - ved en require, der får man en
fatal error smidt i hovedet.

Hvis du har din side som skal inkluderes i samme mappe som din side hvor
du vil have indholdet inkluderet skal der bare skrives

require('page.php');


>
> Nogen der har et bud på hvad der kan være galt. Selv ville jeg vælge den
> sidste løsning (som virker andre steder!?) idet jeg egentligt ikke
> bryder mig om at skulle inkludere med den fulde html sti (mest for det
> rent estetiske).

/php/kalender...

Kan give problemer, hvis fx include_path den er forkert (som den iøvrigt
er hos One, svjh)

Jacob Ask (25-05-2007)
Kommentar
Fra : Jacob Ask


Dato : 25-05-07 11:36

Martin wrote:
> Hop ind i dit kontrolpanel på One og sæt Display Errors til Yes og det
> samme med error reporting.
>
> Så skulle du gerne få en fejl hvis det er stien der er forkert.
>
> Desuden, så brug require (ihvertfald til test), for include giver ingen
> fejlmeddelser hvis siden ikke findes - ved en require, der får man en
> fatal error smidt i hovedet.
>
> Hvis du har din side som skal inkluderes i samme mappe som din side hvor
> du vil have indholdet inkluderet skal der bare skrives
>
> require('page.php');

med <?php require('/php/kalender/getevents.php'); ?> giver det følgende
fejl:

Warning: main() [function.main]: Unable to access
/php/kalender/getevents.php in
/customers/aarhushavkajakklub.dk/aarhushavkajakklub.dk/httpd.www/index.php
on line 105

Warning: main(/php/kalender/getevents.php) [function.main]: failed to
open stream: No such file or directory in
/customers/aarhushavkajakklub.dk/aarhushavkajakklub.dk/httpd.www/index.php
on line 105

Fatal error: main() [function.require]: Failed opening required
'/php/kalender/getevents.php' (include_path='.:/usr/lib/php') in
/customers/aarhushavkajakklub.dk/aarhushavkajakklub.dk/httpd.www/index.php
on line 105

Hvor er den gal? Det ser ud til at det er include-path der fejler, men
hvad skal den i giet fald være?

Mvh
Jacob Ask

Bertel Lund Hansen (25-05-2007)
Kommentar
Fra : Bertel Lund Hansen


Dato : 25-05-07 12:21

Jacob Ask skrev:

> med <?php require('/php/kalender/getevents.php'); ?> giver det følgende
> fejl:

PHP arbejder med serveren 'grundlæggende' filstruktur. Du går
derfor med din sti ud fra at der i roden ligger en mappe der
hedder "php" og har en undermappe der hedder "kalender". Det
tror jeg ikke der gør.

Prøv at kikke på serveren med et FTP-program. Det vil måske vise dig
den rigtige sti.

Alternativt så prøv at gå baglæns fra den mappe hvor du
inkluderer. Hvis du f.eks. står i mappen "php/eksperiment", så skriv:

   <?php require('../kalender/getevents.php'); ?>

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Jacob Ask (25-05-2007)
Kommentar
Fra : Jacob Ask


Dato : 25-05-07 13:25

Bertel Lund Hansen wrote:
> Jacob Ask skrev:
>
>> med <?php require('/php/kalender/getevents.php'); ?> giver det følgende
>> fejl:
>
> PHP arbejder med serveren 'grundlæggende' filstruktur. Du går
> derfor med din sti ud fra at der i roden ligger en mappe der
> hedder "php" og har en undermappe der hedder "kalender". Det
> tror jeg ikke der gør.
>
> Prøv at kikke på serveren med et FTP-program. Det vil måske vise dig
> den rigtige sti.
>
> Alternativt så prøv at gå baglæns fra den mappe hvor du
> inkluderer. Hvis du f.eks. står i mappen "php/eksperiment", så skriv:
>
>    <?php require('../kalender/getevents.php'); ?>
>

Mit problem er, hvordan finder jeg stien til den "rod" jeg logger ind
på. Filen det skal inkluderes fra er index.php som ligger i det
"yderste" bibliotek jeg har adgang til (som vises på
http://www.aarhushavkajkklub.dk/index.php )

Jeg kan godt se at f.eks .htacces skal bruge en anden fuld sti
(/customers/aarhushavkajakklub.dk/aarhushavkajakklub.dk/httpd.www/ ) -
men denne virker heller ikke (og jeg ved godt at det var et longshot).

Det der irriterer mig mest er, at den samme måde at inkluderer på virker
på en anden side (også hos b-one) (http://www.dgihavkajak.dk, hvor hele
venstre box inkluderes via et lignende kald), og at det virkede for 2
dage siden!!

Håber at der er nogen som har en ide (eller en mere).

Mvh
Jacob Ask

Peter Brodersen (25-05-2007)
Kommentar
Fra : Peter Brodersen


Dato : 25-05-07 13:48

On Fri, 25 May 2007 14:24:39 +0200, Jacob Ask <ask@FJERNexo.dk> wrote:

>Mit problem er, hvordan finder jeg stien til den "rod" jeg logger ind
>på. Filen det skal inkluderes fra er index.php som ligger i det
>"yderste" bibliotek jeg har adgang til (som vises på
>http://www.aarhushavkajkklub.dk/index.php )

$_SERVER['DOCUMENT_ROOT'] er nok hvad, du leder efter.

--
- Peter Brodersen
Kendt fra Internet

Martin (25-05-2007)
Kommentar
Fra : Martin


Dato : 25-05-07 13:25

Jacob Ask wrote:
> Martin wrote:
>> Hop ind i dit kontrolpanel på One og sæt Display Errors til Yes og det
>> samme med error reporting.
>>
>> Så skulle du gerne få en fejl hvis det er stien der er forkert.
>>
>> Desuden, så brug require (ihvertfald til test), for include giver
>> ingen fejlmeddelser hvis siden ikke findes - ved en require, der får
>> man en fatal error smidt i hovedet.
>>
>> Hvis du har din side som skal inkluderes i samme mappe som din side
>> hvor du vil have indholdet inkluderet skal der bare skrives
>>
>> require('page.php');
>
> med <?php require('/php/kalender/getevents.php'); ?> giver det følgende
> fejl:
>
> Warning: main() [function.main]: Unable to access
> /php/kalender/getevents.php in
> /customers/aarhushavkajakklub.dk/aarhushavkajakklub.dk/httpd.www/index.php
> on line 105

Du fortæller netop at din mappe /php skal findes i roden... men din rod er

/customers/aarhushavkajakklub.dk/aarhushavkajakklub.dk/httpd.www/php/kalender

Men det ville være totalt overkill..

Vi tegner lige en mappe struktur

- www
-- index.php
- php
- kalender
-- getevents.php

Så kan du bare nøjes med at skrive
require_once('php/kalender/getevents.php');
Eller den sjove måde...

require(dirname(__FILE__).'/php/kalender/getevents.php');

Findes din fil så i

- www
- undermappe
-- index.php
- php
- kalender
-- getevents.php

require('../php/kalender/getevents.php');
eller
require(dirname(__FILE__).'/../php/kalender/getevents.php');


Hvis du vil have roden af DIN webserver, så kan du bruge
$_SERVER['DOCUMENT_ROOT'];

Så kunne du i sidste eksembel skrive

require($_SERVER['DOCUMENT_ROOT'].'/php/kalender/getevents.php');


Lidt links at læse på..
<http://www.php.net/manual/en/reserved.variables.php#reserved.variables.server>
<http://www.php.net/manual/en/language.constants.predefined.php>
<http://de.php.net/require>
<http://de.php.net/require_once>

Jacob Ask (25-05-2007)
Kommentar
Fra : Jacob Ask


Dato : 25-05-07 13:50

Martin wrote:
> Så kan du bare nøjes med at skrive
> require_once('php/kalender/getevents.php');

<?php require('php/kalender/getevents.php'); ?> giver samme resultat...


> Eller den sjove måde...
>
> require(dirname(__FILE__).'/php/kalender/getevents.php');

<?php require(dirname(__FILE__).'/php/kalender/getevents.php'); ?> giver
stadigt intet!?

> Så kunne du i sidste eksembel skrive
>
> require($_SERVER['DOCUMENT_ROOT'].'/php/kalender/getevents.php');

<?php require($_SERVER['DOCUMENT_ROOT'].'/php/kalender/getevents.php'); ?>

Stadigt intet.

Jeg fatter simpelthen ikke hvad der sker! Kan det være fordi den ikke
forstår at køre det indhold der er i getevents.php når det kaldes fra et
andet bibliotek. Og i givet fald hvorfor skulle det ændre sig fra den
ene dag til den anden?

Har oplevet noget lignende, hvor jeg ikke kunne inkludere en .php fil
via en inkluderet fil, og endte med at måtte skrive php-delen direkte i
den første fil (som jeg helst vil undgå i dette eksempel, da den skal
genbruges flere steder.

Mvh
Jacob Ask


Jacob Ask (25-05-2007)
Kommentar
Fra : Jacob Ask


Dato : 25-05-07 13:54

Jeg tror at jeg har fundet problemet.

Det fejler ved at inkludere php (getavents.php). Hvis jeg ændrer denne
fil til bare at indeholde <p> test </p> så virker det.

Hvad er det der går galt, og hvordan retter jeg det? getevents.php
virker jo tilsyneladende som den skal, den oprindelige fil ligger nu her:
http://www.aarhushavkajakklub.dk/php/kalender/getevents2.php

Men hvorfor fejler det?

Mvh
Jacob Ask

Henrik Skjærbæk (26-05-2007)
Kommentar
Fra : Henrik Skjærbæk


Dato : 26-05-07 09:08

"Jacob Ask" <ask@FJERNexo.dk> wrote in message
news:4656dc4c$0$90273$14726298@news.sunsite.dk...
> Jeg tror at jeg har fundet problemet.
>
> Det fejler ved at inkludere php (getavents.php). Hvis jeg ændrer denne fil
> til bare at indeholde <p> test </p> så virker det.
>
.......
> Men hvorfor fejler det?
Du bliver nok nød til at vise kilde koden for at få et brugbart svar, når du
bruger include, bliver koden indsat på stedet får den samlet behandles af
PHP, så koden i getevents2.php skal kunne virke hvis den blev sat ind på
include stedet i index filen.

mvh
Henrik Skjærbæk, Tallinn



Jacob Ask (26-05-2007)
Kommentar
Fra : Jacob Ask


Dato : 26-05-07 10:08

Henrik Skjærbæk wrote:
> Du bliver nok nød til at vise kilde koden for at få et brugbart svar, når du
> bruger include, bliver koden indsat på stedet får den samlet behandles af
> PHP, så koden i getevents2.php skal kunne virke hvis den blev sat ind på
> include stedet i index filen.
>
> mvh
> Henrik Skjærbæk, Tallinn
>

Php filen der inkluderes virker og giver hvad den skal
( http://www.aarhushavkajakklub.dk/php/kalender/getevents2.php )

I kan godt få koden i filen, som kan findes her:
http://www.aarhushavkajakklub.dk/php/kalender/getevents2.txt - det er
samme fil blot med en txt-endelse så den ikke bliver behandlet af serveren.

Der hvor filmen knækker lidt for mig, er at det hele har virket indtil
en gang i sidste uge, hvor der pludseligt ikke virker mere.

Mvh
Jacob Ask

Jacob Ask (28-05-2007)
Kommentar
Fra : Jacob Ask


Dato : 28-05-07 11:17

Ingen bud på hvorfor det fejler, eller hvordan jeg kan få det til at
virke igen?

Mvh
Jacob Ask

saluki-dk (29-05-2007)
Kommentar
Fra : saluki-dk


Dato : 29-05-07 20:29

On 28 Maj, 12:17, Jacob Ask <a...@FJERNexo.dk> wrote:
> Ingen bud på hvorfor det fejler, eller hvordan jeg kan få det til at
> virke igen?
>
> Mvh
> Jacob Ask

Hej Jacob

Jeg føler med dig - jeg har også min site hos one.com.

Jeg tror at dit problem er det samme som mit problem - at absolut
adressering IKKE virker på one.com (det kan godt være at det virker -
men ikke på en måde således at os alm. dødelige ikke kan finde udaf
det !!!)

Jeg har forsøgt mig med relativ adressering - men man bliver
"vanvitig" over at forsøge at finde udaf hvor mange levels man skal op
& ned.

Jeg har forsøgt mig med at anvende "$_SERVER["DOCUMENT_ROOT"]" men det
giver en vanvitig lang sti som jeg ikke kan gennemskue.

Er der ikke en bamhjertig sjæl der kan hjælpe os med hvad der skal til
for at kunne lave absolut adressering på one.com

MVH
Henrik Stampe
www.saluki.dk




Martin (30-05-2007)
Kommentar
Fra : Martin


Dato : 30-05-07 14:04

saluki-dk wrote:
> On 28 Maj, 12:17, Jacob Ask <a...@FJERNexo.dk> wrote:
>> Ingen bud på hvorfor det fejler, eller hvordan jeg kan få det til at
>> virke igen?
>>
>> Mvh
>> Jacob Ask
>
> Hej Jacob
>
> Jeg føler med dig - jeg har også min site hos one.com.
>
> Jeg tror at dit problem er det samme som mit problem - at absolut
> adressering IKKE virker på one.com (det kan godt være at det virker -
> men ikke på en måde således at os alm. dødelige ikke kan finde udaf
> det !!!)
>
> Jeg har forsøgt mig med relativ adressering - men man bliver
> "vanvitig" over at forsøge at finde udaf hvor mange levels man skal op
> & ned.
>
> Jeg har forsøgt mig med at anvende "$_SERVER["DOCUMENT_ROOT"]" men det
> giver en vanvitig lang sti som jeg ikke kan gennemskue.

Som er PRÆCIS det sted det ligger. Jeg har kun 1 kunde som ligger hos
one.com (HELDIGVIS!)

Hos denne ser document_root ud sådan her
/customers/DOMÆNE/DOMÆNE/httpd.www
Ganske simpelt.
På one.coms server har de en mappe der hedder
customers som ligger i roden af det hele
(på windows ville det se nogenlunde sådan her ud c:/customers)

Hos denne kunde ser mine requries ud sådan her
require_once("includes/poll.class.php");
Det er så fra roden af FTP mappen og ind i includes biblioteket også
hente poll.class.php.

For at hente en fil i samme bibliotek bruger jeg
require_once("html.class.php");

Tegner lige en filstruktur
- admin
-- index.php
-- config.php
- includes
-- html.class.php

I index.php har jeg skrevet
require_once('../config.php');
(altså gå 1 mappe tilbage og find filen config.php)

Inde i min config har jeg så en masse ting - heriblandt
define('SERVER_PATH',$_SERVER['DOCUMENT_ROOT'].'/includes');

Nu kan jeg så bare skrive
require_once(SERVER_PATH.'/html.class.php');
inde i index.php for at hente html.class.php


BEMÆRK lige 1 ting...!
Hvis du bruger store/små filnavne, så er det ikke altid at det bliver
vist korrekt i FTP programmet. Så derfor - lav for guds himlens skyld
alle filnavne med SMÅT

Jacob Ask (31-05-2007)
Kommentar
Fra : Jacob Ask


Dato : 31-05-07 07:56

Martin wrote:
> Jeg har kun 1 kunde som ligger hos
> one.com (HELDIGVIS!)

Som jeg har skrevet tidligere er jeg ikke længere i tvivl om at selve
includen virker (har ændret i den inkluderede fil til kun at indeholde
en paragraf og ikke noget php/SQL).

Mit problem opstår ved at jeg ikke kan få vist resultatet af den php jeg
vil inkludere (som indeholder php/SQL kald).

Den fil der skal inkluderes ligger nu her:
http://www.aarhushavkajakklub.dk/php/kalender/getevents2.php
og virker tilsyneladende som den skal. En txt udgave kan ses her:
http://www.aarhushavkajakklub.dk/php/kalender/getevents2.txt

Hvorfor fejler det? Jeg har prøvet at kontakte one's support, men den er
sku ikke meget værd....

Er det fordi den inkluderede php kræver 2 andre filer (config og
sprog-fil)? Hvis det er problemet fatter jeg simpelthen ikke hvorfor det
har virket indtil for ca. 14 dage siden...

Mvh
Jacob Ask

Søg
Reklame
Statistik
Spørgsmål : 177496
Tips : 31968
Nyheder : 719565
Indlæg : 6408491
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste