URL en tekst linken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter van Remmen

Peter van Remmen

17/12/2013 15:41:55
Quote Anchor link
Goedemiddag,

Ik ben afgelopen week begonnen mij te verdiepen in PHP. HTML en CSS kennis had ik al. De website die ik bouw, is opgebouwd uit een header.php - page.php - footer.php. In alle pagina's include ik de header.php en footer.php, de page.php kan contact, portfolio, over mij pagina zijn etc.

Rechtsboven in header.php heb ik een button ingebouwd, waar naar een andere pagina gelinkt moet worden. Het idee is echter dat die button-tekst en URL per pagina verschillen.

Voorbeeld:
- in de pagina portfolio.php moet de button de tekst 'Contact' weergeven en de URL 'contact.php'
- in de pagina overmij.php moet de button de tekst 'Portfolio' weergeven en de URL 'portfolio.php'
- etc.

De tekst variabel weergeven is mij gelukt met onderstaande code in header.php:

Quote:
<div class="top_button">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo (" <p>$button_name</p>"); ?>

</div>


Hoe zorg ik echter voor een variabele URL (eventueel direct gelinkt aan de weergegeven naam)?

Groet,

Peter
Gewijzigd op 17/12/2013 15:45:48 door Peter van Remmen
 
PHP hulp

PHP hulp

28/11/2021 00:22:09
 
Albert de Wit

Albert de Wit

17/12/2013 15:47:40
Quote Anchor link
Ben je heel toevallig op zoek naar een navigatie balk? Want dat is wat je hier ongeveer beschrijft.


Je hoeft trouwens niks te echoen tussen haakjes. Dat kan ook gewoon zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo '<p>'.$button_name.'</p>';
 
Peter van Remmen

Peter van Remmen

17/12/2013 15:57:32
Quote Anchor link
Thanks voor je reactie. Ik zoek geen navigatiebalk.
Onderstaande afbeelding is in principe de header.php. Het gaat om de button die rechtsboven staat. Waar nu contact staat, wil ik per pagina een variabele naam en url invullen:

http://i43.tinypic.com/j58mf9.png
 
Albert de Wit

Albert de Wit

17/12/2013 15:59:56
Quote Anchor link
Hoe ziet je $_GET array eruit? Beter gevraagd misschien, hoe navigeer je tussen de pagina's?
Gewijzigd op 17/12/2013 16:00:19 door Albert de Wit
 
Peter van Remmen

Peter van Remmen

17/12/2013 16:08:45
Quote Anchor link
Ik gebruik momenteel het volgende als header.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
    <head>
        <meta charset='utf-8'>
        <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
        <meta name='viewport' content='width=device-width'>
        
        <?php echo ("
        <title>$title</title>
        <meta name='keywords' content='$keywords'>
        <meta name='description' content='$description'>
        "
);
        ?>


        <link rel='stylesheet' href='css/normalize.css'>
        <link rel='stylesheet' href='css/main.css'>
        <link rel='stylesheet' href='css/responsivemobilemenu.css' type='text/css'/>
        
    <script type='text/javascript' src='http://code.jquery.com/jquery.min.js'></script>
        <script type='text/javascript' src='js/responsivemobilemenu.js'></script>
        <script src='js/vendor/modernizr-2.6.2.min.js'></script>
        <script src='js/plugins.js'></script>
    </head>

<body>
<div id="header">    
    <div class="rmm">
        <ul>
            <li><a href='index.php'>Home</a></li>
            <li><a href='portfolio.php'>Portfolio</a></li>
            <li><a href='pitches.php'>Pitches</a></li>
            <li><a href='tarieven.php'>Tarieven</a></li>
            <li><a href='overmij.php'>Over mij</a></li>
            <li><a href='contact.php'>Contact</a></li>
        </ul>
    </div>
    
    <div class="top_button">
        <?php echo '<p>'.$button_name.'</p>' ?>
    </div>
</div>


Op alle subpagina's begin ik vervolgens met de volgende code, waardoor de navigatie in alle pagina's terecht komt uit header.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
session_start();
$title = "Contact | ";
$keywords = "zoekwoorden";
$description = "omschrijving";
$button_name = "button naam";
?>


