webForumDet fria alternativet

Skicka mail

9 svar · 457 visningar · startad av huskyboy

huskyboyMedlem sedan dec. 2002186 inlägg
#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");
PeeerMedlem sedan mars 20025 362 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");
huskyboyMedlem sedan dec. 2002186 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?

PeddaMedlem sedan juni 20004 880 inlägg
#4

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

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

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

PeddaMedlem sedan juni 20004 880 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?
}
huskyboyMedlem sedan dec. 2002186 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

PeddaMedlem sedan juni 20004 880 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.

huskyboyMedlem sedan dec. 2002186 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.

PeeerMedlem sedan mars 20025 362 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!

Genererad på 384 ms · cache AV · v20260730165559-full.f96bc7eb