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

Echo laat niet de hele inhoud van de variabele zien

None
7 antwoorden
  • Ik heb in dreamweaver een layout gemaakt voor mijn site en opgeslagen als home.php. Nu heb ik het volgende scriptje. Hier in staan alle pagina's die vanuit mijn menu in home.php aangeroepen worden d.m.v home.php?pagina=home.

    In het bestand home.php heb ik op de plaats waar het aangeroepen bestand ingevoegd moet worden <? include ('content.php'); ingevoegd.

    Hieronder het bestand content.hp
    [quote:33e31ab0d9]
    <?
    $titel="";
    if (isset($_GET['page'])) $PAGE = $_GET['page']; # You can change the value between the brackets to change the index.php?xxx #

    else $PAGE = 'home'; # When no page is being asked for, it will default to home. See below!

    switch ($PAGE) {
    //1- index
    case 'home': # value to call , index.php?xxx=home
    include ('fotos.php'); # path to file
    break;

    //2- fotos
    case 'fotos': # value to call , index.php?xxx=home
    include ('fotos/fotos.php'); # path to file
    break;

    //2-nieuws
    case 'nieuws': # value to call , index.php?xxx=nieuws
    include ('nieuws/news.php'); # path to file
    break;

    //3-contact
    case 'contact': # value to call , index.php?xxx=contact
    include ('contact/contact.htm'); # path to file
    break;

    //4-team
    case 'team': # value to call , index.php?xxx=team
    include ('team/team.htm'); # path to file
    break;

    //5-guestbook
    case 'guestbook': # value to call , index.php?xxx=team
    include ('guestbook/index.php'); # path to file
    break;

    case 'gallery25': # value to call , index.php?xxx=team
    include ('fotos/gallery25.php'); # path to file
    break;


    default:
    echo "<p align=center>Error 404! the page you request doesn't exist or as been temporarily inaccessible </p>"; # Page request not found
    break;
    } ?>
    [/quote:33e31ab0d9]

    Alle pagina's die ik via een link in het menu aanroep worden keurig netjes weergegeven.

    Nu heb ik het volgende probleem:
    Ik heb een pagina nieuws. Hierin heb ik een simpel php scriptje staan die alle nieuws uit de database haalt. Dit wordt weergegeven in een tabel. Dit alles werkt zolang ik de <table> tag maar in de while lus laat staan. Zet ik de <table> tag buiten de lus of in het html gedeelte dan gooit ie m'n hele layout door elkaar.

    Hier onder het bestand news.php

    [quote:33e31ab0d9]


    <?php

    mysql_pconnect("localhost","user","password");

    mysql_select_db("db_name");

    //Example 1 - Basic

    $result = mysql_query("select * from `news`");
    echo "<div align=left>";
    ?>



    <?


    while($r=mysql_fetch_array($result)) {

    $field1 = $r["id"];

    $field2 = $r["message"];

    $field3 = $r["date"];

    $field4 = $r["title"];

    $field5 = $r["picture"];

    echo "<table><tr>";
    echo "<td> $field4 <td></tr>";
    echo "<tr><td> $field2 <td></tr>";
    echo "<tr><td> Toegevoegd op: $field3 </td>";
    echo "</tr>";
    echo "<tr><td><img src=nieuws/$field5></td>";
    echo "</tr></table><p>";
    }

    ?>
    </div>
    [/quote:33e31ab0d9]

    Nu vraag ik mij of of dit wel de juiste manier is om links te maken. Of kan ik beter gewoon van mijn layout een template makn en deze gebruiken voor alle pagina's. Dus gewoon naar bestanden linken i.p.v. home.php?pagina=nieuws

    Heeft iemand een idee hoe ik dit het beste kan aanpakken?

    Zie http://www.racingteamdesikken.nl/site/nieuw/home.php voor een voorbeeld. (dit is niet de status tot nu toe. Ik test op mijn eigen pc)
  • volgens mij moet dit ook gewoon werken:
    [code:1:d8964fde1d]<div align=left><table><?php
    mysql_pconnect("localhost","user","password");
    mysql_select_db("db_name");

    $result = mysql_query("select * from `news`");
    while($r=mysql_fetch_array($result)) {
    $field1 = $r["id"];
    $field2 = $r["message"];
    $field3 = $r["date"];
    $field4 = $r["title"];
    $field5 = $r["picture"];

    echo '<tr><td>'. $field4 .'<td></tr>';
    echo '<tr><td>'. $field2 .'<td></tr>';
    echo '<tr><td> Toegevoegd op: '. $field3 .'</td>'</tr>';
    echo '<tr><td><img src=nieuws/'. $field5 .'></td></tr>';
    }

    ?>
    </table></div>[/code:1:d8964fde1d]
    Let op: ik heb de <p> weggehaald, waarom stond die daar uberhaupt ?!? en ' gebruikt ipv ". Dat is sneller.


    Ik vind je manier van links maken wel ok, maar niet hoe je t hebt uitgewerkt. Wanneer je nu een pagina erbij maakt moet je een nieuwe case toeveogen. Je kan beter de paginas die mogen in een array zetten en dan
    [code:1:d8964fde1d]$dir = 'pages/'; #end with '/' !!!
    $pages=array('home', 'news', 'fotos');
    $page = isset($_GET['page'] ? $_GET['page'] : 'home';
    if( in_array($page, $pages) ) { include($dir . $page .'.php'); }[/code:1:d8964fde1d]
    Al je paginas moeten dan wel in dezelfde directory staan.
  • Ik doe het altijd anders. ik maak gewoon een body.php met dit erin.

    [code:1:f8dd32cf83]
    <?

    if($pagina == "thuis" || $pagina == "") { include "index.php"; }
    if($pagina == "link1" } { include "link1.php"; }
    if($pagina == "link2" } { include "link2.php"; }
    if($pagina == "link3" } { include "link3.php"; }
    if($pagina == "link4" } { include "link4.php"; }
    if($pagina == "link5" } { include "link5.php"; }
    if($pagina == "link6" } { include "link6.php"; }
    else { include "fout.php"; }

    ?>

    [/code:1:f8dd32cf83]

    Simplistisch stukje code, waarmee je je bezoekers kan sturen, gewoon erg handig (je moet dus wel in de link meegeven <a href='index.php?pagina=link1'>Link 1 </a>

    Met boven geschreven stukje code leg je beperkingen op op pagina's waar je gasten mogen komen, en waar niet.
  • Ik ben al weer stukken verder met de site en ben nu bezig met het fotoalbum en heb deze bijna af op 1 klein probleem na.

    Ik haal uit een tabel een omschrijving. Deze omschrijving geef ik via de url op de fotopagina (waar alle links naar de gallery's staan) mee naar de pagina die aangeroepen wordt.

    Deze pagina die aangeroepen wordt geeft de foto's van de betreffende gallery weer. Nu haal ik met [i:ba5dd755dd]$titel = $_GET ['titel']; [/color:ba5dd755dd][/i:ba5dd755dd]die waar de binnen en geef hem boven aan de pagina weer met [i:ba5dd755dd]echo "$titel"[/[/i:ba5dd755dd]color]

    Het probleem is nu dat hij alleen het eerste woord van de titel laat zien en dus niet de rest na de spatie.

    Ik zie nu dat hij niet de hele omschrijving via de url mee geeft.

    Hoe los ik dit op?
  • je kan de spaties vervangen door een tekentje, en dat later weer terug zetten.
    Het is natuurlijk de vraag of t wel zo handig is om de titel met de pagina mee te sturen. De gebruiker kan dus gewoon zn eigen title in de adresbalk in tikken. En als je de titel direct echoot kunnen er ongewenste gegevens vrijkomen.
    Kan je m niet met een post-var meesturen?
  • Ik begrijp wat je bedoelt. Dan gebruik ik ipv $_GET $_POST Maar hoe vertaal ik dat in de code?

    Dat de gebruiker de titel aan kan passen is op zich geen ramp. Hij/zij benadeeld alleen zich zelf daar mee, want de pagina titel klopt dan niet meer.

    Wat ook kan is dat in thumb.php een extra query invoeg en via de url bijvoorbeel het gallery nummer meegeef. Aan de hand daar van kan ik dan weer de pagina titel (omschrijving) uit de tabel halen.
  • [quote:3f8fa85228="rolla"]
    Deze pagina die aangeroepen wordt geeft de foto's van de betreffende gallery weer. Nu haal ik met $titel = $_GET ['titel']; die waar de binnen en geef hem boven aan de pagina weer met echo "$titel"[/color:3f8fa85228]

    Het probleem is nu dat hij alleen het eerste woord van de titel laat zien en dus niet de rest na de spatie.

    Ik zie nu dat hij niet de hele omschrijving via de url mee geeft.
    [/quote:3f8fa85228]
    [quote:3f8fa85228="marientje"]je kan de spaties vervangen door een tekentje, en dat later weer terug zetten.
    [/quote:3f8fa85228]
    index.php?titel=dit%20is%20mijn%20titel
    [quote:3f8fa85228="marientje"]
    Het is natuurlijk de vraag of t wel zo handig is om de titel met de pagina mee te sturen. De gebruiker kan dus gewoon zn eigen title in de adresbalk in tikken. En als je de titel direct echoot kunnen er ongewenste gegevens vrijkomen.[/quote:3f8fa85228]
    idd, sowieso moet je het volgende doen:
    echo htmlspecialchars($titel)[/color:3f8fa85228]

Beantwoord deze vraag

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