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] Website aanpssen Script

Cornel
8 antwoorden
  • Hallo,

    Ik zit met het volgende probleem:
    Ik ben bezig met een website waarbij je de website kan aanpassen met een WYSIWYG script in PHP. Dit heb ik allemaal werkend gekregen; je kan de website aanpassen door de tekst van een pagina in een texterea te typen. Maar: Als je deze dan opslaat word de achtergrond van de pagina wit. Dit is logisch want het script maakt er gewoon een tekst pagina van zonder opmaak. Alleen hoe kan ik het maken dat hij een plaatje als achtergrond insteld als ik hem opsla?

    Scipt om een pagina aan te passen:
    [code:1:8f3538e2d2]<?php
    $filename = 'Home_Page.htm';

    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
    $content = $_POST['content'];

    // Kunnen we schrijven naar het bestand?
    // Kan dit niet, dan error
    if (is_writable($filename)) {

    // Open het bestand
    // Kan dit niet, dan error
    if (!$handle = fopen($filename, 'w')) {
    echo "Cannot open file ($filename)";
    exit;
    }

    // Schrijf de tekst uit de textarea naar het bestand
    // Kan dit niet, dan error
    if (fwrite($handle, $content) === FALSE) {
    echo "Cannot write to file ($filename)";
    exit;
    }

    // Meld dat het schrijven is gelukt
    echo "<strong>Gepubliceerd:</strong></br>$content";

    fclose($handle);

    } else {
    // Error van schrijfbaarheids check
    echo "The file $filename is not writable";
    }

    } else {

    // Open bestand en lees het uit, bestaat het bestand niet, dan wordt het gemaakt.
    $handle = fopen($filename, 'a+');

    // Controleer of er iets in file staat
    // is deze leeg dan een size van 1 geven, bij 0 krijg je namelijk error.
    if(filesize($filename) > 0){$size = filesize($filename);}else{$size = 1;}

    // Maak string met inhoud van bestand
    $content = fread($handle, $size);
    fclose($handle);
    ?>
    <html><br />
    <head><script language="JavaScript" type="text/javascript" src="http://www.kermissimulaties.nl/Pagina's/wysiwyg.js"></script>
    </head>
    <BODY BACKGROUND="bg_teksten3.jpg">
    <form action="<? $_SERVER['PHP_SELF']; ?>" method="POST">
    <textarea name="content" id="your_textarea" style="width: 400px; height: 400px; background-color:#FF0000")><?=$content;?></textarea><script language="JavaScript">
    generate_wysiwyg('your_textarea');
    </script>
    <br />
    <input type="submit" value="Pagina Aanpassen" onClick="value='Opdracht wordt verwerkt…'" style="width: 500px;">

    </form>
    </body>
    </html>
    <?
    }
    ?>[/code:1:8f3538e2d2]

    Kan iemand helpen? Wat moet ik doen om te zorgen dat als je hem aanpast, de achtergrond 'bg_teksten3.jpg' word?

    Alvast bedankt! :D
    [b:8f3538e2d2]
    Edit:[/b:8f3538e2d2] Ojee.. Ik zie net dat ik dit onderwerp in het verkeerde subforum heb gezet :oops:
  • move naar W&S
  • Wat je simpelweg kunt doen is een template maken waar de content inkomt. Die template ziet er dan bijvoorbeeld zo uit:
    [code:1:54d2c19940]<DOCTYPE zoveel>
    <html>
    <head>
    <meta-dingen>
    <title>Titeltje</title>
    <link rel="stylesheet" href="stylesheet.css">
    </head>
    <body>
    <div id="content">
    {_content_}
    </div>
    </body>
    </html>[/code:1:54d2c19940]
    Dit sla je op in de database of in een file, dat maakt op zich niet uit. Vervolgens lees je dit in in een string, wat dan bovenstaande inhoud bevat. Daarbij voer je dan een str_replace uit:
    [code:1:54d2c19940]$template = file_get_contents('template.html');
    $content = $_POST['content'];
    $output = str_replace('{_content_}', $content, $template);[/code:1:54d2c19940]
    $output bevat nu een HTML bestand waarbij $content op de plaats staat van {_content_}. En een HTML bestand kun je natuurlijk aankleden zoals je wil.
  • [quote:ee2114ba7e]<Quote Ger>[/quote:ee2114ba7e]
    Ok! Maar hoe moet ik dat dan nu in het script zetten?
  • Precies zoals ik het zeg; je zorgt dat het bestand dat je inleest een vast herkenbaar stuk heeft waar je de inhoud van de textarea wil hebben. Dat stuk vervang je met een str_replace. De route is dus:
      [*:d82a9a4c3b]Inhoud van $_POST inlezen; [*:d82a9a4c3b]Inhoud van de template inlezen; [*:d82a9a4c3b]str_replace uitvoeren; [*:d82a9a4c3b]Bestand wegschrijven[/list:o:d82a9a4c3b]
  • [quote:0ceb067671="Ger"]Precies zoals ik het zeg; je zorgt dat het bestand dat je inleest een vast herkenbaar stuk heeft waar je de inhoud van de textarea wil hebben. Dat stuk vervang je met een str_replace. De route is dus:
      [*:0ceb067671]Inhoud van $_POST inlezen; [*:0ceb067671]Inhoud van de template inlezen; [*:0ceb067671]str_replace uitvoeren; [*:0ceb067671]Bestand wegschrijven[/list:o:0ceb067671][/quote:0ceb067671] Ik snap wat je bedoelt.. maar hoe ik dit moet vertalen naar scripts.. (Ik ben PHP aan het leren… en ik heb dan ook verschillende tutorials gevolgd en theorie gelezen.. vandaar dat ik nu van praktijk wil leren..)
  • [quote:08a27ad3cc="kermisfreak1000"]Ik snap wat je bedoelt.. maar hoe ik dit moet vertalen naar scripts..
    (Ik ben PHP aan het leren… en ik heb dan ook verschillende tutorials gevolgd en theorie gelezen.. vandaar dat ik nu van praktijk wil leren..)[/quote:08a27ad3cc]Als je er oprecht van wil leren dan stel ik voor dat we het probleem andersom benaderen, daar leer je namelijk veel meer van. Met andere woorden: wat heb je al, waar loop je op vast en waarom doet het niet wat je wil?

    - Bas
  • [quote:3071bf6bd9="BasHamar"][quote:3071bf6bd9="kermisfreak1000"]Ik snap wat je bedoelt.. maar hoe ik dit moet vertalen naar scripts..
    (Ik ben PHP aan het leren… en ik heb dan ook verschillende tutorials gevolgd en theorie gelezen.. vandaar dat ik nu van praktijk wil leren..)[/quote:3071bf6bd9]Als je er oprecht van wil leren dan stel ik voor dat we het probleem andersom benaderen, daar leer je namelijk veel meer van. Met andere woorden: wat heb je al, waar loop je op vast en waarom doet het niet wat je wil?

    - Bas[/quote:3071bf6bd9]

    Ik heb als eerst een script van internet, die ik vervolgens wil aanpassen zodat hij doet wat ik wil. En nou had ik dat zitten proberen, maar werkte het niet en zorgde ik ervoor dat het script niet meer werkte.. vervolgens heb ik nog wat gegoogled en kwam ik er niet uit… Dus vandaar dit topic/onderwerp.
    Dus ik dacht: als iemand me kan helpen, dan kan ik zien hoe hij/zij dat gedaan heeft, en ik kan ik er vervolgens zelf op door bouwen.

    [b:3071bf6bd9]Edit: [/b:3071bf6bd9]ik heb het nu op gelost met een WYSIWYG script + opent hij het script nu tusse body tags! Iedereen in ieder geval heel erg bedankt!

Beantwoord deze vraag

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