Fout in code?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mike van den Berg

Mike van den Berg

03/07/2007 19:31:00
Quote Anchor link
Mijn index.php heeft de volgende code in zich:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if (EMPTY($pagina)) {
include ("blog.php");
}

else {
include ( $pagina.".php");
}

?>


Ik verwijs via de volgende link naar content:
<li><a class="navigatie" href="?pagina=blog" title="Firgurth.nl - blog">Blog</a></li>

wat zou evt. fout kunnen zijn?
evt. kun je kijken op firgurth.nl

grtz, Mike
 
PHP hulp

PHP hulp

19/04/2024 07:32:26
 
Winston Smith

Winston Smith

03/07/2007 19:42:00
Quote Anchor link
je pagina is ten eerste niet veilig, stel ik roep ?pagina=http://slechte-server/met-een-heel-stout-en-kwaadaardig-bestand aan, dan include jouw script dat. Even googlen op XSS (cross-side scripting dus).

Daarnaast is het waarschijnlijk $_GET['pagina']. Het direct kunnen gebruiken van $pagina is inmiddels verouderd. Verder is het gebruikelijk om functies in kleine letters te schrijven, dus empty() ipv EMPTY(), maar dat is meer een schoonheidsfoutje (en ik denk dat het beter is om isset() te gebruiken in plaats van empty()).

Krijg je een foutmelding?

Edit:
Ik zie geen foutmeldingen op jouw site, dus ik anticipeer maar alvast op je reactie:p Zet bovenaan je script error_reporting(E_ALL);. Dat geeft alle foutmeldingen weer, als je ze krijgt.
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
 
Danny Roelofs

Danny Roelofs

03/07/2007 19:46:00
Quote Anchor link
Wellicht staat in de php.ini allow_url_fopen op off
 
Winston Smith

Winston Smith

03/07/2007 19:48:00
Quote Anchor link
Danny Roelofs schreef op 03.07.2007 19:46:
Wellicht staat in de php.ini allow_url_fopen op off
Dan nog zou ik er niet op gokken. Je weet nooit wat de hoster aanpast tussentijds ;)
 
Mike van den Berg

Mike van den Berg

03/07/2007 19:49:00
Quote Anchor link
ik krijg inderdaad een foutmelding,

overigens, bij mijn personalia heb ik aangegeven waar ik kennis van heb, ik hoor nu allerlei termen vliegen, waar ik nog nooit van gehoort heb.

slechts een beginner qua PHP, wel leergierig bezig met boek,
maar belangrijk is misschien dat ik eerst leer d.m.v. een php-code content te laten laden, binnen mijn pagina.

groetjes, Mike
 
Mike van den Berg

Mike van den Berg

03/07/2007 19:51:00
Quote Anchor link
Overigens, om te kijken naar de pagina incl de bovenstaande code, http://firgurth.nl/index3.php daar is het effect te zien.

ik ben nog in de speel fase, dus vandaar de naam, alles uitproberen etc.

groetjes, Mike

Moderator edit::
Bumpen:
Twee of meer keer achter elkaar in een topic posten heet bumpen.

Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.
Gewijzigd op 01/01/1970 01:00:00 door Mike van den Berg
 
Winston Smith

Winston Smith

03/07/2007 19:52:00
Quote Anchor link
Excuses, ik kijk doorgaans niet op gebruikerspagina's voordat ik een reactie post ;P Het is wellicht handig die foutmelding ook even te posten....
 
Mike van den Berg

Mike van den Berg

03/07/2007 19:53:00
Quote Anchor link
Parse error: syntax error, unexpected '{' in /mnt/web2/21/96/51560996/htdocs/index3.php on line 32

ik hoop dat je dit bedoeld met aanpassen!
ik zal kijken en de code opsturen, wat er in regel 32 wordt weergeven,
in ieder geval heel erg bedankt voor de reacties erop!

de cusrus die ik volg is nog lang niet afgelopen, maar het meeste leer ik van mensen die het net iets makkelijker kunnen uitleggen dan het boek, zoals jij!

groetjes, Mike
Gewijzigd op 01/01/1970 01:00:00 door Mike van den Berg
 
Winston Smith

Winston Smith

03/07/2007 19:53:00
Quote Anchor link
OK, het is een syntax error, dus waarschijnlijk ben je vergeten ergens iets af te sluiten (punt-komma ergens vergeten?), evt. kan je het stukje rond regel 32 posten zodat we ernaar kunnen kijken.

Overigens kan je je berichten wijzigen, dat wordt hier meer op prijs gesteld dan achter elkaar posten. ;)
 
Mike van den Berg

Mike van den Berg

04/07/2007 12:54:00
Quote Anchor link
Kasper schreef op 03.07.2007 19:53:
OK, het is een syntax error, dus waarschijnlijk ben je vergeten ergens iets af te sluiten (punt-komma ergens vergeten?), evt. kan je het stukje rond regel 32 posten zodat we ernaar kunnen kijken.

Overigens kan je je berichten wijzigen, dat wordt hier meer op prijs gesteld dan achter elkaar posten. ;)


Helaas heb ik wat verwijderd en aangepast binnen de code, maar nu kan ik de vorige regel 32 niet meer laten zien, is er evt. geen andere oplossing voor het probleem?

groetjes, Mike
 
Mike van den Berg

Mike van den Berg

04/07/2007 21:06:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$pagina
= $_GET["pagina"];
if (empty($pagina)) {
    include("blog.php");
}

else {
    include($pagina . ".php");
}

?>


Werkt!

Moderator edit: Aandacht!!!:
Bumpen:
Twee of meer keer achter elkaar in een topic posten heet bumpen.

Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

Extra opmerking:

Had je er al eerder op gewezen en ik ben flexibel dus ik ga er van uit dat je hier helemaal niet aan had gedacht en dat het nu wel door dringt.

Ik zou je dus vriendelijk verzoeken om deze regel goed in acht te nemen!

Bij voorbaat dank,

Danny Roelofs.
Gewijzigd op 01/01/1970 01:00:00 door Mike van den Berg
 
TJVB tvb

TJVB tvb

04/07/2007 21:21:00
Quote Anchor link
Mike lees even de moderator edit in een eerder bericht van je.
Bumpen is nog steeds niet toegestaan.

Je kunt ook overal $_GEtT['pagina'] gebruiken. Dat scheelt weer een variabel en is net iets netter. (al zul je hierbij het verschil niet merken)
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb
 



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.