Gå til innhold

Noob-hjelp: e-mail skjema


Anbefalte innlegg

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? :)

Lenke til kommentar
Videoannonse
Annonse

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^
Lenke til kommentar
  • 2 uker senere...

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.

Lenke til kommentar
  • 3 uker senere...

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[]) :)

Lenke til kommentar

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...