07. maj 2026 - 14:15Der er
16 kommentarer og 1 løsning
PHP Html
PHP html Har oprettet et antal sider. man klikker på en billedside og føres derefter til en bestillingsside -formular i i PHP Her bestiller man fx en bog, derefter klikker man tilbage til billedsiden og vælger et nyt billede(bog) og tilbage til bestillingen i php, men nu er den første bestilling slettet. Kan dette problem løses???
Disse sider er skrevet manuelt i html og gemt som php. Der er ingen plug-ins og ingen Wordpress. Den såkaldte bestillingsside(formular) er indrettet med en mail-del der sender en mail (smtp) til firmaet og en til kunden, der udfylder bestillingen. firmaet sender derefter varen og en faktura..
Det er netop problemet med at gemme data mens man klikker tilbage, jeg har prøvet at gemme formularen før jeg klikker tilbage, men dataene er alligevel slettet, når jeg kommer tilbage til formularen. måske er en cookie løsningen. Det har jeg bare ikke arbejdet med før.
Jeg blev selv pensionist, da ASP var noget (Microsofts udgave af en PHP-kopi). Har dog hjulpet en idrætsforening med et site i php via https://www.one.com/da-dk/ - det er rimeligt simpelt.
Dvs, hvis jeg programmerer cookie-koden i toppen at filen bestilling.php bliver filen gemt i browseren som en cookie og de indtastede ting er gemt, når filen genindlæses efter en tur på billedsiden?
PS Jeg valgte php, fordi det er frit tilgængeligt og ikke koster penge - og der er gode råd at hente her i konferencen.
Hvis en side gemmer noget data i en cookie så vil samme side eller en anden side fra samme web site kunne hente data fra cookie hvis den stadig eksisterer.
Nogle cookies gemmes kun i memory og er væk hvis man går ud af browser og ind igen. Andre cookies gemmes et antal dage uanset hvad.
til #7 - ja cookie bliver 'gemt i browseren' - men det er en reference som medsendes ved følgende requests, så hvert enkelt klik hvor der vælges en ny side har fælles reference - de hænger sammen som en session. Det der gemmes, gemmes på serveren. Cookies er, i teorien ikke den eneste måde, men måden der anvendes og dermed det der er bedst omtalt. Denne her ser er god: https://www.youtube.com/watch?v=BUCiSSyIGGU Ved klik på more... under videoen - så fremkommer playlist og cookies er et emne.
Nu har jeg afprøvet et par eksempler: <?php $cookie_name = "bruger"; $cookie_value = "John Doe"; // Udløber om 30 dage (60 sek * 60 min * 24 timer * 30 dage) setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); ?> <html> <body> <?php if(!isset($_COOKIE[$cookie_name])) { echo "Cookien '" . $cookie_name . "' er ikke sat."; } else { echo "Cookien '" . $cookie_name . "' er sat.<br>";
?> </body> </html> Dette eksempel gemte jeg som proeve.php og fik resultatet "Cookien '" . $cookie_name . "' er ikke sat.";
så gemte jeg eksemplet som proeve.html og fik resultatet "Cookien '" . $cookie_name . "' er sat
I min "rigtige" bestillingsfil satte jeg eksemplet ind i toppen af filen DSbetillingf.php
<?php $cookie_name = "bestilling"; $cookie_value = "DSbestillingf.php"; // Udløber om 30 dage (60 sek * 60 min * 24 timer * 30 dage) setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); ?> og i body-delen: <?php if(!isset($_COOKIE[$cookie_name])) { echo "Cookien '" . $cookie_name . "' er ikke sat."; } else { echo "Cookien '" . $cookie_name . "' er sat.<br>"; echo "Værdi er: " . $_COOKIE[$cookie_name]; } ?> Her fik jeg også samme resultat som i øverste eksempel "Cookien '" . $cookie_name . "' er ikke sat."; Der er altså forskel på at gemme som PHP og som HTML
Mit mål er, at det der er tastet ind i -DSbestillingf.php bliver stående selvom jeg klikker væk fra siden og senere vender tilbage.
Måske er min fil for stor til cookie, så jeg er i gang med at afprøve en model med $_session i stedet. Hvis nogen har erfaring med det hører jeg gerne om det.
Det nærmeste jeg er kommet på en løsning er i CSS, ved brug af pilene i venstre øvre hjørne af skærmen, men ved at gå frem og tilbage må man ikke klikke på links undervejs, hvis bestillingssiden skal bevare indtastningerne. Ved forsøg med cookies og sessions og Ajax er jeg uden løsninger.
fetch('hent_https://www.dsforlag.dk/dsf/DSbestillingf.php# bogID01) .then(response => response.text()) .then(data => { document.getElementById('https://www.dsforlag.dk/dsf/DSbestillingf.php#bogID01').innerHTML = data; }); }); </script> koden skulle forhindre, at bestillingssiden opdateres, når der er indtastet tal i felterne
Det viste sig, at jeg slet ikke fik brug for AJAX. Hjælpen kom et helt andet sted fra og blev en løsning fra en anden kant. Mine websider har hele tiden været adskilte sider, og når man linker fra en side til en anden, vil browseren opdatere de side, der linkes til. Det er browserens indbyggede natur. Men hvis man i stedet har billedsamling, bestillingstabel og kundens indtastede oplysninger på samme side og bevæger sig rundt mellem disse med bogmærker (anckors) sker der ingen opdatering undervejs. Derfor kommer flere forskellige bøger på samme bestillingsmail til kunden og til firmaet. Min opgave blev at samle tre sider i èn. ( Det gav dog lidt bøvl, da siderne ikke kørte på samme stylesheet.)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.