[MySQL] Php uitlezen?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • pp_
  • Registratie: November 2001
  • Laatst online: 29-11-2021
Ik ben nu al een tijdje bezig om een contactformulier met spambeveiliging te maken in PHP.
Nu heb ik een werkende statische versie die ik contact.php genoemd heb.
Het probleem is dat ik mijn site, www.106rallye.nl , helemaal als weblog heb willen maken met 1 pagina die de informatie voor de berichten uit de MySQL database haalt.
Zo ook de PHP code van contact.php.

Het probleem is dat de PHP uit de MySQL database niet wordt weergegeven.
Ook een simpele code als <?php print("Hallo") ?> wilt niet lukken.
Is er iemand die een idee heeft hoe het zit?

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
pp_ schreef op vrijdag 09 februari 2007 @ 20:10:
Het probleem is dat de PHP uit de MySQL database niet wordt weergegeven.
Ook een simpele code als <?php print("Hallo") ?> wilt niet lukken.
Is er iemand die een idee heeft hoe het zit?
Dat zit zo, als jij deze code hebt:
PHP:
1
2
3
4
<?php
$blah = '<?php print("hallo"); ?>';
echo $blah;
?>

Dan zal die code ook niet uitgevoerd worden. Met eval() kun je die code wel laten uitvoeren, maar in dit geval wil je dat niet. Het brengt wat risico's met zich mee, en je kunt in dit geval prima zonder.
Dan zie je die code niet in je browser omdat hij denkt dat alles tussen < en > een html-tag is. Je kunt dit oplossing door de string door htmlentities te halen.

[ Voor 12% gewijzigd door GlowMouse op 09-02-2007 20:17 ]


Acties:
  • 0 Henk 'm!

  • ibmos2warp
  • Registratie: Januari 2007
  • Laatst online: 20-11-2023

ibmos2warp

Eval is Evil

Gewoon includes enzo. Je wilt geen eval() gebruiken, nooit of te nimmer. (Naja, voor thuis kan het wel opzich, als je het maar niet online zet.)
Je moet nooit eval() gebruiken, omdat als er ergens een fout zit, je zo helemaal toegang heb tot alles. Dus als je zegmaar alleen kan inloggen, kan je dan als de pagina's gebruik maken van eval() zo alles om zeep helpen....
:Y)

Ik weet alles van niks
Vind Excel ongelovelijk irritant.


Acties:
  • 0 Henk 'm!

  • pp_
  • Registratie: November 2001
  • Laatst online: 29-11-2021
GlowMouse,
Bedankt voor de snelle reactie.
Wat bedoel je met je kunt makkelijk zonder? Dat ik die contact.php houd, in plaats van dat ik hem uit de database haal? Maar ik vind het zo leuk om hem uit de database te halen! :D

Edit:
Dit gaat wel heel snel.
Gewone includes werken ook niet. :(

[ Voor 13% gewijzigd door pp_ op 09-02-2007 20:20 ]


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Gaan het nou om weergeven of uitvoeren van PHP code?

Acties:
  • 0 Henk 'm!

  • pp_
  • Registratie: November 2001
  • Laatst online: 29-11-2021
Vooral om het uitvoeren van de code. Ik dacht dat een print een simpele manier zou zijn om te kijken of de PHP wel werkte, maar blijkbaar niet.

Ik vond net http://www.w3clubs.com/htmlentities.php deze. Even kijken of het hiermee wilt lukken.

Edit:
Het lukt niet. Zie http://www.106rallye.nl/recent.php?id=6 voor het resultaat.
Doe ik iets verkeerd?

[ Voor 18% gewijzigd door pp_ op 09-02-2007 20:28 ]


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
pp_ schreef op vrijdag 09 februari 2007 @ 20:25:
Vooral om het uitvoeren van de code. Ik dacht dat een print een simpele manier zou zijn om te kijken of de PHP wel werkte, maar blijkbaar niet.

Ik vond net http://www.w3clubs.com/htmlentities.php deze. Even kijken of het hiermee wilt lukken.

Edit:
Het lukt niet. Zie http://www.106rallye.nl/recent.php?id=6 voor het resultaat.
Doe ik iets verkeerd?
htmlentities is voor het weergeven maar niet uitvoeren van de code. Voor het uitvoeren heb je toch echt eval nodig. Bij de comments van eval staat de volgende quote:
"If eval() is the answer, you're almost certainly asking the
wrong question." -- Rasmus Lerdorf, BDFL of PHP
Ik zie het voordeel niet van het opslaan van PHP-code in de database. In bepaalde situaties kan het voordelen bieden, maar bij een complete site is dat niet het geval.

Acties:
  • 0 Henk 'm!

  • pp_
  • Registratie: November 2001
  • Laatst online: 29-11-2021
Hahaha :D
Dan zal ik het maar zonder doen!
Bedankt voor de hulp.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik zie het probleem niet zo van eval. Als alleen jij de code kan aanpassen is het niet zo'n ramp. Werken met eval is overigens wel een ramp.

Acties:
  • 0 Henk 'm!

Verwijderd

kan je niet gewoon zelf de php tags zetten en alle tussenliggende code uit je database halen? of een include die op eenzelfde manier de code tussen de tags zet?

Acties:
  • 0 Henk 'm!

  • ibmos2warp
  • Registratie: Januari 2007
  • Laatst online: 20-11-2023

ibmos2warp

Eval is Evil

Verwijderd schreef op vrijdag 09 februari 2007 @ 21:15:
kan je niet gewoon zelf de php tags zetten en alle tussenliggende code uit je database halen?
Nee, dat kan niet. Het komt er dan uit als tekst. Dat is juist het probleem, de TS'er probeert dat maar dat wilt niet.
Verwijderd schreef op vrijdag 09 februari 2007 @ 21:15:
of een include die op eenzelfde manier de code tussen de tags zet?
Dat kan wel, dan kan je het bijvoorbeeld op deze manier doen. Let er wel op dat je soms beter include_once(), require() of require_once() kan doen, maar dat moet je maar effe op php.net lezen.
Verwijderd schreef op vrijdag 09 februari 2007 @ 20:59:
Ik zie het probleem niet zo van eval. Als alleen jij de code kan aanpassen is het niet zo'n ramp. Werken met eval is overigens wel een ramp.
"Als jij allen de code kan aanpassen", daar ben je dus niet zeker van. Als je op z'n site kijkt zie je dat hij rechts onderin een messagebox heeft. Als er in de afhandeling van dat ding fouten zit, kan je toegang krijgen tot de code. Als er dan gebruik wordt gemaakt van eval kan je dingen op de server heel erg in de soep helpen.
Eval() is gewoon te gevaarlijk om zo te gebruiken. Er kan vanalles mis gaan. En zelfs de bedenker van php raad het af. Waarom zou je het dan gebruiken? 8)7

Ik weet alles van niks
Vind Excel ongelovelijk irritant.


Acties:
  • 0 Henk 'm!

Verwijderd

Deze manier van werken is inderdaad zeer af te raden (om voor de hand liggende redenen en ook grotendeels hierboven al genoemd), en erg zonde van de tijd om aandacht aan te besteden.

Je zou beter je tijd kunnen besteden aan oefenen met "PHP-OOE" programmeren oid, dan leer je nog iets nuttigs ook :P

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ik zie ook niet in waarom je PHP-code in je database zou willen opslaan voor een simpel blog. Zo vaak zullen er toch geen nieuwe features bij komen? In dat geval kun je toch wel af en toe een nieuw PHP-bestand uploaden? Het zou je site er in elk geval een stukje veiliger en onderhoudbaarder mee maken. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1