/ 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
brug af include...
Fra : Christoffer


Dato : 28-07-05 20:25

Okay .. prøver at forklare det så fornuftigt som muligt.
Jeg opbygger en side af includes.. http://motherdk.dk/

<?php include "session.php" ?>
<? include "midt.php" ?>
## Indhold på den pågældende side ##
<? include "bund.php" ?>

Det virker fint så længe at siden ligger i roden af mappen, sammen med
config.php og de andre brugte filer. Men! hvis jeg opbygger brugersiden på
samme måde, virker include ikke ordentligt. Dette skyldes at brugersiden
ligger i en mappe som hedder "com" .. Problemet kan umiddelbart løses hvis
ændrer alle stier i de inkluderede filer fra "/config.php" til
"../config.php" -- Men så virker den jo ikke længere på startsiden som
ligger i roden. Hvorfor kan jeg ikke starte stien fra roden men må gå en
mappe tilbage først?
Jeg forstår det ikke, fordi den finder nemlig billederne ganske fint hvis
jeg starter stien fra roden af ... !
Midt.php http://www.pastebin.dk/index.php?show=851

Spørgsmål nr 2.
Hvordan sparer jeg på min forbindelser til mysql?
I linket (pastebin) åbner jeg f.eks til min database 3 gange, men kan jeg
ikke nøjes med 1 gang? Har forsøgt bare at slette de 2 nederste forbindelser
og troede den første ville blive holdt åben. ..Dette var ikke tilfældet.

--
Christoffer



 
 
Martin Ploug (28-07-2005)
Kommentar
Fra : Martin Ploug


Dato : 28-07-05 21:11

>Spørgsmål nr 2.
>Hvordan sparer jeg på min forbindelser til mysql?
>I linket (pastebin) åbner jeg f.eks til min database 3 gange, men kan jeg
>ikke nøjes med 1 gang? Har forsøgt bare at slette de 2 nederste
forbindelser
>og troede den første ville blive holdt åben. ..Dette var ikke tilfældet.

Jeg kan ikke lige svare på det første spørgsmål, men måske på
det andet.

Jeg mener godt du kan nøjes med at lave én forbindelse til database på hver
side.
Du kan lave din forbindelse til databasen i en seperat fil og include de på
sammen
måde som du includer dine andre filer. Men det har du måske allerede gjort?

- Martin





Christoffer (28-07-2005)
Kommentar
Fra : Christoffer


Dato : 28-07-05 21:53


"Martin Ploug" <mploug@mail.tele.dk> skrev i en meddelelse
news:42e93adf$0$49575$edfadb0f@dread15.news.tele.dk...
> >Spørgsmål nr 2.
>>Hvordan sparer jeg på min forbindelser til mysql?
>>I linket (pastebin) åbner jeg f.eks til min database 3 gange, men kan jeg
>>ikke nøjes med 1 gang? Har forsøgt bare at slette de 2 nederste
> forbindelser
>>og troede den første ville blive holdt åben. ..Dette var ikke tilfældet.
>
> Jeg kan ikke lige svare på det første spørgsmål, men måske på
> det andet.
....så er jeg ikke helt alene, det trøster mig

> Jeg mener godt du kan nøjes med at lave én forbindelse til database på
> hver
> side.
> Du kan lave din forbindelse til databasen i en seperat fil og include de
> på
> sammen
> måde som du includer dine andre filer. Men det har du måske allerede
> gjort?
kun variablerne er gemt i en seperat fil, ikke selve forbindelsen .. men det
skal da afprøves senere iaften!! lige nu roder jeg stadig med det første
spørgsmål, kan simpelthen ikke forstå at den kun kan læse fra roden nogen
steder .. tilsyneladende når det ikke er i php <? ..?>

--
Christoffer



Rander (28-07-2005)
Kommentar
Fra : Rander


Dato : 28-07-05 22:46

Thu, 28 Jul 2005 21:24:43 +0200 brugte Christoffer 30 linier på at fortælle
dette til dk.edb.internet.webdesign.serverside.php:

>ligger i en mappe som hedder "com" .. Problemet kan umiddelbart løses hvis
>ændrer alle stier i de inkluderede filer fra "/config.php" til
>"../config.php" -- Men så virker den jo ikke længere på startsiden som
>ligger i roden. Hvorfor kan jeg ikke starte stien fra roden men må gå en
>mappe tilbage først?
>Jeg forstår det ikke, fordi den finder nemlig billederne ganske fint hvis
>jeg starter stien fra roden af ... !

Ja, for når du laver "almindelige" links starter du fra server-root, når du
laver dem i PHP starter du fra root på serverens fil-system.

Prøv med <? Include "$_SERVER[DOCUMENT_ROOT]/config.php"; ?>, det burde
virke...

>Spørgsmål nr 2.
>Hvordan sparer jeg på min forbindelser til mysql?
>I linket (pastebin) åbner jeg f.eks til min database 3 gange, men kan jeg
>ikke nøjes med 1 gang? Har forsøgt bare at slette de 2 nederste forbindelser
>og troede den første ville blive holdt åben. ..Dette var ikke tilfældet.

Laver du sql-opslag i nogle at de includes der ligger imellem den første og
den anden?

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

Problemet med rotteræset er,
at selv om man vinder, er man stadig en rotte. (Lily Tomlin)


Per Thomsen (29-07-2005)
Kommentar
Fra : Per Thomsen


Dato : 29-07-05 08:08

