14. juli 2012 - 21:12Der er
16 kommentarer og 1 løsning
Formularer og diverse browswsere
Jeg sender mit spørgsmål i denne kategori, men i virkelighedener det måske mere generelt. Jeg betjener et lille firma, der modtager ordrer via formularer, som nu er programmeret i PHP (og det er jeg meget tilfreds med). Tidligere formularer virkede via en CGI-fil på serveren og en kort overgang Front Page autoformularer (De duede ikke til over 40 varenumre). Vi har nu en del kunder, der ikke får deres bestillinger igennem, fordi de ikke får den nyeste PHP-formular fra serveren, men via en tidligere gemt genvej en tidligere version end den aktuelle. Vi har været udsat for en bestilling via en gammel .htm-side (Front-Page formular), som ikke mere findes på serveren. Jeg mener grunden er, at kundernes browsere ikke opdaterer siderne og i stedet gemmer gamle genveje som cookies. I princippet er det jo ikke kundernes fejl, men hvordan sikrer vi, at browseren altid viser den seneste version af en formular?
Kære olebole Du har hjulpet mig før og dit forslag til header lyder også rigtig fornuftigt. jeg forstår bare ikke 2. linie Expires. . . . . Alle formularerne har jo fået nyt navn, ihvertfald efternavn .php, burde det ikke være nok? Af forskellige grunde kan jeg ikke sådan lige ændre navnene på filerne.
Hvis filerne har fået ny extension (php), vil ingen brugere længere risikere at få en gammel fil at se. Du er med andre ord nu fri for de problemer =)
For at forhindre, det samme sker næste gang, du laver en ny version af formularen, kan du bruge de to viste headers. Den, du spørger til, postulerer, at filen er lavet en gang før 26. juli 1997 - og at browseren efter denne dato skal hente en ny version. Filversionen udløber med andre ord på det angivne tidspunkt. Håber, det hjalp =)
Det mente jeg heller ikke før den før nævnte .htm (-FrontPage *!#&) fil dukkede op. Jeg er jo godt klar over, at det er et overgangsfænomen, vi slås med i øjeblikket. Men jeg vil meget gerne undgå flere "gamle" formularer. De nævnte headers vil forhindre flere af den slags fejl for fremtiden, og det er jo også fint, da de sidste ændringer ud i fremtiden jo ikke er lavet endnu ;-).
Jeg har aldrig selv været ude for, at en fil, der ligefrem er fjernet fra serveren, er dukket op i en brugers cache. Under alle omstændigheder var det i den fjernede fil, du i sin tid skulle have sat nogle headers, for at undgå den nu. Det er desværre for sent nu :o|
Ja, som bekendt er det lettest at være bagklog, men jeg vil alligevel sætte de nævnte headers ind i alle mine formularer, så fremtidige opdateringer går igennem straks uanset kundernes gemte genveje. I øvrigt mener jeg, der bør forskes mere i browseres virkemåder overfor brugerne. Tak for hjælpen /Asky
Skulle lige afprøve, inden jeg satte den ind flere steder og fik følgende advarsel:
Warning: Cannot modify header information - headers already sent by (output started at /home/sv_askydk/bogplast.php:10) in /home/sv_askydk/bogplast.php on line 12
Warning: Cannot modify header information - headers already sent by (output started at /home/sv_askydk/bogplast.php:10) in /home/sv_askydk/bogplast.php on line 13
De nævnte linier er der, hvor jeg har sat headerne ind.
En HTTP-header har intet med HTML-elementet HEAD at gøre. Et dokument består af en header og en body. I body'en står al dokumentets indhold - hvilket er hele HTML-dokumentet, incl. HEAD og BODY elemnterne. I headeren står alle metainformationer om dokumentet, så f.eks. browseren ved, hvad den skal gøre me dokumentet.
Dokumentets head-del skal være helt afsluttet, inden body'en sendes. Har du sendt så meget som et blanktegn eller linjeskift, er du begyndt på body'en, og så er det for sent at sende headerinformationer.
Det kan være lidt uoverskueligt, til man lige fanger idéen. Under alle omstændigheder må der intet være skrevet ud, før en HTTP-header sættes. Ellers får du omtalte fejl
Ok forstået :-) Ved at søge på nettet på no-cache fik jeg ideer til at sætte de samme meddelelser ind som META i Head-delen af HTML-en. Det ser således ud:
Nu har jeg no-casche stående begge steder både i html-head og i php header, og jeg får ikke flere fejlmeddelelser. Så går jeg både med livrem og seler. Så må vi håbe browserne kan fatte det! -også MAC
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.