Gå til innhold

Noob-hjelp: e-mail skjema


Anbefalte innlegg

Skrevet

Prøver å lage et html skjema til å sende mail med, hvor folk kan merke av e-mailen med forskjellige kategorier. Her er det jeg har satt sammen til nå:

 

<form action="mailto:[email protected]" method="post" enctype="text/plain">
Name/Username:<br>
<input type="text" name="name" size="50"><br>
Your e-mail address: <input type="text" name="email" size="50"><br>
Subject: <select name="Subject">
<option value="question">General question</option>
<option value="report">Report</option>
<option value="suggestion">Suggestion</option>
<option value="other">Other</option>
</select>
<br><br>
Your message: <textarea name="text" cols="50" rows="15"></textarea><br>
<input type="submit" value="Send">
<input type="reset" value="Reset">
</form>

 

Når jeg trykker submit åpner Windows Outlook seg, vil helst at mail blir sendt rett fra websiden, og at alle info-feltene brukeren fyler inn blir med. Hvordan kan jeg få til dette? :)

Videoannonse
Annonse
Skrevet

Du kan ikke gjøre dette med kun HTML. Selve sendingen av e-post må foregå på serveren, og da trenger du PHP eller lignende, slik som er forklart på siden iNeo lenket til.

Skrevet (endret)

Her er et kort eksempel på hvordan jeg ville gjort det:

<?php
if(isset($_GET["send"])){
$html = ''; // Setter noen standar vars.

// Skjekk at feltene er fylt
if($_POST["name"] == "" || $_POST["email"] == "" || $_POST["text"] == ""){
	$html .= '<h3>Alle feltene er påkrevd.</h3>';
} else {
	// Alle feltene er okay, gjør klar for å sende mail. Først, putt inn magi!

	$_POST["text"] = htmlentities($_POST["text"], ENT_QUOTES || ENT_IGNORE, "UTF-8"); // øæå support, denne disabled html koder etc.
	$_POST["text"] = nl2br($_POST["text"]); // Setter linje skift der det skal værra det.

	$_POST["name"] = htmlentities($_POST["text"], ENT_QUOTES || ENT_IGNORE, "UTF-8"); // øæå support, denne disabled html koder etc.

	if(!preg_match("/.*@.*..*/", $_POST["email"]) || preg_match("/(<|>)/", $_POST["email"])){ // Skjekker emailens format.
		$html .= '<h3>Emailen må være [noe]@[noe].[noe]</h3>';
	} else {
		// Nå er det vel klart? Ja!
		mail("[email protected]", $_POST["Subject"], $_POST["text"], "From:" . $_POST["email"]);
		$html .= '<h3>Din mail er sendt, takk for å ta kontakt!</h3>';
	}
}

echo $html;
}
?>
<br />
<form action="<?
			// Henter URLen automatisk.
			echo $_SERVER['PHP_SELF'];
			?>?send" method="post">
Name/Username:<br>
<input type="text" name="name" size="50"><br>
Your e-mail address: <input type="text" name="email" size="50"><br>
Subject: <select name="Subject">
<option value="question">General question</option>
<option value="report">Report</option>
<option value="suggestion">Suggestion</option>
<option value="other">Other</option>
</select>
<br><br>
Your message: <textarea name="text" cols="50" rows="15"></textarea><br>
<input type="submit" value="Send">
<input type="reset" value="Reset">
</form>

Så klart, du kan endre meldingene og designet. ;)

Endret av thypthon^
  • 2 uker senere...
Skrevet

Her er et kort eksempel på hvordan jeg ville gjort det:

<?php
if(isset($_GET["send"])){
$html = ''; // Setter noen standar vars.

// Skjekk at feltene er fylt
if($_POST["name"] == "" || $_POST["email"] == "" || $_POST["text"] == ""){
	$html .= '<h3>Alle feltene er påkrevd.</h3>';
} else {
	// Alle feltene er okay, gjør klar for å sende mail. Først, putt inn magi!

	$_POST["text"] = htmlentities($_POST["text"], ENT_QUOTES || ENT_IGNORE, "UTF-8"); // øæå support, denne disabled html koder etc.
	$_POST["text"] = nl2br($_POST["text"]); // Setter linje skift der det skal værra det.

	$_POST["name"] = htmlentities($_POST["text"], ENT_QUOTES || ENT_IGNORE, "UTF-8"); // øæå support, denne disabled html koder etc.

	if(!preg_match("/.*@.*..*/", $_POST["email"]) || preg_match("/(<|>)/", $_POST["email"])){ // Skjekker emailens format.
		$html .= '<h3>Emailen må være [noe]@[noe].[noe]</h3>';
	} else {
		// Nå er det vel klart? Ja!
		mail("[email protected]", $_POST["Subject"], $_POST["text"], "From:" . $_POST["email"]);
		$html .= '<h3>Din mail er sendt, takk for å ta kontakt!</h3>';
	}
}

echo $html;
}
?>
<br />
<form action="<?
			// Henter URLen automatisk.
			echo $_SERVER['PHP_SELF'];
			?>?send" method="post">
Name/Username:<br>
<input type="text" name="name" size="50"><br>
Your e-mail address: <input type="text" name="email" size="50"><br>
Subject: <select name="Subject">
<option value="question">General question</option>
<option value="report">Report</option>
<option value="suggestion">Suggestion</option>
<option value="other">Other</option>
</select>
<br><br>
Your message: <textarea name="text" cols="50" rows="15"></textarea><br>
<input type="submit" value="Send">
<input type="reset" value="Reset">
</form>

Så klart, du kan endre meldingene og designet. ;)

 

 

Ville nok brukt isset her i stedet, og et par forbedringsområder, men koden ser ut som den skal fungere :) Prøv thypthon^ forslag, hvis ikke eller du ønsker deg noe annet, så si ifra.

  • 3 uker senere...
Skrevet

Her er et kort eksempel på hvordan jeg ville gjort det:

<?php
if(isset($_GET["send"])){
$html = ''; // Setter noen standar vars.

// Skjekk at feltene er fylt
if($_POST["name"] == "" || $_POST["email"] == "" || $_POST["text"] == ""){
	$html .= '<h3>Alle feltene er påkrevd.</h3>';
} else {
	// Alle feltene er okay, gjør klar for å sende mail. Først, putt inn magi!

	$_POST["text"] = htmlentities($_POST["text"], ENT_QUOTES || ENT_IGNORE, "UTF-8"); // øæå support, denne disabled html koder etc.
	$_POST["text"] = nl2br($_POST["text"]); // Setter linje skift der det skal værra det.

	$_POST["name"] = htmlentities($_POST["text"], ENT_QUOTES || ENT_IGNORE, "UTF-8"); // øæå support, denne disabled html koder etc.

	if(!preg_match("/.*@.*..*/", $_POST["email"]) || preg_match("/(<|>)/", $_POST["email"])){ // Skjekker emailens format.
		$html .= '<h3>Emailen må være [noe]@[noe].[noe]</h3>';
	} else {
		// Nå er det vel klart? Ja!
		mail("[email protected]", $_POST["Subject"], $_POST["text"], "From:" . $_POST["email"]);
		$html .= '<h3>Din mail er sendt, takk for å ta kontakt!</h3>';
	}
}

echo $html;
}
?>
<br />
<form action="<?
			// Henter URLen automatisk.
			echo $_SERVER['PHP_SELF'];
			?>?send" method="post">
Name/Username:<br>
<input type="text" name="name" size="50"><br>
Your e-mail address: <input type="text" name="email" size="50"><br>
Subject: <select name="Subject">
<option value="question">General question</option>
<option value="report">Report</option>
<option value="suggestion">Suggestion</option>
<option value="other">Other</option>
</select>
<br><br>
Your message: <textarea name="text" cols="50" rows="15"></textarea><br>
<input type="submit" value="Send">
<input type="reset" value="Reset">
</form>

Så klart, du kan endre meldingene og designet. ;)

 

 

Ville nok brukt isset her i stedet, og et par forbedringsområder, men koden ser ut som den skal fungere :) Prøv thypthon^ forslag, hvis ikke eller du ønsker deg noe annet, så si ifra.

Eller empty($_POST[]) :)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...