Christoffer wrote:
> Okay .. prøver at forklare det så fornuftigt som muligt.
> Jeg opbygger en side af includes.. http://motherdk.dk/
>
> <?php include "session.php" ?>
> <? include "midt.php" ?>
> ## Indhold på den pågældende side ##
> <? include "bund.php" ?>
>
> Det virker fint så længe at siden ligger i roden af mappen, sammen med
> config.php og de andre brugte filer. Men! hvis jeg opbygger brugersiden på
> samme måde, virker include ikke ordentligt. Dette skyldes at brugersiden
> ligger i en mappe som hedder "com" .. Problemet kan umiddelbart løses hvis
> ændrer alle stier i de inkluderede filer fra "/config.php" til
> "../config.php" -- Men så virker den jo ikke længere på startsiden som
> ligger i roden. Hvorfor kan jeg ikke starte stien fra roden men må gå en
> mappe tilbage først?

Det du kan gøre er at gøre brug af $_SERVER['DOCUMENT_ROOT'].
$_SERVER['DOCUMENT_ROOT'] giver den absolutte sti til dit webhomes
rod-mappe.

Så hvis du altid skriver f.eks.
<?php include $_SERVER['DOCUMENT_ROOT'].'/session.php'); ?>

Så er det ligemeget, hvilken undermappe filen ligger i.

> Jeg forstår det ikke, fordi den finder nemlig billederne ganske fint hvis
> jeg starter stien fra roden af ... !
> Midt.php http://www.pastebin.dk/index.php?show=851
>
> Spørgsmål nr 2.
> Hvordan sparer jeg på min forbindelser til mysql?
> I linket (pastebin) åbner jeg f.eks til min database 3 gange, men kan jeg
> ikke nøjes med 1 gang? Har forsøgt bare at slette de 2 nederste forbindelser
> og troede den første ville blive holdt åben. ..Dette var ikke tilfældet.

Det gør du ved at gemme et handle til forbindelsen, og så give dette
handle med til dine mysql_* kald.

F.eks.

($dbCon = mysql_connect($mysql_host, $mysql_user, $mysql_pw))||echo
mysql_error()

Nu har du en handle til din forbindelse i $dbCon som du altid kan give
med, og det er ikke nødvendigt at lave flere kald til mysql_connect.

mysql_select_db($mysql_db, $dbCon) || echo mysql_error($dbCon);

Nu har du valgt database, for den forbindelse, og behøver ikke at vælge
den igen.


Så kan du lave følgende så mange gange du vil.

($dbResult = mysql_query('...', $dbCon)) || echo mysql_error($dbCon);


while( $row = mysql_fetch_array($dbResult) ) {
   ...
}

Først hvis du kalder

mysql_close($dbCon) || echo mysql_error();

kan du ikke længere bruge forbindelsen.

Men det er i bund og grund ikke nødvendigt at lukke forbindelsen, da det
sker automatisk, når scriptet stopper.


MVH Per Thomsen,
http://www.pert.dk/

Benny Nissen (29-07-2005)
Kommentar
Fra : Benny Nissen


Dato : 29-07-05 18:09

Christoffer wrote:

> Det virker fint så længe at siden ligger i roden af mappen, sammen med
> config.php og de andre brugte filer. Men! hvis jeg opbygger brugersiden på
> samme måde, virker include ikke ordentligt. Dette skyldes at brugersiden
> ligger i en mappe som hedder "com" .. Problemet kan umiddelbart løses hvis
> ændrer alle stier i de inkluderede filer fra "/config.php" til
> "../config.php" -- Men så virker den jo ikke længere på startsiden som
> ligger i roden. Hvorfor kan jeg ikke starte stien fra roden men må gå en
> mappe tilbage først?

Det kan du sikkert også.
Prøv med "./config.php". Altså kun ét punktum.


--
Benny Nissen

Christoffer (29-07-2005)
Kommentar
Fra : Christoffer


Dato : 29-07-05 18:18


"Benny Nissen" <news@bennynissen.dk> skrev i en meddelelse
news:42ea62a6$0$176$edfadb0f@dtext01.news.tele.dk...
> Christoffer wrote:
>
>> Det virker fint så længe at siden ligger i roden af mappen, sammen med
>> config.php og de andre brugte filer. Men! hvis jeg opbygger brugersiden
>> på samme måde, virker include ikke ordentligt. Dette skyldes at
>> brugersiden ligger i en mappe som hedder "com" .. Problemet kan
>> umiddelbart løses hvis ændrer alle stier i de inkluderede filer fra
>> "/config.php" til "../config.php" -- Men så virker den jo ikke længere på
>> startsiden som ligger i roden. Hvorfor kan jeg ikke starte stien fra
>> roden men må gå en mappe tilbage først?
>
> Det kan du sikkert også.
> Prøv med "./config.php". Altså kun ét punktum.
Det er vel samme princip, at gå en mappe tilbage og det skal den ikke.
Under alle omstændigheder har jeg fået det til at virke nu, med
$_SERVER['DOCUMENT_ROOT']

--
Christoffer



Bertel Lund Hansen (29-07-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 29-07-05 19:31

Benny Nissen skrev:

>Det kan du sikkert også.
>Prøv med "./config.php". Altså kun ét punktum.

"./config.php" og "config.php" er præcis samme sti. Et punktum
betyder"den aktuelle mappe" (både Windows og Linux).

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

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

Månedens bedste
Årets bedste
Sidste års bedste