webForumDet fria alternativet

Skicka mail

PHPur PHP

9 svar · 457 visningar · startad av huskyboy

Medlem sedan dec. 2002175 inlägg
Frågan#1

Jag har ett formulär som skickas till min mail,men hur lägger jag in så att det står namn, epost, meddelande framför det dom skriver in närdet kommer i mailen?
Jag vill att det ska se ut så här i mailet:

Namn: det dom fyllt i
Epost: det dom fyllt i
Meddelande: det dom fyllt i

Det borde väl ändras i denna kod snutten?

mail("namn@telia.com", "Meddelande från hemsidan", $_POST['namn']."\n".$_POST['epost']."\n".$_POST['meddelande']."\n".$_POST['bet'], "From: Meddelande från hemsidan\r\n");
Medlem sedan mars 20025 907 inlägg
#2
mail("namn@telia.com", "Meddelande från hemsidan", 
	'Namn: '. $_POST['namn']. 
	"\nE-post: ". $_POST['epost'].
	"\nMeddelande: ". $_POST['meddelande'].
	"\nBet: ". $_POST['bet'],
	"From: [email]namn@telia.com[/email]\r\n");
Medlem sedan dec. 2002175 inlägg
#3

Tack för hjälpen
Hur gör man för att man ska vara tvungen att fylla i vissa fält?

Medlem sedan juni 20006 031 inlägg
#4

Du kollar helt enkelt så dom inte är tomma:

if (empty($_POST['namn']))
Medlem sedan dec. 2002175 inlägg
#5

Hmm, jag kan ingenting om php, det här är ett script jag laddat ner.
Var lägger jag in det?

Medlem sedan juni 20006 031 inlägg
#6

Vet inte hur ditt skript ser ut men det här kanske förklarar bättre

if (empty($_POST['namn']) OR empty($_POST['epost']) OR empty($_POST['meddelande']) OR empty($_POST['bet'])) {
	echo "Du har glömt fylla i något fält!";
} else {
	mail(); // Din mailfunktion, funkade Peers förslag?
}
Medlem sedan dec. 2002175 inlägg
#7

Så här ser scriptet ut nu. Hur ändrar jag det?

<?
if (empty($_POST['namn'])) {
header ("Location: mail.php");
die();
}
if (empty($_POST['email'])) {
header ("Location: mail.php");
die();
}
if (empty($_POST['text'])) {
header ("Location: mail.php");
die();
}
#KOMMENTARER!
#Här ändrar du vilken mail mailet skall komma till, ändra också Subjectet,vart mailet kommer #ifrån skall du också ändra

mail("namn@telia.com", "Meddelande från hemsidan", $_POST['namn']."\n".$_POST['email']."\n".$_POST['text'], "From: Kontaktskript@domain.com\r\n");
?>

Jag försökte klistra in det som php kod men det ville sig inte

Medlem sedan juni 20006 031 inlägg
#8

Skriptet kollar redan om något fält är tomt. Om så är fallet så skickas man tillbaks till formuläret. (mail.php)

Allt du behöver göra nu är att ändra näst sista raden så som Peer skrev.

Medlem sedan dec. 2002175 inlägg
#9

Ja, men jag vill ha det så att det kommer upp att man inte har fyllt i alla fält.
Som det är nu så kommer man tillbaka till ett rensat formulär och man måste börja om att fylla i.

Medlem sedan mars 20025 907 inlägg
#10
<?
if (empty($_POST['namn']) or empty($_POST['email']) or empty($_POST['text'])) {
	header ("Location: mail.php?err");
	die();
}
mail("namn@telia.com", "Meddelande från hemsidan", 
	'Namn: '. $_POST['namn']. 
	"\nE-post: ". $_POST['epost'].
	"\nMeddelande: ". $_POST['meddelande'].
	"\nBet: ". $_POST['bet'],
	"From: [email]namn@telia.com[/email]\r\n");
?>

//i mail.php skriver du
if(isset($_GET['err']))
	echo "Ajaj, alla fält var inte ifyllda!";

Alternativt löser du det med javascript!

136 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)