Door
Paul Weiss
op 05-01-2022 13:06
gewijzigd op 07-01-2022 22:46
5.760 views
Hallo. Ben lekker bezig met php. Ik heb een html formulier waarbij de ingevoerde waarde wordt doorgestuurd naar en php-bestand die deze weer schrijft in een extern html bestand (test.html). het werkt allemaal prima, dankzij ook hulp van dit forum. Echter ik zoek een manier hoe ik de content van test.html weer opnieuw kan inlezen en in een formulier kan importeren en deze dan kan aanpassen en dan tegelijk ook weer opnieuw kan opslaan in test.html.
Ik ben al even bezig, maat ik kan niet echt vinden hie ik dit voor elkaar kan krijgen. Hopelijk dat iemand van jullie hier kennis van heeft. bij voorbaat dank.
Onderstaand het formulier dat in een bestand staat.
Ik sta zeker wel open om alles toch via een database te regelen. geen probleem. Maar dan schrijf je toch uiteindelijk ook alles in een file weg via write? Of niet? Heb je dan meer info hoe ik dit kan realiseren? Bronnen? alvast bedankt,
[size=xsmall]Toevoeging op 07/01/2022 15:28:06:[/size]
Ik ben er zeker van bewust dat een kwaadwillende onzin in de form kan plaatsen. Dat is ook niet de bedoeling. Ik wil er dan ook voor kiezen om de inhoud van de form in de database te schrijven. Vervolgens kan ik dan de content uit de database terughalen en in een file schrijven via de write functie. Ik kan er dan ook voor kiezen dat de write functie pas wordt geladen nadat je met succes bent ingelogd. Is dat een manier om te doen? Zo ja vraag ik mij af of er een manier is via de if statement ook te controleren of er verbinding is gemaakt via de database. Ik heb bijv. onderstaande code, alleen die controleert alleen of deze niet is gelukt, Wat ik kan zou willen is iets van "if connection succesful of zoiets daarin dan de form te plaatsen? Is dat een veilige manier?
[size=xsmall]Toevoeging op 07/01/2022 15:45:11:[/size]
Ik heb trouwens ook al een database in gebruik. Deze database gebruik ik om de keuzes van gekozen elementen op te slaan. daarna wordt de database weer ingeladen en worden de rijen in de website stuk voor stuk opgebouwd waarin uiteindelijk het desbetreffende element verschijnt. Maar wellicht dat ik hierover beter een ander topic kan starten.
[size=xsmall]Toevoeging op 07/01/2022 16:01:15:[/size]
Is de write to file functie dan wel veilig te gebruiken ook wanneer je inhoudt in de file schrijft die eerst uit de database is gehaald? Zijn er dingen waar ik rekening moet houden bij gebruik van de write functie?
Dit is slechts een voorbeeldje. Het voorbeeldje zelf is verder niet zo interessant. Het gaat om de gedachtegang die erachter zit. Je gaat dus geen bestanden meer aanpassen, maar je haalt gegevens op uit de database en die verwerk je in de bestanden. De bestanden eindigen dan ook niet meer op .html maar op .php
Bedankt. helder. dat met de echo in de html code had ik nog niet aan gedacht.
Maar uiteindelijk krijg ik dus een index.php pagina waarin dus html staat met php erin.
maar hoe kan ik dan uiteindelijk ervoor zorgen dat ik een html pagina krijg? dus index.html
Maar uiteindelijk moet je toch een pagina krijgen met .html extensie?
anders kunnen ze ook niet worden geindexeerd door de zoekmachines.
[size=xsmall]Toevoeging op 07/01/2022 21:04:27:[/size]
Ik zal even wat toelichten. bedoeling is dat ik de site via csm maak voor de klant op mijn eigen server. Rden hiervoor is zoals ik al eerder had aangegeven. Is er dan een manier om bijv. index.php om te zetten naar index.html (de index.html wil ik dan via ftp bij de hosting van de klant installeren).
Een .html-extentie is echt niet verplicht. Dit topic heeft ook geen .html extentie in de URL staan. Google kan het misschien sneller oppikken, maar volgens mij is daar allang geen sprake meer van. Google heeft dit topic inmiddels ook geïndexeerd.
En sites die wel .html gebruiken, zoals bijv. nu.nl die maken echt niet per item een nieuwe pagina aan. In veel gevallen gebruiken zij mod-rewrite om de URL te herschrijven.
Over de routes waar Ozzie het over had...
Ikzelf gebruik deze techniek die Thomas daar beschrijft. Het maakt een voordeurtje in index.php aan die alle bezoeken opvangt en naar de juiste scripts toe leidt. Waar je vaak GET gebruikt in de URL (www.site.nl/nieuws.php?id=123) is dat in dit voorbeeld $path. (www.site.nl/nieuws/123). Maar dan mis je nog de slug die de inhoud van de website in de URL beschrijft.
Uiteindelijk weet mijn site bij het oproepen ervan de titel (komt uit de database), en via een Slug-class / -functie en een location-header in PHP, stuur ik de aanroep naar de site opnieuw door naar een ge'slug'te URL met .html erin: www.site.nl/nieuws/123/php-is-een-mooie-programmeertaal.html. Overal op de website gebruik ik dan die class/functie zodat alle verwijzingen naar zo een volledige URL linken.
Het is een flink verhaal, en mogelijk een steile leercurve, maar wel een mooi begin als je een website wilt bouwen.
Ik kan ook een heel verhaal vertellen over template-parsers om HTML/CSS en PHP te scheiden. Maar ik denk dat dit nu wel even genoeg is... ;-)?
Bedankt voor de uitleg. Deze materie is echter voor mij als php/cms beginneling nog even te hoog gegrepen. Ik wil even simpel beginnen.
Is er dan een manier op .php pagina om te zetten naar html. dus stel de php pagina ziet er als volgt uit:
<h1><?php echo $content1; ?></h1>
Hierbij bevat $content1 de volgende waarde "hallo"
de html pagina moet dan uiteraard komen<h1>hallo</h1>
Of je .php of .html gebruikt maakt voor de bezoeker of de browser niks uit.
Maar één ding is belangrijk: Standaard worden PHP-scripts in een .html-bestand nooit door PHP gehaald om de code uit te voeren.
Je kan alles wat een .php-extentie heeft herschrijven met deze code in .htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?)\.html$ /$1.php [R=301,L]
Die laatste code met de 301 geeft bij .php bestanden standaard een 301-header mee. Dit houdt in dat Google en zijn vrienden weten dat er wordt doorgestuurd naar de .html variant die leidend is voor indexering in de zoekindex.
Ik begrijpt het allemaal. echter stel dat als in de pagina.php het volgende staat:
Dan moet er toch een databse (waarop moet worden ingelogd) komen die de content van $content uiteindelijk toont? sorry dat ik dit allemaal vraag. Maar ik ben pas 1 week bezig met php en cms.
Als ik nu de pagina.php op de server van de klant installeer waar haalt de php pagina dan de waarde van $content vandaag? hoe werkt dat sowieso met een cms systeem? Er wordt immers niet ingelogd wanneer de website worden geladen!