Hallå på er.
Jag behöver ett enkelt kontaktformulär i PHP och sprang på detta.
Läste lite om det och det finns inget stöd för raidobuttons vilket vore bra för mig. Finns det möjlighet att få in det i denna kod eller finns det bättre sätt att göra detta på?
Är ute efter något enkelt formulär där besökaren kan fylla i lite fält samt välja bland lite olika alternativ...
Är jag ute och cyklar?
<?php
function clean($data) {
$data = trim(stripslashes(strip_tags($data)));
return $data;
}
$exploits = "/(content-type|bcc:|cc:|document.cookie|onclick|onload|javascript|alert)/i";
$profanity = "/(beastial|bestial|blowjob|clit|cum|cunilingus|cunillingus|cunnilingus|cunt|ejaculate|fag|felatio|fellatio|fuck|fuk|fuks|gangbang|gangbanged|gangbangs|hotsex|jism|jiz|orgasim|orgasims|orgasm|orgasms|phonesex|phuk|phuq|porn|pussies|pussy|spunk|xxx)/i";
$spamwords = "/(viagra|phentermine|tramadol|adipex|advai|alprazolam|ambien|ambian|amoxicillin|antivert|blackjack|backgammon|texas|holdem|poker|carisoprodol|ciara|ciprofloxacin|debt|dating|porn)/i";
$bots = "/(Indy|Blaiz|Java|libwww-perl|Python|OutfoxBot|User-Agent|PycURL|AlphaServer)/i";
if (preg_match($bots, $_SERVER['HTTP_USER_AGENT'])) {
exit("<p>Known spam bots are not allowed.</p>");
}
foreach ($_POST as $key => $val) {
$c[$key] = clean($val);
if (preg_match($exploits, $val)) {
exit("<p>Exploits/malicious scripting attributes aren't allowed.</p>");
} elseif (preg_match($profanity, $val) || preg_match($spamwords, $val)) {
exit("<p>That kind of language is not allowed through our form.</p>");
}
}
$show_form = true;
$error_msg = NULL;
if (isset($c['submit'])) {
if (empty($c['name']) || empty($c['email']) || empty($c['comments'])) {
$error_msg .= "Name, e-mail and comments are required fields. \n";
} elseif (strlen($c['name']) > 15) {
$error_msg .= "The name field is limited at 15 characters. Your first name or nickname will do! \n";
} elseif (!ereg("^[A-Za-z' -]*$", $c['name'])) {
$error_msg .= "The name field must not contain special characters. \n";
} elseif (!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",strtolower($c['email']))) {
$error_msg .= "That is not a valid e-mail address. \n";
}
if ($error_msg == NULL) {
$show_form = false;
if (!empty($c['url']) && !ereg("^(http|https)", $c['url'])) {
$c['url'] = "http://" . $c['url'];
}
$subject = "Automatic Form Email";
$message = "You received this e-mail message through R3: \n\n";
foreach ($c as $key => $val) {
$message .= ucwords($key) . ": $val \n";
}
$message .= "IP: {$_SERVER['REMOTE_ADDR']} \n";
$message .= "Browser: {$_SERVER['HTTP_USER_AGENT']}";
if (strstr($_SERVER['SERVER_SOFTWARE'], "Win")) {
$headers = "From: fredrik@r-3.se \n";
$headers .= "Reply-To: {$c['email']}";
} else {
$headers = "From: R3 <fredrik@r-3.se> \n";
$headers .= "Reply-To: {$c['email']}";
}
$recipient = "fredrik@r-3.se";
if (mail($recipient,$subject,$message,$headers)) {
echo "<p>Your mail was successfully sent.</p>";
} else {
echo "<p>Your mail could not be sent this time.</p>";
}
}
}
if (!isset($c['submit']) || $show_form == true) {
function get_data($var) {
global $c;
if (isset($c[$var])) {
echo $c[$var];
}
}
if ($error_msg != NULL) {
echo "<p><strong style='color: red;'>ERROR:</strong><br />";
echo nl2br($error_msg) . "</p>";
}
?>
<form action="form.php" method="post"><p>
<label><input type="text" name="name" id="name" value="<?php get_data("name"); ?>" /> Name</label><br />
<label><input type="text" name="email" id="email" value="<?php get_data("email"); ?>" /> E-mail</label><br />
<label><input type="text" name="url" id="url" value="<?php get_data("url"); ?>" /> Website</label><br />
<label><input type="text" name="location" id="location" value="<?php get_data("location"); ?>" /> Location</label><br />
<label for="nickname"><label><input type="text" name="nickname" id="nickname" value="<?php get_data("nickname"); ?>" />Nickname<br />
<label><textarea name="comments" id="comments"><?php get_data("comments"); ?></textarea> Comments</label><br />
<input type="submit" name="submit" id="submit" value="Send" />
</p>
</form>
<?php
}
?>