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.


<form action="post-method.php" method="post">
 

<textarea rows = "30" cols = "150" name = "mytext">
          
         </textarea>
 
 <input type="submit" name="submit" /> </form> 


Onderstaand het php bestand. de server gegevens heb ik even weggehaald

<?php
$username = "dbtest";
$password = "geheim";
$dbname = "dbs00001111";

$conn = new mysqli($servername, $username, $password, $dbname); // Create connection
if ($conn->connect_error) {     // Check connection
    die("Connection failed: " . $conn->connect_error);
} 

$myfile2= "test.html"; // or .php   
$string2 = file_get_contents($myfile2);

$replace2 = $_REQUEST['mytext'];

$content2 = preg_replace('#(<p[^>]*>).*?(</p>)#', '$1'.$replace2.'$2', $string2);
file_put_contents($myfile2, $content2);

echo $content2;

echo $mytext;

?>
Bij een CMS wordt de content vaak uit de database gehaald.
Het inloggen in de database gebeurt gewoon op de achtergrond. Daar heeft de gebruiker niks mee te maken.

Zo wordt bijv. dit vaak gebruikt:
[php]mysqli_connect[/php]

Als er er geen database gebruikt wordt, dan moeten die variabelen van te voren ergens gedefinieerd worden.
echt bedankt voor je snelle reactie. maar zoals aangegeven is dit allemaal op dit moment te ver gegrepen voor mij. Wil daar zeker op de termijn wel meer in verdiepen. maar kan ik nadat ik ben ingelogd en de php pagina wordt opgemaakt op dat moment daarvan een html versie van opslaan waarin dus dan bijvoorbeeld komt te staan:

<h1>hallo</h1>

zoals ik namelijk aangaf wil ik op dit moment nog geen database installeren op de server van de toekomstige klant. In het begin wil ik het even simpel houden. vandaar.

Alvast bedankt voor het meedenken.
Ik denk dat je gewoon eerst voorzichtig met PHP moet kennismaken.
Probeer eerst maar te begrijpen hoe de basis in elkaar steekt, zoals GET (data in de URL), POST (data vaak via een formulier), functies, statements, loopjes en array's. Dan vind je vanzelf wel de weg naar databases die je vragen uit dit topic wel zullen beantwoorden. :-)

Nooit teveel hooi op je vork nemen! ;-)
Ik raad ook aan om in een beginnersstadium geen opdrachten voor klanten aan te nemen. Veiligheid is immers van belang. Ook daar moet je in doorgroeien. Het zou zonde zijn als je een lek creëert die persoonlijke gegevens blootlegt. Dan mag je klant zich misschien wel tegenover het Autoriteit Persoonsgegevens een melding doen.
snap ik daarom wil ik de klant een statische website aanleveren en niet met een database werken. maar de site wil ik zelf via cms in elkaar zetten. dus rijen bouwen met onderdelen. dat maakt het voor mij makkelijk namelijk. Dat laatste ben ik nu mee bezig en gaat goed. Ik wil echter de .html pagina bij de klant installeren.
Ook dat kan veiligheidsproblemen met zich meedragen:
- Hoe ga je de beheeromgeving beveiligen?
- Hoe ga je de inlogaccountnamen en wachtwoorden (veilig) opslaan?
- Hoe voorkom je dat het systeem of de site niet om zeep geholpen wordt door een foutje van de klant?
- Hoe probeer je te voorkomen dat onbevoegden misbruik kunnen maken?

Mijn advies: Ga eerst lekker doorgroeien. Dan zal je merken dat databases onmisbaar zijn, en hoe de veiligheid in elkaar steekt. Met stevig doorwerken kan je volgende maand wel een simpel CMS'je met database bouwen.
Ik begrijp het helemaal. Maar als ik laat zien hoe ik op dit moment te werk wil gaan zul je veel begrijpen.

1. Klant logt niet in op de database
2. het opbouwen van de rijen van de pagina gebeurd zonder database (heel onschuldig en niet fraudegevoelig aangezien er geen gegevens worden gevuld via database) en mocht er iets gebeuren dan is het zo verholpen.
3. Ik begrijp wel dat er beveiliging moet worden aangebracht aan mijn kant op de server op het moment dat ik content ga vullen. Maar uiteindelijk krijgt de klant dus een site die veilig is (is namelijk statisch en is dus zonder database)


[size=xsmall]Toevoeging op 07/01/2022 23:12:34:[/size]

Bovendien maak ik nog niets voor een klant. Ik heb alles wel gebouwd, maar ben nu dus bezig hoe ik het de klant kan aanbieden. gaat nog wel even duren ook. en in de tussentijd leer ik bij.

Maar zoals ik verneem is er geen manier om een php pagina die wordt gevuld met content uit de database om te zetten naar een .html pagina.
Laten we even iets recht zetten:

Klanten zou den infeite nooit mogen inloggen op de database, zoals die van MySQL, MariaDB, SQL-lite, PostgreSQL of wat dan ook. Dat moet het script doen met een connectie-functie. Klanten hebben bij een normaal CMS de toegang via een beheerpaneel. Een gemiddelde klant heeft geen behoefte aan databasetabellen en queries. Enkel aan mooie invulvelden en formulieronderdelen.

In neem aan dat in jouw geval dat jij uiteindelijk via een PHP-configuratiebestand de inhoud van de site wilt aanpassen. Dat is in PHP geen enkel probleem door variabelen aan te maken in een centraal bestand, en die op te roepen op de pagina's die je maar gebruikt.

En ja, je kan het omzetten naar .html. Maar wat wil je ermee bereiken tegenover dat de uitvoer praktisch hetzelfde is als in .php?

Probeer beiden maar:

contact.html (in het kort)

<h1>Welkom</h1>
<p>Welkom op mijn website.</p>


contact.php

<?php
$title = "Welkom";
$introduction = "Welkom op mijn website.";
?>
<h1><?php echo $title; ?></h1>
<p><?php echo $introduction; ?></p>


Geeft beiden precies dezelfde uitvoer.
>> Maar zoals ik verneem is er geen manier om een php pagina die wordt gevuld met content uit de database om te zetten naar een .html pagina.

Dit is helemaal niet relevant. Voor je eigen bestwil. Als je echt sites voor klanten wil gaan maken, heb je een bepaald (basis)begrip nodig van html, css, php en databases. Ik zou eerst zorgen dat je je die basis leert toeëigenen. Je probeert nu als ik je goed begrijp voor klanten een auto in elkaar te zetten, terwijl je nog nooit aan een auto hebt gesleuteld, althans niet op de juiste manier. Programmeren, en alles wat daarbij komt kijken, is een vak. Wat gebeurt er als iemand via een formulier de website van jouw klant wist? Of misschien wel vervangt door porno? Zal je klant leuk vinden (maar diens vrouw wellicht wat minder). Een beetje luchtigheid tussendoor ;-) Maar zonder gekheid, aan de vragen die je stelt leid ik (en ook Ariën) af dat je basiskennis mist. Daar zou ik eerst eens aan gaan werken. Je zult ons er later dankbaar voor zijn.

[size=xsmall]Toevoeging op 08/01/2022 01:01:29:[/size]

PS

In het 2e codeblok van Ariën ontbreekt ; aan het eind van de regel.

Moet zijn:

$introduction = "Welkom op mijn website.";

Reageren