<?php include('header.php'); ?>


Alles wat daaronder komt, is content geschreven in html5.

Alle quote tags hernoemd naar code tags[/modedit]
Gewijzigd op 17/12/2013 18:11:15 door Wouter J
 
Albert de Wit

Albert de Wit

17/12/2013 16:15:36
Quote Anchor link
Zou je alle code niet binnen [quote][/quote] tags kunnen zetten maar tussen code tags? Maakt het heel wat makkelijker.
Gewijzigd op 17/12/2013 16:17:07 door Albert de Wit
 
Peter van Remmen

Peter van Remmen

17/12/2013 16:45:23
Quote Anchor link
Sorry, bij deze aangepast
 
Kris Peeters

Kris Peeters

17/12/2013 16:51:27
Quote Anchor link
Dit is een voorbeeld van wat je kan doen.

index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
// we lezen de pagina in de URL, in de vorm bv. "index.php?p=portfolio"
$page = isset($_GET['p']) ? $_GET['p'] : '';  // zie "ternary operator".  Een verkorte if/then/else.  
switch ($page) {
  default:
  case
'index':
    $include = 'home';  // zeker niet een pagina index.php laden als HOME.  index.php zorgt voor de navigatie.  Niet voor de HOME pagina
    break;
  case
'portfolio':
  case
'pitches':
  case
'tarieven':
  case
'overmij':
  case
'contact':
    $include = $_GET['p'];  // merk op: enken de waarden die je hier specifieert, worden in rekening gebracht.
    break;
}

?>

<!doctype html>
<html>
  <head>
  ...
  </head>
  <body>
    <?php include 'header.php' ?>
    <ul>
      <li><a href='?p=home'>Home</a></li>
      <li><a href='?p=portfolio'>Portfolio</a></li>
      <li><a href='?p=pitches'>Pitches</a></li>
      <li><a href='?p=tarieven'>Tarieven</a></li>
      <li><a href='?p=overmij'>Over mij</a></li>
      <li><a href='?p=contact'>Contact</a></li>
    </ul>
    <div id="content">
      <?php include $include . '.php' ?>
    </div>
    <?php include 'footer.php' ?>
  </body>
</html>



Merk dus op: index.php is niet de HOME pagina !!!
De Home pagina moet je steken in home.php
index.php zorgt voor de werking van de site
 
Peter van Remmen

Peter van Remmen

17/12/2013 18:07:54
Quote Anchor link
Hi Kris,

Thanks voor je reactie. Het is niet zozeer antwoord op mijn vraag, maar wel een zeer nuttige tip! Ik zie dat jij 'm omdraait. Dus de omgeving (header.php, footer.php) laad je niet in op de pagina, maar de pagina in de omgeving.

Ik heb dat direct omgezet, maar nu werkt het scriptje om per pagina de title, keywords en description te bepalen niet meer. Heb je hier een oplossing voor?

Verder ben ik er nog altijd niet uit hoe ik op die button rechtsboven per pagina een variabele URL kan plaatsen. Het idee is:
- op de pagina portfolio.php moet in dat blauwe vlak rechtsboven de tekst 'contact' staan met als url 'contact.php'
- op de pagina contact.php wil ik daar als tekst 'portfolio' hebben staan en dus een url naar portfolio.php.

Het gaat dus niet om de navigatiebalk, maar het blauwe vierkante vlak. Zie hier de testomgeving, dan kunnen jullie ook zien hoe het nu in elkaar steekt: http://test.prsocial.nl/

Thanks voor het meedenken allen!
 
Kris Peeters

Kris Peeters

17/12/2013 18:31:00
Quote Anchor link
Peter van Remmen op 17/12/2013 18:07:54:
Ik heb dat direct omgezet, maar nu werkt het scriptje om per pagina de title, keywords en description te bepalen niet meer. Heb je hier een oplossing voor?


Op index.php blijf je dus beginnen met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
session_start();
?>


Deze gegevens: okay, nu zijn er een aantal mogelijkheden.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$title
= "Contact | ";
$keywords = "zoekwoorden";
$description = "omschrijving";
$button_name = "button naam";
?>

