Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

PHP: require deel van pagina

None
11 antwoorden
  • Hallo,
    Met Require kan je de inhoud van een pagina opvragen en weergeven in een andere pagina.

    Nu zou ik graag een deel van een pagina willen opvragen, kan dat?

    Bijv: Ik wil op m'n index.php pagina alleen link 11, 12 en 13 laten weergeven

    [code:1:15c366aebe]
    <?
    require('boven.html');
    ?>
    [/code:1:15c366aebe]
    [code:1:15c366aebe]
    <HTML>
    <HEAD><TITLE></TITLE></HEAD>
    <BODY>

    <a name="eerste">
    <a href="pagina2.html">Pagina 1</A><br>
    <a href="pagina3.html">Pagina 2</A><br>
    <a href="pagina4.html">Pagina 3</A><br>
    </a>

    <a name="tweede">
    <a href="pagina2.html">Pagina 11</A><br>
    <a href="pagina3.html">Pagina 12</A><br>
    <a href="pagina4.html">Pagina 13</A><br>
    </a>

    </BODY>
    </HTML>
    [/code:1:15c366aebe]

    Ik hoop dat iemand me een eindje op weg kan helpen,
    Groetjes, Mike
  • Indien je de mogelijkheid hebt om een database te beruiken, gebruik dat dan. Want wat jij wilt is erg moeilijk. Een extra mogelijkheid (erg omslachtig!) is om het volgende te doen:

    - per link een bestandje maken, maar denk wel na, want het zijn erg veel bestandjes die je dan krijgt.
  • Ik moet zeggen dat ik require nooit op deze manier heb gebruikt, maar misschien kun je zo'n constructie maken.[code:1:1b250de1d3]<?php
    require('boven.php?links=tweede');
    ?>[/code:1:1b250de1d3]en vervolgens ziet boven.php er dan zo uit:[code:1:1b250de1d3]<html>
    <head><title></title</head>
    <body>
    <? if ($_GET['links'] == 'eerste') { ?>
    <a name="eerste">
    <a href="pagina2.html">Pagina 1</A><br>
    <a href="pagina3.html">Pagina 2</A><br>
    <a href="pagina4.html">Pagina 3</A><br>
    </a>
    <? } ?>

    <? if ($_GET['links'] == 'tweede') { ?>
    <a name="tweede">
    <a href="pagina2.html">Pagina 11</A><br>
    <a href="pagina3.html">Pagina 12</A><br>
    <a href="pagina4.html">Pagina 13</A><br>
    </a>
    <? } ?>

    </body>
    </html>[/code:1:1b250de1d3]maar ik vind het echt niks. Doet me denken aan spaghetti. Ook die <body> en <html> tags er in betekenen dat er verder niets anders meer op de pagina komt te staan? Nouja, doet er ook niet toe, ik hoop dat dit je iets op weg heeft geholpen. s.Mightys idee met een database is veel beter.
  • [quote:88d0699987="Buur"]Ik moet zeggen dat ik require nooit op deze manier heb gebruikt, maar misschien kun je zo'n constructie maken.[code:1:88d0699987]<?php
    require('boven.php?links=tweede');
    ?>[/code:1:88d0699987]en vervolgens ziet boven.php er dan zo uit:[code:1:88d0699987]<html>
    <head><title></title</head>
    <body>
    <? if ($_GET['links'] == 'eerste') { ?>
    <a name="eerste">
    <a href="pagina2.html">Pagina 1</A><br>
    <a href="pagina3.html">Pagina 2</A><br>
    <a href="pagina4.html">Pagina 3</A><br>
    </a>
    <? } ?>

    <? if ($_GET['links'] == 'tweede') { ?>
    <a name="tweede">
    <a href="pagina2.html">Pagina 11</A><br>
    <a href="pagina3.html">Pagina 12</A><br>
    <a href="pagina4.html">Pagina 13</A><br>
    </a>
    <? } ?>

    </body>
    </html>[/code:1:88d0699987]maar ik vind het echt niks. Doet me denken aan spaghetti. Ook die <body> en <html> tags er in betekenen dat er verder niets anders meer op de pagina komt te staan? Nouja, doet er ook niet toe, ik hoop dat dit je iets op weg heeft geholpen. s.Mightys idee met een database is veel beter.[/quote:88d0699987]

    Bedankt voor het meedenken ;)
    Ik heb dit er even ingezet maar ik krijg een foutmelding:
    http://www.zkkf.nl/css2/pagina2.php

    Het is dus de bedoeling dat alle hyperlinks op de index.php (ik maak de startpagina dus helemaal compleet) komen en dat ik deze oproep in de sub pagina's. Ik heb dus een menu bovenaan en links op de pagina.

    Normaal zou ik dus de inhoud (de hyperlinks) van het boven "frame" en het linker "frame" oproepen in de index.php (en sub pagina's)

    Voordeel van deze methode lijkt mij dat een zoekmachine die de pagina wil indexeren gelijk alle links op de index.php ziet en doorzoekt.

    Hoop dat ik het duidelijk heb uitgelegt ?
  • [quote:ac899c8142]Voordeel van deze methode lijkt mij dat een zoekmachine die de pagina wil indexeren gelijk alle links op de index.php ziet en doorzoekt.[/quote:ac899c8142]Nou dat klopt alvast niet. De zoekmachine spidert gewoon de geparste html dus dat kun je vergeten.
    [quote:ac899c8142]Hoop dat ik het duidelijk heb uitgelegt ?[/quote:ac899c8142]Nee, helaas snap ik er geen bal van. Maar dat ligt zeer waarschijnlijk aan mij (kerstkater), en dat maakt verder niet uit want we gaan het gewoon proberen op te lossen natuurlijk :)

    Post eens wat code van pagina2.php, in elk geval de eerste 17 regels… En ik ben ook wel benieuwd naar cssopzet.php…
  • Lees even de foutnmelding, het bestand bestaat niet!

    stel je hebt 2 tabellen:
    - hoofdmenu
    - submenu

    dan maak je een simpel site-mapje:(ik geef alleen een opzet):

    [code:1:05b77a775e]
    Selecteer de hoofditem, en kijk dan of een submenu-item aan dat item is gelinkt, indien niet geef je alleen het hoofditem, anders geef je het hoofditem, en begin je met een lus die alle items die daaraan gelinkt zijn neerzet..
    dit doe je totdat je geen hoofd-items meer hebt.
    [/code:1:05b77a775e]

    iets in de zin van:
    [code:1:05b77a775e]
    <ul>
    <?php
    [selecteer-item 1]
    if([is wel leeg]){
    echo "Geen items in onze database";
    }else{
    while(){
    [selecteer submenu bij dit item]
    if([geen submenu]){
    echo "<li> [submenu link enzo] </li>";
    }else{
    echo "<li> [submenu link enzo] <ul> ";
    while(){
    echo "<li> [submenu link enzo] </li>":
    }
    echo "</ul></li>";
    }
    ?>
    </ul>[/code:1:05b77a775e]

    dit is voor een voorbeeld, hiermee kunnen zoekmachine's elke link 'zien'.

    verder ben ik netzoals buur wel nieuwsgierig naar die code.

    [b:05b77a775e]let op! deze code is niet correct, en dien je zelf uit te werken. het dient slechts als een voorbeeld[/b:05b77a775e]
  • Nee nee nee wacht mijn voorgaande oplossing slaat echt compleet nergens op. Ik heb er nu al spijt van dat ik gereageerd heb. Ik maak er echt een zootje van; ik ga vandaag niet meer schrijven op CT forum :oops:

    Het bestand dat je include of requiret geeft geen echo. Als ik include("test.html"); doe wil dat niet zeggen dat op die plek zomaar de html code uit test.html wordt neergezet. Je kunt dus ook sowieso op die manier geen get-variabelen meegeven aan include of require.

    Wat je hier zegt:[quote:b77d79ac2f]Met Require kan je de inhoud van een pagina opvragen en weergeven in een andere pagina.[/quote:b77d79ac2f]is dus gewoon niet waar. Dan zul je toch meer moeten doen in het bestand dat je requiret…

    Dit zou wel werken:[code:1:b77d79ac2f]<?php
    $links = "eerste";
    include("boven.php"); // of require, whatever… lees over het verschil op php.net
    echo $string;
    ?>[/code:1:b77d79ac2f]en dan in boven.php[code:1:b77d79ac2f]<?php
    if ($links == 'eerste') {
    $string = "<a name=\"eerste\">
    ";
    $string .= "<a href=\"pagina2.html\">Pagina 1</A><br>
    ";
    $string .= "<a href=\"pagina3.html\">Pagina 2</A><br>
    ";
    $string .= "<a href=\"pagina4.html\">Pagina 3</A><br>
    ";
    $string .= "</a>
    ";
    }
    if ($links == 'tweede') {
    $string = "<a name=\"tweede\">
    ";
    $string .= "<a href=\"pagina11.html\">Pagina 11</A><br>
    ";
    $string .= "<a href=\"pagina13.html\">Pagina 12</A><br>
    ";
    $string .= "<a href=\"pagina13.html\">Pagina 13</A><br>
    ";
    $string .= "</a>
    ";
    }
    ?>[/code:1:b77d79ac2f]maar ook dat slaat nergens op, dan kan je het net zo goed in 1 bestand zetten. Sorry voor de verwarring.
  • [quote:2ab0a32b0a="Buur"]Nee nee nee wacht mijn voorgaande oplossing slaat echt compleet nergens op. Ik heb er nu al spijt van dat ik gereageerd heb. Het bestand dat je include of requiret geeft geen echo. Als ik include("test.html"); doe wil dat niet zeggen dat op die plek zomaar de html code uit test.html wordt neergezet. Je kunt dus ook sowieso op die manier geen get-variabelen meegeven aan include of require.

    Dit zou wel werken:[code:1:2ab0a32b0a]<?php
    $links = "eerste";
    include("boven.php");
    echo $string;
    ?>[/code:1:2ab0a32b0a]en dan in boven.php[code:1:2ab0a32b0a]<?php
    if ($links == 'eerste') {
    $string = "<a name=\"eerste\">
    ";
    $string .= "<a href=\"pagina2.html\">Pagina 1</A><br>
    ";
    $string .= "<a href=\"pagina3.html\">Pagina 2</A><br>
    ";
    $string .= "<a href=\"pagina4.html\">Pagina 3</A><br>
    ";
    $string .= "</a>
    ";
    }
    if ($links == 'tweede') {
    $string = "<a name=\"tweede\">
    ";
    $string .= "<a href=\"pagina11.html\">Pagina 11</A><br>
    ";
    $string .= "<a href=\"pagina13.html\">Pagina 12</A><br>
    ";
    $string .= "<a href=\"pagina13.html\">Pagina 13</A><br>
    ";
    $string .= "</a>
    ";
    }
    ?>[/code:1:2ab0a32b0a]maar ook dat slaat nergens op, dan kan je het net zo goed in 1 bestand zetten. Sorry voor de verwarring.[/quote:2ab0a32b0a]

    Ga ik even proberen. Maar kan een zoekmachine uberhaupt die links tussen de php code goed lezen?

    Dit is m'n opzetje in css tot nu toe: http://www.zkkf.nl/cssopzet/cssopzet.php

    Ik heb nu een pagina met frames die de laatste maanden onwijs veel bezoekers heeft verloren. Na wat informeren en sitechecks ben ik erachter dat ik van de frames af moet en css zou moeten toepassen. Ook een javascript menu doet het niet goed bij zoekmachines.
  • Bezoek je site en bekijk de source/bron die de browser er van heeft gemaakt. Dat is precies de code die de zoekmachine ook ziet.
  • [quote:66e77ac502="Buur"][code:1:66e77ac502]<?php
    $links = "eerste";
    include("boven.php"); // of require, whatever… lees over het verschil op php.net
    echo $string;
    ?>[/code:1:66e77ac502]en dan in boven.php[code:1:66e77ac502]<?php
    if ($links == 'eerste') {
    $string = "<a name=\"eerste\">
    ";
    $string .= "<a href=\"pagina2.html\">Pagina 1</A><br>
    ";
    $string .= "<a href=\"pagina3.html\">Pagina 2</A><br>
    ";
    $string .= "<a href=\"pagina4.html\">Pagina 3</A><br>
    ";
    $string .= "</a>
    ";
    }
    if ($links == 'tweede') {
    $string = "<a name=\"tweede\">
    ";
    $string .= "<a href=\"pagina11.html\">Pagina 11</A><br>
    ";
    $string .= "<a href=\"pagina13.html\">Pagina 12</A><br>
    ";
    $string .= "<a href=\"pagina13.html\">Pagina 13</A><br>
    ";
    $string .= "</a>
    ";
    }
    ?>[/code:1:66e77ac502][/quote:66e77ac502]

    in dit geval is het toch gewoon netzo makkelijk een database toe te passen, misschien nog wel makkelijker & veelzijdiger ook. (en veel makkelijker bij te houden)..

    een menu wordt er bij mij zo uitgepoept:
    [code:1:66e77ac502] <ul id="m_bottom">
    <li><a href="pagina/5/">Introductie</a></li><li><a href="pagina/">Het verhaal</a></li><li><a href="pagina/6/">Afleveringen</a></li><li><a href="pagina/2/">Personages</a></li>
    </ul>
    [/code:1:66e77ac502]
    Uiteraard dien je de input te controlen op 'slechte' code. (wat ook gebeurt, alleen een stuk eerder).

    [niet bedoelt als spam] zo kan de broncode er dan uit zien (kijk in de bron). zoals je ziet, kan je met een database behoorlijk veel doen.

    de manier van buur met een variabele per link, is niet persé slecht. maar je verliest zo gauw het overzicht (je weet niet meer welke link waarvoor is enzo). Met een database kun je met gemak relaties leggen.

    voorbeeld:
    [code:1:66e77ac502]
    $query = "SELECT * FROM cmsmenu WHERE submenuid=".$submenuid;
    $result = mysql_query($query) or die($query."<br><br>".mysql_error());
    $aantal = mysql_num_rows($result);

    if($aantal == 0)
    {
    $query = "SELECT * FROM cmsmenu WHERE submenuid=1";
    $result = mysql_query($query) or die(mysql_error());
    $aantal = mysql_num_rows($result);
    }

    unset($return);

    while($fetch = mysql_fetch_array($result))
    {
    $return .= "<li><a href=\"".$fetch['url']."\">".$fetch['naam']."</a></li>";
    }[/code:1:66e77ac502]
    waarbij de $submenuid uit de database komt, die hoort bij een pagina. Veel moeilijker hoeft het niet te zijn om met een database te werken.
  • Ik heb deze vraag even in een ander topic gezet die over dat onderwerp gaat.

    http://forum.computertotaal.nl/phpBB2/viewtopic.php?p=1167192#1167192

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.