Kjapp og trygg hosting for Wordpress

Kontaktskjema

zapotek

Medlem
Er det mulig å lage et kontaktskjema som forteller deg hvilken side brukeren var på før han gikk inn på kontaktskjemaet og sendte en melding?

Eksempel: Du har en side om hunder (feks. hunder.no). Brukeren leser en artikkel om labradorer (hunder.no/labradorer.html), og klikker på kontaktknappen lenger oppe på siden. På kontaktsiden (hunder.no/kontakt.html) skriver han/hun inn beskjeden sin. Nettstedeier får så tilsendt beskjeden og linken brukeren besøkte før han var på kontakt siden (altså:hunder.no/labradorer.html).

Enda bedre, finnes det noen ferdige slike kontaktscript?
 
Det er mulig. Kjenner ikke til ferdigløsninger som har dette, men det er selvsagt mulig å legge til et hvilket som helst argument i en <input type="hidden"> tag og tilpasse PHP-scriptet slik at denne verdien blir lagt til i e-posten som sendes deg.

Hvordan får man denne verdien til kontaktsideskjemaet? Her ser jeg to muligheter: Den enkleste er å bare bruke $_SERVER['http_referer']-verdien i PHP. Ulempen ved dette er at denne løsningen ikke er 100 % sikker og kan inneholde feil verdier, men for de fleste burde denne være sikker nok. Alternativet er at man i menyen endrer linken til kontaktskjemaet slik at når man leser om labradorer fører ikke linken til kontaktskjemaet til kontakt.html, men til labradorer_kontakt.html. Disse sidene er helt identiske og brukeren kan ikke se forskjell på dem bortsett fra URL-en uten å gå inn og titte på koden. I praksis vil du selvsagt ikke lage en egen HTML-side for hvert skjema, men bruke kontakt.php?referer=labradorer.html eller noe slikt. Likevel er dette den løsningen som krever mest jobb.

Den greieste måten å gjøre dette på i praksis, er at i kontaktskjemakoden din, mellom <form> og </form>, legger du til denne taggen et sted:
PHP:
<?php echo '<input name="referer" type="hidden" value="'.htmlentities($_SERVER['HTTP_REFERER']).'" />' ?>

... og i scriptet som behandler kontaktskjemaet finner du variabelen for tekst som skal sendes, og legger den nye variabelen din der. Dersom denne variabelen er $message, kan du for eksempel like før mail() legge til
PHP:
$message .= "\n\n"; // Blank linje
$message .= 'Brukeren kom til kontaktskjemaet fra: '.$_POST['referer'];
 
Topp