webForumDet fria alternativet
Logga in / Bli medlem

checkbox i formmail.php?

PHP

1 svar · 637 visningar · startad av xfe

Medlem sedan maj 20071 inlägg
Trådstart#1

Hoppas verkligen att det finns någon som kan hjälpa mig med detta! Vi har precis bytt webhotell och jag har ett formulär (http://www.attentionmedia.se/2007ce/fyris/intresse.html) som jag nu ska använda formmail på.

Jag är ny på PHP och har använt webhotellets förinställda mailform.php enligt nedan. Men det fattas välidigt mycket för att det ska bli som länken ovan. (index.htm är exempel från webhotellet)

index.htm
<html>
<head>
<title>Formmail exempel</title>
</head>
<body>
<form action="formmail.php" method="POST">
<label for="navn">Namn</label><input type="text" name="navn"><br>
<label for="emne">Ämne</label><input type="text" name="emne"><br>
<label for="emailadresse">Din emailadress</label><input type="text" name="emailadresse"><br>
<label for="besked">Besked</label><textarea name="besked"></textarea><br>
<input type="submit" value="Submit">
</form>
</body>
</html>

formmail.php
<?php

// Surftown formmail

// ange mottagare av formmailen
// flera mottagare kan läggas till som
// $modtagere[1] = "adress@domain.se"
// $modtagere[2] = "adress2@domain.se"
// osv.
$modtagere[0] = "";
//$modtagere[1] = "";

// success og felsidor
$succes = "success.htm";
$fejl = "error.htm";

// standard textbox är
// namn
// emailadress
// ämne
// besked

// dessa ska vara "name" på de olika textboxarna på html-sidan
// t.ex. <input type="text" name="navn"></input>

// gör en lista över mottagare
$mail_modtagere = implode(",", $modtagere);

// klargör parameter
$navn = sanitize($_POST['navn']);
$emailadresse = "From: " . sanitize($_POST['emailadresse']);
$emne = "Besked fra " . $navn . ": " . sanitize($_POST['emne']);
$besked = $_POST['besked'];

// send mail
$mail_status = mail($mail_modtagere, $emne, $besked, $emailadresse);

if ($mail_status) {
header("Location: " . $succes);
} else {
header("Location: " . $fejl);
}

function sanitize($data) {
$safe_data = $data;

if ($pos = strpos($safe_data, "\n")) {
$safe_data = substr($safe_data, 0, $pos-1);
}
if ($pos = strpos($safe_data, "\r")) {
$safe_data = substr($safe_data, 0, $pos-1);
}
return $safe_data;
}
?>

Snälla hjälp!

Medlem sedan juni 20006 031 inlägg
#2

Otestad kod formmail.php

<?php

// ändra mailadresserna, jag ville inte visa vilka adresser
// ni skickar formuläret till här. ;)
$modtagere[0] = "*****@fyriskontor.se";
$modtagere[1] = "*****@attentionmedia.se";

// Ändra sidorna nedan om dom heter något annat
$succes = "http://www.attentionmedia.se/2007ce/fyris/tack.html";
$fejl = "error.htm";

// gör en lista över mottagare
$mail_modtagere = implode(",", $modtagere);

// klargör parameter
$foretag = sanitize($_POST['foretag']);
$kontaktperson = sanitize($_POST['kontaktperson']);
$adress = sanitize($_POST['adress']);
$postnr = sanitize($_POST['postnr']);
$stad = sanitize($_POST['stad']);
$telefonnr = sanitize($_POST['telefonnr']);
$fax = sanitize($_POST['fax']);

// Kolla checkboxarna
if (!isset($_POST['cd5'])) {
   $info[0] = "cd5";
}
if (!isset($_POST['cd1'])) {
   $info[1] = "cd1";
}
if (!isset($_POST['dvd5'])) {
   $info[2] = "dvd5";
}
if (!isset($_POST['dvd1'])) {
   $info[3] = "dvd1";
}
if (!isset($_POST['ovrigt'])) {
   $info[4] = "ovrigt";
}

$sendinfo = implode(", ", $info)

$emailadresse = "From: " . sanitize($_POST['epost']);
$emne = "Intresseanmälan från " . $foretag;
$besked = "Intresseanmälan!\n\nFöretag: ". $foretag ."\nKontaktperson: ". $kontaktperson ."\nAdress: ". $adress ."\nPostnr: ". $postnr ."\nStad: ". $stad ."\nTelefon: ". $telefonnr ."\nFax: ". $fax ."\n\n". $foretag ." är intresserade av ". $sendinfo;

// send mail
$mail_status = mail($mail_modtagere, $emne, $besked, $emailadresse);

if ($mail_status) {
header("Location: " . $succes);
} else {
header("Location: " . $fejl);
}

function sanitize($data) {
$safe_data = $data;

if ($pos = strpos($safe_data, "\n")) {
$safe_data = substr($safe_data, 0, $pos-1);
}
if ($pos = strpos($safe_data, "\r")) {
$safe_data = substr($safe_data, 0, $pos-1);
}
return $safe_data;
}
?>

Glöm inte att ändra i formuläret

<FORM ACTION="/cgi-bin/formmailer" METHOD="POST">

till

<FORM ACTION="formmail.php" METHOD="POST">
256 ms totalt · 4 externa anrop · v20260731065814-full.c32e866c
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)