Hallo wie kan mij een beetje op weg helpen met het opslaan van een webpagina doormiddel van php? (leek)

Deze pagina van mij **knip** wil ik op kunnen slaan.
Dat is gedeeltelijk wel gelukt doormiddel van dit scrip;
<?php
$html = file_get_contents('http://www.example.org/phptest/keurrapport.html';);
$pdfHtml = 'pdfFile.html';
file_put_contents($pdfHtml, $html);
if (file_exists($pdfHtml)){
echo "Success : klaar";
} else {
echo "mislukt:";
}
?>

Dit script maakt een copy van de pagina maar niet van wat ik ingevuld heb op de webpagina.
En dat is het probleem, ik zou graag willen dat de ingevulde gegevens ook worden gekopieerd.
Ik weet alleen niet of dit mogelijk is.
Dit script zal toch niet opslaan wat jij hebt ingevuld. Jij ziet een kopie in jouw browser, en die ga je helemaal in zitten vullen. PHP haalt een verse kopie op (dus zonder jouw gegevens), en slaat dus sowieso een leeg formulier op (net zoals wanneer je buurman deze pagina op zou halen; die ziet ook niet wat jij ingevuld hebt).

Kun je niet gewoon vanuit je browser 'printen als PDF' of zoiets?
Dat klopt, want dat is door de gebruiker ingevuld, en staat dus niet ergens opgeslagen.
Je zult de gegevens dan in een database moeten opslaan, of iets anders moeten verzinnen.

Als je een PDF wilt genereren, dan kan je toch de ingevoerde gegevens van dat keur-rapport in PDF-omzetten vanaf diezelfde pagina. Dan is die hele kopieer-actie niet meer nodig.
dat klopt wat je zegt maar dat schrijf ik zelf toch dat is nou net het probleem.
Het script kopieert alleen de broncode.
Daarom moet je die ingevoerde gegevens ergens opslaan, of gewoon heel simpel direct vanuit je rapport de boel naar PDF-printen. Of je nu een PDF-script gebruikt, of de PDF-printer-driver op je computer, dat is aan jouw.
Rens bertel op 22/09/2017 13:42:42

dat klopt wat je zegt maar dat schrijf ik zelf toch dat is nou net het probleem.
Het script kopieert alleen de broncode.

en omzetten aar pdf gaat vrij makkelijk met chroom, maar dat is niet de bedoeling
Je wilt het dus automatiseren?

Dan zul je naar FPDF of TCPDF moeten kijken. Daarmee kan je zelf PDF's genereren met PHP. Je zult dan wel eerst je formulier moeten versturen, waarna je per element kijkt of die ingevuld is. En dan je HTML-code naar FPDF of TCPDF moeten schrijven.
Alleen ik vul een rapport in dus gebruikers zijn er niet. uiteindelijk is het de bedoeling dat elk rapport wat gemaakt is opgeslagen wordt in een database of als webpagina. die vervolgens weer te benaderen is door een klant die uiteraard niets mag kunnen veranderen aan het rapport wat klaar is.
Maar misschien is dat allemaal niet mogelijk, ik wet het niet. ik was blij met het eerste stapje dat ik een copy op de server aanmaak doormiddel van die php, weliswaar zonder de ingevulde gegevens.

[size=xsmall]Toevoeging op 22/09/2017 14:12:29:[/size]

Ik zat te denken aan printscreen doormiddel van php maar ik weet niet of dat iets is
Dan is het zeker de zaak om alles in de database op te slaan, maar gezien de omvang van de gegevens gaat de opbouw zeker niet over één nacht ijs. Uiteindelijk wordt het dan een heel CRM-systeem.

- als eerste zul je een klanten-systeem moeten aanleggen, want je wilt de werkbonnen per klant archiveren.
- Je zult een gebruikerssysteem moeten maken, want wat als je straks iemand in dienst neemt. Een rechtensysteem lijkt mij ook erg handig, want niet iedereen mag hetzelfde doen. Zo zou de hoofd-eigenaar en de boekhouder bijv. weer enkel rechten moeten hebben op de financiele transacties en de inkomsten en uitgaven.
- Je zult de werkzaamheden die uitgevoerd worden apart moeten opslaan, want werkzaamheden veranderen op den duur door veranderende eisen.
- De werkzaamheden per bon moet je apart opslaan.
- Werkbonnen die afgehandeld en betaald zijn mogen niet meer aangepast worden.

Zomaar wat dingen die van belang zijn. Je kan het zelf (laten) maken, maar misschien zijn er in de onderhoudsbranche waarin je werkt ook al kant-en-klare oplossingen.

Een print-screen met PHP kan niet. PHP is server-side, en die kan niet bij de cliënt iets van het scherm opslaan.
Hiermee gaat het maar dan heb ik niet de gehele pagina

<?php
//website url
$siteURL = "http://www.codexworld.com/";

//call Google PageSpeed Insights API
$googlePagespeedData = file_get_contents("https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=$siteURL&screenshot=true");

//decode json data
$googlePagespeedData = json_decode($googlePagespeedData, true);

//screenshot data
$screenshot = $googlePagespeedData['screenshot']['data'];
$screenshot = str_replace(array('_','-'),array('/','+'),$screenshot); 

//display screenshot image
echo "<img src=\"data:image/jpeg;base64,".$screenshot."\" />";
?>

Als je geen beveiliging inbouwt dan zal iedereen zo een rapport kunnen invullen en opslaan. Dat zou ik persoonlijk maar liever voorkomen.

Dan is het hoogst ongebruikelijk om html pagina's (die toch statisch zijn) te gaan kopiëren. Het opslaan van de GEGEVENS in de database is wel een goed idee. Voor de klant kun je gewoon het rapport tonen zonder formulier velden.

Het lijkt mij overigens een klus voor een PHP developer. Jij bent namelijk met uiterst serieuze zaken bezig: het keuren van hijskranen. Hieraan zitten mogelijk juridische consequenties in geval er geschillen zijn met jouw klanten. Een degelijke database waarin de gegevens geordend en veilig opgeslagen worden en beveiligd worden lijkt mij een must. Rapporten zouden na goedkeuring direct naar de klant gemaild kunnen worden.

Mijn advies zou zijn om een ervaren developer in de arm te nemen. Dit zal tevens goedkoper zijn dan jouw uren die je kwijt gaat zijn om een slechte oplossing te maken :-)

Reageren