Ik heb een aantal problemen met include en POST/GET. De meeste heb ik kunnen tackelen door zelf onderzoek te doen, tutorials te lezen, google, e.d. Maar met een paar problemen blijf ik nog zitten.
Ik maak standaard mijn websites met php include. Dat houdt in dat ik een index.php maak en daarbinnen de content include. Dit gaat altijd prima. Code:
Nu ben ik een webapplicatie aan het maken waar je met behulp van een form data kunt toevoegen aan de database (POST variabelen) en een opvraagpagina die data uit de database toont (GET variabelen). Het punt is dat bij het aanroepen van een pagina waarbij je een GET variabele meestuurt, je altijd het volledige pad moet meegeven. Code:
Echter als je een pagina aanroept met een POST variabele mag je juist niet het volledige pad meegeven anders geeft ie de variabelen niet goed mee, althans dat is mijn ervaring.
Probleem is dat je nu bij elke link (GET var) het volledige pad moet meegeven. Ik had dit liever in de include code verwerkt, maar dan werkt de pagina met de POST var niet meer.
Ander probleem is dat als je een pagina met het volledige pad aanroept (GET var), het relatieve pad verandert en je bij een include van een bestand een dir terug moet. Dit:
wordt dan dit:
In html zou ik dit op lossen met het base statement:
<base href="http://localhost/aibw/"/>
Een ander probleem van het meegeven van GET variabelen via de url is dat als je bij de include checkt of de pagina bestaat (if (file_exists($content))), hij denkt dat de pagina niet bestaat. Dit probleem wil ik ook tackelen.
Kortom hoe gebruik ik pagina's met GET en POST variabelen in combinatie met een index.php die de content include, waarbij genoemde problemen zijn getackeld.
Ik maak standaard mijn websites met php include. Dat houdt in dat ik een index.php maak en daarbinnen de content include. Dit gaat altijd prima. Code:
PHP:
1
2
3
4
5
6
7
8
9
10
| <?php $content = $_GET['content']; if (file_exists($content)) { include($content); } else if ($content) { include('content/error.htm'); } else { include('content/welkom.htm'); } ?> |
Nu ben ik een webapplicatie aan het maken waar je met behulp van een form data kunt toevoegen aan de database (POST variabelen) en een opvraagpagina die data uit de database toont (GET variabelen). Het punt is dat bij het aanroepen van een pagina waarbij je een GET variabele meestuurt, je altijd het volledige pad moet meegeven. Code:
code:
1
| <a href="index.php?content=http://localhost/aibw/content/viewtaak.php?id=<?php echo $id;?>"> |
Echter als je een pagina aanroept met een POST variabele mag je juist niet het volledige pad meegeven anders geeft ie de variabelen niet goed mee, althans dat is mijn ervaring.
Probleem is dat je nu bij elke link (GET var) het volledige pad moet meegeven. Ik had dit liever in de include code verwerkt, maar dan werkt de pagina met de POST var niet meer.
Ander probleem is dat als je een pagina met het volledige pad aanroept (GET var), het relatieve pad verandert en je bij een include van een bestand een dir terug moet. Dit:
PHP:
1
2
| include 'library/config.php'; include 'library/opendb.php'; |
wordt dan dit:
PHP:
1
2
| include '../library/config.php'; include '../brary/opendb.php'; |
In html zou ik dit op lossen met het base statement:
<base href="http://localhost/aibw/"/>
Een ander probleem van het meegeven van GET variabelen via de url is dat als je bij de include checkt of de pagina bestaat (if (file_exists($content))), hij denkt dat de pagina niet bestaat. Dit probleem wil ik ook tackelen.
Kortom hoe gebruik ik pagina's met GET en POST variabelen in combinatie met een index.php die de content include, waarbij genoemde problemen zijn getackeld.