Je kan die gegevens eventueel in de switch steken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
switch ($page) {
  default:
  case
'index':
    $include = 'home';
    $title = "Welkom | ";
    $keywords = "zoekwoorden";
    $description = "omschrijving";
    $button_name = "button naam";
    break;
  case
'portfolio':
    $include = 'portfolio';
    $title = "Portfolio | ";
    ...

    $button_name = "button naam";
    break;
  case
'pitches':
    $include = 'pitches';
    $title = "Pitches| ";
    ...

    $button_name = "button naam";
    break;
...
}

?>


Het punt is: volg de volgorde.
De gegevens kunnen maar gebruikt worden als de code al is uitgevoerd.
Je kan dus ook variabelen een waarde geven in portfolio.php. Maar in index.php kan je die variabele pas gebruiken nadat include('portfolio.php') is uitgevoerd. ... en dat is dus inderdaad een probleem voor de titel van de pagina.
 
Peter van Remmen

Peter van Remmen

17/12/2013 19:47:47
Quote Anchor link
Oké dan, thanks voor je heldere uitleg. Ik heb bovenstaande geïmplementeerd en dat werkt prima! Is voor SEO in een later stadium niet onbelangrijk.

Is er nu ook een script te implementeren die zegt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
Als $button_name = 'contact' url = 'index.php?p=contact'
Als $button_name = 'portfolio' url = 'index.php?p=portfolio'


Oftewel: Kan aan de waarde $button_name een url gekoppeld worden?
Gewijzigd op 17/12/2013 19:48:19 door Peter van Remmen
 
Bart Matsko

Bart Matsko

17/12/2013 21:10:37
Quote Anchor link
Mag ik vragen hoe/waar jij je PHP kennis opdoet?
 
Peter van Remmen

Peter van Remmen

17/12/2013 22:43:05
Quote Anchor link
Voornamelijk tutorials op Youtube. Daar heb ik ook in eerste instantie de site-opbouw vandaan, die door te praten op dit forum totaal anders en bovendien makkelijker gescript is. Blijkbaar zijn er vele wegen die naar Rome leiden, want het resultaat is hetzelfde.

PS: Ik weet dat de code in mijn laatste post totale onzin is, maar daar staat wel letterliijk wat ik wil bereiken. In 'noob-taal' uitgelegd om het zo maar te zeggen. Of is het niet duidelijk wat ik wil bereiken Bart?
 
Bart Matsko

Bart Matsko

18/12/2013 10:59:27
Quote Anchor link
Peter van Remmen op 17/12/2013 22:43:05:
Voornamelijk tutorials op Youtube. Daar heb ik ook in eerste instantie de site-opbouw vandaan, die door te praten op dit forum totaal anders en bovendien makkelijker gescript is. Blijkbaar zijn er vele wegen die naar Rome leiden, want het resultaat is hetzelfde.

PS: Ik weet dat de code in mijn laatste post totale onzin is, maar daar staat wel letterliijk wat ik wil bereiken. In 'noob-taal' uitgelegd om het zo maar te zeggen. Of is het niet duidelijk wat ik wil bereiken Bart?


Het was meer een vraag voor mezelf. Ik doe dit jaar eind examen en wil daarna ook echt eens PHP gaan leren. En daarbij komt dat ik HTML & CSS ook nog niet helemaal goed ken. Daarom vroeg ik me af hoe jij bij de kennis komt.

Ik kan je dus niet helpen met jouw probleem sorry.
 
Tim van Norde

Tim van Norde

18/12/2013 13:03:28
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
Als $button_name = 'contact' url = 'index.php?p=contact'
Als $button_name = 'portfolio' url = 'index.php?p=portfolio'

Is simpelweg:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$url = "index.php?p=" . $buttom_name;
Gewijzigd op 18/12/2013 13:03:58 door Tim van Norde
 
Peter van Remmen

Peter van Remmen

19/12/2013 16:15:01
Quote Anchor link
@Bart: Oké, neem hier ook eens een kijkje: http://www.phpboek.net/

Thanks Tim! Iedereen bedankt voor de hulp, ik kan zo weer een stap verder :-)

Topic mag gesloten worden
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.