/ 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
Lidt props med abstraktioner og inkluderin~
Fra : Stig Sørensen


Dato : 25-01-04 22:24

Hejsa.

Jeg har fulgt guiden på webcafe ang. mysql abstraktioner
(http://www.webcafe.dk/artikler/php/phpmysqlabstraktioner/) og det virker jo
fint.

Da jeg inkludere en del sider på min hjemmeside har jeg brug for at kunne
bruge require funktionen flere gange på samme side.

Der opstår dog denne fejl:

Fatal error: Cannot redeclare aabn() (previously declared in
/XXXXX/mysql_funktioner.php:3) in /XXXXX/mysql_funktioner.php on line 2

De øverste linjer i mysql_funktioner er:

<?php
function aabn() {
$server = "XXXXX";
$bruger = "XXXXX";
$kodeord = "XXXXX";
$database = "XXXXX";

Kan det lade sig gøre at bruge require eller en anden funktion flere gange
til at hente mysql_funktioner.php siden?

På forhånd tak
Mvh
Stig Sørensen



 
 
Bertel Lund Hansen (25-01-2004)
Kommentar
Fra : Bertel Lund Hansen


Dato : 25-01-04 22:34

Stig Sørensen skrev:

> Fatal error: Cannot redeclare aabn() (previously declared in
>/XXXXX/mysql_funktioner.php:3) in /XXXXX/mysql_funktioner.php on line 2

Det betyder at du erklærer det samme funktionsnavn i to
forskellige filer, og så karambolerer det når du slår dem sammen
til ét med include.

>Kan det lade sig gøre at bruge require eller en anden funktion flere gange
>til at hente mysql_funktioner.php siden?

Du kan include lige så tosset du vil, men du skal betragte den
derved fremkomne fil som om det er én stor.

Evt. kan du løse problemet ved at trække funktionen ud i sin egen
fil som så inkluderes én gang i den samlede fil.

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

Bjarne (25-01-2004)
Kommentar
Fra : Bjarne


Dato : 25-01-04 23:06

On Sun, 25 Jan 2004 22:23:42 +0100, Stig Sørensen wrote:


> Der opstår dog denne fejl:
>
> Fatal error: Cannot redeclare aabn() (previously declared in
> /XXXXX/mysql_funktioner.php:3) in /XXXXX/mysql_funktioner.php on line 2

[SNIP]

> Kan det lade sig gøre at bruge require eller en anden funktion flere gange
> til at hente mysql_funktioner.php siden?

Jeg er ikke helt med på hvad du vil opnå med at inkludere en fil flere
gange på en side. Når filen er inkluderet én gang, så er den
tilgængelig i hele filen, og du behøver derfor ikke at inkludere den
igen.

Måske har jeg misforstået dit spørgsmål. Måske er du i virkeligheden
ude efter require_once() <http://dk.php.net/require_once> ?

Mvh
--
/* Bjarne */

"Fate just isn't what it used to be!"
- Hobbes


Stig Sørensen (26-01-2004)
Kommentar
Fra : Stig Sørensen


Dato : 26-01-04 00:01


"Bjarne" <spam@spaceball.dk> wrote in message
news:pan.2004.01.25.22.06.24.809466@spaceball.dk...

> Jeg er ikke helt med på hvad du vil opnå med at inkludere en fil flere
> gange på en side. Når filen er inkluderet én gang, så er den
> tilgængelig i hele filen, og du behøver derfor ikke at inkludere den
> igen.

Korrekt.

Men jeg benytter mig af et inkluderingscript til mine sider.
Alt layout osv er i index.php filen. Alle undersider bliver inkluderet i
midten af index.php siden.

Hvis man feks. går ind på test.php vil det se sådan ud i adresselinje i ens
browser: http://xxxxx.dk/index.php?site=test
Man kan jo også se indholdet af test.php ved at skrive:
http://xxxxx.dk/test.php men så kan test.php ikke finde ud af hvad
funktionen aabn(); er da require-delen er skrevet i index.php.

Derfor ville det være rart at kunne have require-delen flere steder så
uanset hvordan man henter en underside frem vil der komme et resultat.

Mvh
Stig Sørensen



Janus Hoi (26-01-2004)
Kommentar
Fra : Janus Hoi


Dato : 26-01-04 01:31

"Stig Sørensen" <kontakt@dontdoitFJERN.dk> skrev i en meddelelse
news:_UXQb.21277$gB6.19863@news.get2net.dk...

>
> Men jeg benytter mig af et inkluderingscript til mine sider.
> Alt layout osv er i index.php filen. Alle undersider bliver inkluderet i
> midten af index.php siden.
>

Kan du ikke bare dele din index.php i to...

sidehovede.inc
sidefod.inc

.... og så lade alle dine filer hente dem? På den måde får du altid layout og
andre ting med dig.

<?php
include("sidehovede.inc");

echo "Dette er test.php";

include("sidefod.inc");
?>

I sidehovede.inc kan du jo have

require("mysql_funktioner.php");

Så har du jo også altid dem med dig.


Er der en grund til at du laver det som du gør? Altså det med at du henter
indhold fra andre sider ind midt i index.php.
--
Janus



Bjarne (26-01-2004)
Kommentar
Fra : Bjarne


Dato : 26-01-04 12:51

On Mon, 26 Jan 2004 00:01:22 +0100, Stig Sørensen wrote:

> Hvis man feks. går ind på test.php vil det se sådan ud i adresselinje i ens
> browser: http://xxxxx.dk/index.php?site=test
> Man kan jo også se indholdet af test.php ved at skrive:
> http://xxxxx.dk/test.php men så kan test.php ikke finde ud af hvad
> funktionen aabn(); er da require-delen er skrevet i index.php.

Prøv at kigge nærmere på require_once(), som jeg foreslog tidligere.
Den gør netop, at en fil kun bliver inkluderet én gang. Så din test.php
kan se sådan ud:

<?php
require_once("mysql_funktioner.php");
// Kode, kode, kode
?>

Ovenstående bliver ikke generet af, at mysql_funktioner.php allerede er
inkluderet én gang i index.php.

Jeg tror at det vil kunne løse dit problem.

--
/* Bjarne */

"Fate just isn't what it used to be!"
- Hobbes


Arne Feldborg (26-01-2004)
Kommentar
Fra : Arne Feldborg


Dato : 26-01-04 01:00

"Stig Sørensen" <kontakt@dontdoitFJERN.dk> skrev Sun, 25 Jan 2004
22:23:42 +0100

>
>Da jeg inkludere en del sider på min hjemmeside har jeg brug for at kunne
>bruge require funktionen flere gange på samme side.
>
Hvis du inkluderer den een gang i starten af din fil behøver du ikke at
gøre det mere.

Hvis du inkluderer den inde i en funktion eller lign. skal du bruge
require_once()


--
mvh, A:\Feldborg

Folketælllinger Hammerum og Bølling herreder, kirkebøger Hammerum herred
http://www.haunstrup.dk/feldborg/genealogi/download/

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

Månedens bedste
Årets bedste
Sidste års bedste