webForumDet fria alternativet

Ett väldigt enkelt kontakt forumlär

PHP

0 svar · 16 580 visningar · startad av grennfox

Medlem sedan feb. 2010177 inlägg
Frågan#1

Här är ett väldigt simpelt kontakt formulär.
Det är långt ifrån det bästa eller det säkraste, men det fungerar bra. Samt att man kan lägga till en anti bot, en sådan bra och gratis hittar man på
http://www.google.com/recaptcha

Formen:

<form method="post" name="myemailform" action="process.php">
	<table width="400" border="0" cellspacing="0" cellpadding="5">
		<tr>
			<td align="left"><label for='name'>Namn: </label></td>
			<td align="left"><input type="text" name="name" size="40" maxlength="50"></td>
		</tr>

		<tr>
			<td align="left"><label for='email'>Epost:</label></td>
			<td align="left"><input type="text" name="email"size="40" maxlength="50"></td>
		</tr>

		<tr>
			<td align="left"><label for='email'>Ämne:</label></td>
			<td align="left"><input type="text" name="sub"size="40" maxlength="50"></td>
		</tr>

		<tr>
			<td align="left"><label for='message'>Meddelande:</label> </td>
			<td align="left"><textarea name="message"cols="40" rows="8" wrap="VIRTUAL"></textarea></td>
		</tr>
		<tr>
			<td align="left"><input type="submit" name='submit' value="Skicka"></td>
    	</tr>
    </table>
</form>
<script language="JavaScript">

var frmvalidator  = new Validator("myemailform");
frmvalidator.addValidation("name","req","Vänligen ange ett namn"); 
frmvalidator.addValidation("email","req","Vänligen ange epost"); 
frmvalidator.addValidation("email","email","Vänligen ange en giltig epost"); 
frmvalidator.addValidation("sub","req","Vänligen ange ett ämne");
</script>

process.php:

<?php
if(!isset($_POST['submit']))
{

	echo "error; du måste skicka meddelandet!";
}
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$message = $_POST['message'];
$isomessage = iconv("UTF-8", "ISO-8859-1", $message);
$sub = $_POST['sub'];

if(empty($name)||empty($visitor_email)) 
{
    echo "Namn och Epost är obligatoriskt!";
    exit;
}

if(IsInjected($visitor_email))
{
    echo "Ogiltig epost!";
    exit;
}

$email_from = '$visitor_email';
$email_subject = "$sub";
$email_body = "Namn: $name
Meddelande: $isomessage

".
    
$to = "namn@dindomän.se";//<== Ändra till din epost 
$headers = "From: $visitor_email \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
//Send the email!
mail($to,$email_subject,$email_body,$headers);

header('Location: kontakt1.html');//<== skriv i den adress du vill att dom ska hamna på efter dom har klickat på skicka   

function IsInjected($str)
{
  $injections = array('(\n+)',
              '(\r+)',
              '(\t+)',
              '(%0A+)',
              '(%0D+)',
              '(%08+)',
              '(%09+)'
              );
  $inject = join('|', $injections);
  $inject = "/$inject/i";
  if(preg_match($inject,$str))
    {
    return true;
  }
  else
    {
    return false;
  }
}
   
?>
276 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)