login  Naam:   Wachtwoord: 
Registreer je!
 Forum

php opslaan in mysql

Offline syssin - 18/07/2010 00:40
Avatar van syssinNieuw lid Hallo iedereen,

Ik vroeg me af of het mogelijk is om een heel stuk website, inclusief php, op te slaan in mysql.
Bv: <div id="dkdkd"><?php echo "blablabla"; ?></div> helamaal opslaan in mysql om het daarna met php weer uit te laden en het script correct uit te voeren.
Google vindt eval(); maar dit blijkt om de een of andere reden niet aan te raden en werkt ook niet.

Heeft iemand hier een oplossing voor?
Alvast sorry mocht dit een stomme vraag zijn ;)

12 antwoorden

Gesponsorde links
Offline valles10 - 18/07/2010 00:56 (laatste wijziging 18/07/2010 00:57)
Avatar van valles10 HTML interesse neen niet zo...
daarvoor moet je eens kijken naar
PHP.net: htmlentities
PHP.net: htmlspecialchars
PHP.net: addslashes
PHP.net: stripslashes
Offline svm - 18/07/2010 11:51 (laatste wijziging 18/07/2010 11:53)
Avatar van svm PHP ver gevorderde PHP zal de data als string zien en dus niet uit kunnen voeren (als je het echoëd wordt het als html geparst).
Wat wel werkt is de data opslaan in een bestand en dit bestand vervolgens te includen:

  1. <?php
  2. include 'connect.php'; //ff kort: maak verbinding met je mysql-server e.d.
  3.  
  4. // ik doe maar wat; het gaat erom dat de data geselecteerd wordt dus
  5. $res = mysql_query("SELECT data FROM scripts WHERE id='4'") or die (mysql_error());
  6. while($obj = mysql_fetch_object($res)) {
  7. $filename = md5(rand(0,9999999)).'.php'; //genereer een (vrijwel altijd) unieke naam
  8. $fp = fopen($filename,'a'); //bestand aanmaken
  9. fwrite($filename, $obj -> data); //data opslaan
  10. fclose($fp); //en sluiten
  11.  
  12. if(is_file($filename)) {
  13. include $filename; //data uitvoeren
  14. unlink $filename; //bestand verwijderen
  15. }else{
  16. echo 'De data kon niet geladen worden.<br />Controleer op juiste permissies van de map.';
  17. }
  18. }
  19. ?>

Offline jaronneke - 18/07/2010 12:31
Avatar van jaronneke MySQL interesse waarom zou je dat willen?
Offline SynBitz - 18/07/2010 15:22
Avatar van SynBitz Lid vroeg ik me ook af... html opslaan in een database is op zich nog wel oke.. maar PHP 
Offline syssin - 18/07/2010 16:01
Avatar van syssin Nieuw lid Bedankt voor de reacties!

Het zit zo: ik heb een website die de content van alle pages uit de database haalt. Dit werkt correct en het CMS is hierop afgestemd.
De homepage bestaat echter uit een tabel met 6 blokken tekst. Helaas ben ik vergeten dat de laatste blok tekst de laatste 3 nieuwsitems van de blog moet bevatten. Dit moet dus php zijn. Vandaar dat ik dit nodig heb.

Ik kan natuurlijk een uitzondering op het paginasysteem maken en iedere tekstblok afzonderlijk bewerken in het CMS. Maar dit zal een stuk langer duren. Dit zal ik dus liefst in laatste instantie overwegen.

Het scriptje van svm ziet er goed uit, alleen vrees ik dat dit wat omstreden is hiervoor? (Ik kan me natuurlijk vergissen!)
Offline TotempaaltJ - 18/07/2010 16:11
Avatar van TotempaaltJ PHP interesse Ja, het is een beetje raar 

  1. // haal je bestandsnaam (paginanaam) uit de database
  2. $res = mysql_query("select bestandsnaam from paginas where id = 5");
  3. if(mysql_num_rows($res) != 1) {
  4. die('Er is iets raars...');
  5. }
  6. $bestandsnaam = mysql_fetch_assoc($res)['bestandsnaam'];
  7. include('paginas/' . $bestandsnaam) or die('Paginabestand bestaat niet');
  8.  
  9. // stop het aangepaste bestand in string $data in bestand $bestandsnaam
  10. file_put_contents('paginas/' . $bestandsnaam, $data);

Werkt alleen als je PHP 5 hebt. 
Offline valles10 - 18/07/2010 16:58
Avatar van valles10 HTML interesse ja maar hij wil alles uit db halen, geen bestanden dus.
syssin, als:

  1. $var = "Mijn waarde";
  2. //en ik het volgende doe:
  3. echo $var;//zal hij- mijn waarde - echoen.
  4. //als ik
  5. echo "$var"; //doe, zal hij - mijn waarde - echoen.
  6. //als ik
  7. echo '$var';// doe zal hij- $var - echoen...

miss ben je daar wat mee?
Offline Martijn - 18/07/2010 17:00
Avatar van Martijn Crew PHP Maar dan hoef je toch geen php te maken? Je maakt een php pagina die alles maakt zodat het in dat blok kan (dus met links en alles), dat zet je in textbestand.txt
Vervolgens echo je dat in je blok waar je dat wilt. Het enige wat je daarna nog moet doen, is iets maken dat dat textbestand.txt update als je nieuw item toevoegt.

Jouw manier is omslachtig om dan elke keer opnieuw geparsed moet worden, en in mijn voorbeeld veranderd er alleen iets als je daadwerkelijk iets veranderd, scheelt weer wat
Offline valles10 - 18/07/2010 17:02
Avatar van valles10 HTML interesse
Martijn schreef:
Maar dan hoef je toch geen php te maken? Je maakt een php pagina die alles maakt zodat het in dat blok kan (dus met links en alles), dat zet je in textbestand.txt
Vervolgens echo je dat in je blok waar je dat wilt. Het enige wat je daarna nog moet doen, is iets maken dat dat textbestand.txt update als je nieuw item toevoegt.

Jouw manier is omslachtig om dan elke keer opnieuw geparsed moet worden, en in mijn voorbeeld veranderd er alleen iets als je daadwerkelijk iets veranderd, scheelt weer wat

je kan niet met mysql werken zonder php hoor 
Offline TotempaaltJ - 18/07/2010 17:22
Avatar van TotempaaltJ PHP interesse
valles10 schreef:
[..quote..]
je kan niet met mysql werken zonder php hoor 

Tuurlijk wel. Bijvoorbeeld met de MySQL command line tool, of met ongeveer elke andere programmeertaal? 
Offline valles10 - 18/07/2010 17:25
Avatar van valles10 HTML interesse
TotempaaltJ schreef:
[..quote..]
Tuurlijk wel. Bijvoorbeeld met de MySQL command line tool, of met ongeveer elke andere programmeertaal? 

Jaah, zo wel ja ok mijn medeling was niet correct, maar dan nog 

hij wil alles in db stoppen, en dan eruit halen. Zonder txt files of wat dan ook.
Offline svm - 18/07/2010 18:11
Avatar van svm PHP ver gevorderde Dus is hij op zoek naar een functie die php-code in een string kan uitvoeren.
Als deze er niet is kan hij mijn scriptje, zie mijn vorige reactie, gebruiken.
Eventueel kun je het in een functie zetten, zodat je niet het hele file gebeuren telkens hoeft de gebruiken en het overzichtelijk blijft.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.203s