Video: Week 8, continued 2024
Om sessies te gebruiken, moet u de session_start () -functie op elke pagina die sessies gebruikt oproepen. Dit kan omslachtig zijn, vooral als je sessies aan meerdere PHP-programma's wilt koppelen. U kunt een auto_prepend_file gebruiken om session_start aan te roepen en daarbij hoeft u geen andere bestanden te wijzigen!
In de volgende oefening maakt u twee bestanden: één die het hoofdbestand zal zijn en een ander met een vooraf ingestelde functie om een sessie te starten. Voorafgaand aan het uitvoeren van deze oefening, moet u ervoor zorgen dat. htaccess-bestanden werken of dat u uw Apache-webserverconfiguratie kunt wijzigen.
Zorg ervoor dat u Apache herstart als u de configuratie wijzigt.
In de. htaccess bestand voor uw document root, plaats de volgende code:
php_value auto_prepend_file "prepend. php"
U kunt ook die regel toevoegen binnen de strofe in de Apache-configuratie voor uw webserver voor uw document root. Als uw documentroot bijvoorbeeld "/ var / www" is, kunt u die regel achter de
Open je teksteditor en maak een nieuw leeg bestand aan. Plaats de volgende code in het bestand:
Sla het bestand op als sessie. php in de hoofdmap van uw document.
Open een webbrowser en wijs // localhost / sessie aan. php . Je zou een pagina zoals deze moeten zien.
Minimaliseer de webbrowser en maak een nieuw bestand in uw teksteditor. Plaats in dat bestand de volgende code:
Sla het bestand op als prepend. php in de hoofdmap van uw document.
Laad de sessie opnieuw in de webbrowser. php-bestand of ga naar // localhost / sessie. php om de sessie te bekijken. php-bestand dat u eerder hebt gemaakt. Je zou nu een pagina zoals deze moeten zien.
Als u een blanco pagina of een foutmelding ontvangt via de browser, is het voorbestaande bestand niet gevonden. Controleer de eenvoudige dingen, zoals spelling van het bestand (prepend. Php). Controleer ook of het bestand dat u hebt aangeroepen met de richtlijn auto_prepend_file is waar het moet zijn, in de hoofdmap van het document als dat is hoe uw webserver is geconfigureerd.
Als u een pagina ontvangt die nog zegt "Sessie is nog niet gestart", bestaat de kans dat Apache uw richtlijn auto_prepend_file helemaal niet ziet. Als je het in een hebt geplaatst. htaccess bestand in uw document root, moet u ervoor zorgen dat Apache de. htaccess-bestand. Lees verder of neem contact op met uw hostingprovider om te zien of.htaccess-bestanden zijn toegestaan.
Sommige webserverconfiguraties staan dit niet toe. htaccess-bestanden. U kunt Apache opnieuw configureren om ze toe te staan door de AllowOverride-instructie te wijzigen in Alle voor de map waaruit u de. htaccess-bestand (in dit geval de hoofdmap van uw document). De richtlijn zou er als volgt uit moeten zien:
AllowOverride All
Voorbereide bestanden kunnen ongelofelijke helpers zijn, maar ze kunnen soms ook verwarring veroorzaken. Als u bijvoorbeeld niet zeker weet waarom een programma iets doet, kan een automatisch vooraf geplaatst bestand soms aan die verwarring toevoegen omdat het zoveel andere bestanden en functies laadt, waardoor er voldoende ruimte is voor fouten.
Bovendien moet elk verzoek dat automatisch vooraf aangemaakte bestand nu gebruiken, wat prestatieproblemen kan veroorzaken als u te veel vereiste en inbegrepen bestanden uit dat voorafbestaande bestand koppelt. Dat gezegd hebbende, wegen de voordelen meestal zwaarder dan de nadelen van voorbestemde bestanden.