skriv ut »

WDS medlem SMS inloggning WDS CD

Formmail - färdiga mallar

Mallar som använder funktionen MAIL för att skicka formulärdata till en epostadress. Formulären kontrolleras med validering av att formulärfälten är ifyllda och validering av epostadresser sker med PREG_MATCH och REGEXP. Exemplen innehåller även HTTP_REFERER som en kontroll av att Formmail skickas från just ditt formulär och för att kunna använda citationstecken och backslash som tecken i formulärfälten används GET_MAGIC_QUOTES_GPC tillsammans med STRIPSLASHES.

Loggfiler sparar informationen som skickats med formuläret, datum, tid och IP-nummer. Samma information sparas i två loggfiler:

OBS! Alla funktioner förklaras i guiden Formmail - skicka formulär till epost » och du bör gå igenom den guiden INNAN du börjar använda mallarna och exemplen nedan.

 

Förutsättningar för att använda mallarna

För att du ska kunna följa denna guide förutsätter vi att du har grundkunskaper i PHP motsvarande guiden PHP grunder » och PHP fortsättning » . Alla funktioner förklaras i guiden Formmail - skicka formulär till epost » och du bör gå igenom den guiden INNAN du börjar använda mallarna och exemplen nedan!

OBS! Om du inte konfigurerat och använder din egen dator som webbserver med mailfunktionerna aktiverade kan du inte testa dina PHP-sidor lokalt. Du måste publicera och testa filerna online på din webbserver med PHP-stöd när du använder exemplen i denna guide.

För att mailfunktionerna i PHP ska fungera måste din webbserver ha tillgång till ett mailprogram som tex Sendmail, Qmail eller Postfix. Kolla din PHP-info (se guiden phpinfo » ) om din webbserver online (inte den lokala webbservern) har sökvägen (Path) angiven till sendmail:

 

Exempel 1:
Formulär med validering i egen sida

TIPS! Formulärinnehållet skickas inte någonstans. Du kan prova att skicka meddelandet flera gånger och testa gärna att utelämna information i vissa fält. Prova att ange en ogiltig epostadress för att testa om Formmail kontrollerar att fälten verkligen är ifyllda och att en korrekt e-postadress används.

Formulär och formmail med validering med PREG_MATCH och REGEXP och HTTP_REFERER som kontrollerar att Formmail-scriptet anropas från just ditt formulär. För användning av citationstecken och backslash i formulärfälten används GET_MAGIC_QUOTES_GPC och STRIPSLASHES. När formuläret skickats visas en bekräftelse.

Formuläret och bekräftelsen använder FIELDSET för att gruppera formulärkontroller och LEGEND för att ge formuläret en rubrik. Läs mer om formulär i guiden Formulär - forms »

Exemplet använder filerna kontaktform.php som innehåller formuläret och formmail.php som bearbetar formulärets innehåll.

Klicka här för att prova Exempel 1 »

Valideringen använder felmeddelanden visas enligt exemplet nedan:

Bekräftelsen när formuläret skickats visas enligt exemplet nedan:

När meddelandet öppnas i epost-klienten kan det se ut som i exemplet nedan från Outlook Express. Notera även hur du kan lägga till variabler som datum, tid och IP-nummer:

 

Exempel 2:
Formulär med validering i "varnings-ruta"

TIPS! Formulärinnehållet skickas inte någonstans. Du kan prova att skicka meddelandet flera gånger och testa gärna att utelämna information i vissa fält. Prova att ange en ogiltig epostadress för att testa om Formmail kontrollerar att fälten verkligen är ifyllda och att en korrekt e-postadress används.

Formulär och formmail med validering med PREG_MATCH och REGEXP och HTTP_REFERER som kontrollerar att Formmail-scriptet anropas från just ditt formulär. För användning av citationstecken och backslash i formulärfälten används GET_MAGIC_QUOTES_GPC och STRIPSLASHES. När formuläret skickats visas en bekräftelsesida.

Formuläret och bekräftelsen använder FIELDSET för att gruppera formulärkontroller och LEGEND för att ge formuläret en rubrik. Läs mer om formulär i guiden Formulär - forms »

Exemplet använder filerna kontaktform.php som innehåller formuläret och formmail.php som bearbetar formulärets innehåll.

Klicka här för att prova Exempel 2 »

Valideringen använder "alert-meddelanden" som visas direkt över formulärsidan:

Bekräftelsen när formuläret skickats visas enligt exemplet nedan:

När meddelandet öppnas i epost-klienten kan det se ut som i exemplet nedan från Outlook Express. Notera även hur du kan lägga till variabler som datum, tid och IP-nummer:

TIPS! Du kan skydda ditt formulär mot spamrobotar genom att använda en "captcha" - läs mer i guiden Formmail med CAPTCHA »

 

Loggfilerna

De två loggfilerna som sparar informationen som skickats med formuläret skapas i samma mapp som formmail-filerna. Loggfilerna skapas automatiskt och du kan radera textfilerna vid behov.

Här är koden som skapar och skriver informationen till loggfilen:

########################################
// EXTRA: sparar information i loggfil
//------------------------------------------
// LOGGFIL 1 - visar meddelande och avsändare över flera rader

$ip = $_SERVER['REMOTE_ADDR'];
$datum = date('Y-m-d');
$time_local = date('H:i:s');
$loggfil = fopen('
logg.txt', 'a+');
if ($loggfil) {
fwrite($loggfil,
"
".$fnamn." ".$enamn."
".$email."
".$datum."
".$time_local."
".$ip."".$meddelande."
----------------------------------------------------------------------------------------
"
);
fclose($loggfil);
}

//------------------------------------------
// LOGGFIL 2 - radvis separerad med filtertecknet: |

$ip = $_SERVER['REMOTE_ADDR'];
$datum = date('Y-m-d');
$time_local = date('H:i:s');
$loggfil = fopen('
logg_database.txt', 'a+');
if ($loggfil) {

// tar bord radbrytningar från meddelandet
$meddelande = str_replace('\n', ' ', $meddelande);
$meddelande = str_replace('\r', ' ', $meddelande);
$meddelande = str_replace(chr(13), ' ', $meddelande);
$meddelande = str_replace(chr(10), ' ', $meddelande);

fwrite($loggfil, "".$name.";".$email.";".$datum.";".$time_local.";".$ip.";".$meddelande."\r\n");


fclose($loggfil);
}

########################################

Om importen till din databas behöver andra avgränsare än semikolon ";" kan du byta ut detta mot kommatecken eller annan avgränsare.

 

Installationsanvisning och ZIP-filer

Klicka på ikonen högst upp » i denna guide för att läsa hela guiden och hämta ZIP-filen.

 

WDS kund? Klicka på bilden högst upp i guiden! ... (guiden omfattar 15 sidor)

WDS medlem och WDS CD kan du beställa här »

Är du redan WDS kund? Klicka på ikonen högst upp för att läsa hela guiden!