[PHP]Frames?

Pagina: 1
Acties:

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024
Ik ben bezig aan een webpagina (zoals velen)

Nou heb ik een pagina die moet bestaan uit 3 php pagina's

- Head.php
- Body.php
- Footer.php

Nou heb ik het in eerste instantie geprobeerd met include()

Dat werkt niet... Variabele redeclared

Toen dacht ik, dan gebruik ik frames.

Maar ook dat werkt niet...

Head.php bevat namelijk een menu. Als ik dan weer van pagina Chat naar pagina Forum wil, dan werkt het niet, de pagina Forum laad dan in het bovenste frame...

Is er een alternatief voor?

We are pentium of borg. Division is futile. You will be approximated.


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 31-08 15:46

mulder

ik spuug op het trottoir

"Variabele redeclared" wil zeggen dat er binnen een bepaalde scope een variable 2x is gedeclareerd lijkt me.

oogjes open, snaveltjes dicht


  • QuasaR
  • Registratie: December 2000
  • Laatst online: 01-09 14:50

QuasaR

One ring to rule them all

Gebruik i.p.v. include() eens require_once()

Daddy of 3 :)


Verwijderd

code:
1
TARGET="[naam van frame waarin de pagina geladen moet worden]"


Dit al geprobeerd?!

Voor meer info zie: http://www.w3.org/TR/REC-html40/present/frames.html

[ Voor 0% gewijzigd door Verwijderd op 26-08-2002 11:44 . Reden: URL added ]


  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024
Sorry, ik ben echt een nOOb op dit gebied...

Hoe krijg ik eerst de naam?

dit heb ik:

[code]
<frameset rows=\"150\",\"60%\",*>
<frame name=\"midden\" src=\"chattop.php\" target=\"midden\">
<frame name=\"onder\" src=\"chatinput.php\" target=\"onder\">
</frameset>

Nou is de header verdwenen! Ik weet het, het klopt. Maar de header.php moet via inlude aangeroepen worden

[ Voor 0% gewijzigd door Rainmaker op 26-08-2002 11:46 . Reden: Code added ]

We are pentium of borg. Division is futile. You will be approximated.


Verwijderd

PHP:
1
2
3
4
require_once('header.inc.php');
require_once('chatttop.php');
require_once('chatinput.php');
require_once('footer.inc.php');

of wat ik zelf een mooiere oplossing vind:
PHP:
1
2
3
4
5
$files = array ('header.inc.php','chattop.php',çhatinput.php','footer.inc.php');
for($i=0;$i<count($files);$i++)
{
     require_once($files[$i]);
}

Zoiets dus

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024
Helaas, ik krijg een witte pagina met

code:
1
2
3
Warning: Invalid argument supplied for foreach() in C:\Inetpub\wwwroot\PHPNuke\html\mainfile.php on line 17

Fatal error: Cannot redeclare translate() in C:\Inetpub\wwwroot\PHPNuke\html\language\lang-dutch.php on line 158


erop. Bijbehorende source:

code:
1
2
3
4
5
6
7
8
9
function translate($phrase) {
    switch($phrase) {
    case "xdatestring": $tmp = "%A, %B %d @ %T %Z"; break;
    case "linksdatestring": $tmp = "%d-%b-%Y"; break;
    case "xdatestring2":    $tmp = "%A, %B %d"; break;
    default:        $tmp = "$phrase"; break;
    }
    return $tmp;
}


en

code:
1
2
3
4
5
foreach ($HTTP_GET_VARS as $secvalue) {
    if (eregi("<[^>]*script*\"?[^>]*>", $secvalue)) {
    die ("I don't like you...");
    }
}


deze worden aangeroepen door:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
foreach ($messagearray as $value) {
        #print("strlen:  " . strlen($value));
        if (strlen($value) >= $max_chat_input) {
        ?>
        <script>
            alert('<? echo ""._CHAT_MS_TO_LONG.""; ?> !')
        </script>
            
            <?
            $message = "";
            break;
        }
    }

[ Voor 0% gewijzigd door Rainmaker op 26-08-2002 13:17 . Reden: laatste werd wel aangeroepen, door include ]

We are pentium of borg. Division is futile. You will be approximated.


  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024
laat me een andere vraag stellen, dan kom ik er denk ik wel uit.

Hoe plak ik een pagina in een pagina in PHP?

Ik bedoel, ik heb pag1.php en pag2.php

nou wil ik de inhoud van pag2.php weergeven in pag1.php

hoe doe ik dat?

We are pentium of borg. Division is futile. You will be approximated.


Verwijderd

met include kun je pag1.php includen in pag2.php.

In pag2.php staat dan:

PHP:
1
2
3
4
<?
  print "Deze regel komt uit pag2.php<br>";
  include("pag1.php");
?>


en in pag1.php staat:

PHP:
1
2
3
<?
  print "Deze regel komt uit pag1.php<br>";
?>

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Waarschijnlijk ben je meerdere keren onderdelen van PHPnuke aan het includen. Dat zorgt voor de redeclare fouten. Zorg dat je maar 1x de verschillende phpnuke includes include.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024
Dat klopt, ik ben bezig PHP Nuke dusdanig te modden dat het een totaal andere site wordt (opdracht voor mn stage).

Nou lukt het dus helaas niet met includes of met frames. Ik kan niet alle bestanden van PHPNuke afgaan om de variabelen te veranderen. Is er een andere manier om dat stuk van pag2.php naar pag1.php te krijgen?

(ik denk dan aan een echo "pag2.php" ofzo)

We are pentium of borg. Division is futile. You will be approximated.


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Gewoon zoals code4u het zegt. Jouw probleem is dat je in pag1.php bepaalde bestanden include, en dit OOK in pag2.php doet. In die bestanden worden waarschijnlijk bepaalde functies gedeclareerd, en waneer deze bestanden voor de 2e keer worden geinclude (door pag2.php) probeer je dus functies te herdefinieren wat dus niet kan.

Je hoeft dus niet heel phpnuke door, maar gewoon pag1 en pag2 en zorg dat dingen die in pag1 worden geinclude niet nog een keer in pag2 worden geinclude.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024
Ik weet niet of jij PHPNuke kent, maar er zitten zoveel includes in, dat het helaas geen kwestie is van pag1 en pag2. Alle files includen weer een andere.

Ik wil alleen weten of er nog een andere mogelijkheid is dan include

We are pentium of borg. Division is futile. You will be approximated.


Verwijderd

Probeer dan alle variabelen te moven naar een speciale include_vars.php waar alleen variabelen in staan en ook alle variabelen in staan. Dit voorkomt dat je toevallig een variabele twee keer definieert.
Pagina: 1