Gå til innhold

Hjelp med HTML-skjema og mailto-link


Anbefalte innlegg

Hei!

 

Jeg er rimelig noob på web-design, så trenger litt hjelp her.. Har planer om å lære, men trenger dette litt kjapt.  :)

 

Jeg skal lage et skjema med f.eks. "Navn", "Tlf.", "Sted" som tre felter, hvor jeg også ønsker å bruke drop-down bokser. Utforming på skjema er ikke så farlig, fins mange "generatorer" rundt på nettet.

 

Det som er utfordringen (for meg) er å opprette en mailto-link med informasjon fra disse inputene i emnefeltet (subject). Altså f.eks.:

<a href="mailto:[email protected]?subject=Navn Tlf Sted">Send email</a>

Hvordan deklarerer jeg og trekker ut disse variablene i en HTML-kode?

 

Ville vært evig takknemlig om noen kunne laget en eksempelkode, er mye lettere å forstå da.  :yes:

Lenke til kommentar
Videoannonse
Annonse

Bruk PHP i stedet. Her er noen kjappe script jeg fant i farten.

I tillegg kjører du PHP include for å få med PHP koden, så slipper du å ha den også inni HTML-fila.

 

HTML:

 

 

<table width="400" border="0" align="center" cellpadding="3" cellspacing="1">
<tr>
<td><strong>Contact Form </strong></td>
</tr>
</table>

<table width="400" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td><form name="form1" method="post" action="send_contact.php">
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td width="16%">Subject</td>
<td width="2%">:</td>
<td width="82%"><input name="subject" type="text" id="subject" size="50"></td>
</tr>
<tr>
<td>Detail</td>
<td>:</td>
<td><textarea name="detail" cols="50" rows="4" id="detail"></textarea></td>
</tr>
<tr>
<td>Name</td>
<td>:</td>
<td><input name="name" type="text" id="name" size="50"></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input name="customer_mail" type="text" id="customer_mail" size="50"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Submit"> <input type="reset" name="Submit2" value="Reset"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>

 

 

PHP:

 

 

<?php

// Contact subject
$subject ="$subject";

// Details
$message="$detail";

// Mail of sender
$mail_from="$customer_mail";

// From
$header="from: $name <$mail_from>";

// Enter your email address
$to ='[email protected]';

$send_contact=mail($to,$subject,$message,$header);

// Check, if message sent to your email
// display message "We've recived your information"

if($send_contact){
echo "We've recived your contact information";
}
else {
echo "ERROR";
}
?>

Endret av TheHaughom
Lenke til kommentar

Bruk PHP i stedet. Her er noen kjappe script jeg fant i farten.

I tillegg kjører du PHP include for å få med PHP koden, så slipper du å ha den også inni HTML-fila.

 

HTML:

 

 

<table width="400" border="0" align="center" cellpadding="3" cellspacing="1">

<tr>

<td><strong>Contact Form </strong></td>

</tr>

</table>

<table width="400" border="0" align="center" cellpadding="0" cellspacing="1">

<tr>

<td><form name="form1" method="post" action="send_contact.php">

<table width="100%" border="0" cellspacing="1" cellpadding="3">

<tr>

<td width="16%">Subject</td>

<td width="2%">:</td>

<td width="82%"><input name="subject" type="text" id="subject" size="50"></td>

</tr>

<tr>

<td>Detail</td>

<td>:</td>

<td><textarea name="detail" cols="50" rows="4" id="detail"></textarea></td>

</tr>

<tr>

<td>Name</td>

<td>:</td>

<td><input name="name" type="text" id="name" size="50"></td>

</tr>

<tr>

<td>Email</td>

<td>:</td>

<td><input name="customer_mail" type="text" id="customer_mail" size="50"></td>

</tr>

<tr>

<td> </td>

<td> </td>

<td><input type="submit" name="Submit" value="Submit"> <input type="reset" name="Submit2" value="Reset"></td>

</tr>

</table>

</form>

</td>

</tr>

</table>

 

 

 

PHP:

 

 

<?php

 

// Contact subject

$subject ="$subject";

 

// Details

$message="$detail";

// Mail of sender

$mail_from="$customer_mail";

 

// From

$header="from: $name <$mail_from>";

// Enter your email address

$to ='[email protected]';

$send_contact=mail($to,$subject,$message,$header);

// Check, if message sent to your email

// display message "We've recived your information"

if($send_contact){

echo "We've recived your contact information";

}

else {

echo "ERROR";

}

?>

 

 

Mange takk for svar.

 

Jeg kan som sagt ikke så mye, men jeg lurer på om du misforstod litt. For meg ser det ut til at den PHP-koden er et skjema som sender til en adresse rett fra skjemaet? Jeg er nødt til å bruke mailto for å åpne mailen i lokal klient.

 

Jeg ønsker enkelt og greit å kunne taste inn noen felt, for at disse "inputene" legges inn i emnet på en ny mail.

 

Hva er forresten fordelen med PHP kontra HTML her?  :)

Endret av bellduck
Lenke til kommentar
  • 3 uker senere...

Hei,

 

du kan jo prøve denne:

 

 

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Mailto</title>
</head>
<body>
<?php

	if($_POST['form_submit']) {
		$mailAddress = htmlspecialchars($_POST['form_mail']);
		if(filter_var($mailAddress, FILTER_VALIDATE_EMAIL)) { /* sjekker at det som er skrevet er i korrekt format */
			$name = htmlspecialchars($_POST['form_name']);
			$tel = htmlspecialchars($_POST['form_tel']);
			$city = htmlspecialchars($_POST['form_city']);
			$submittedLink = '<p><span style="font-weight: bold;">Link:</span> <a href="mailto:'.$mailAddress.'?subject='.$name.' ('.$tel.', '.$city.')">'.$mailAddress.'</a></p>';
		} else {
			$submittedLink = '<p style="color: red; font-weight: bold;">E-postadressen "'.$mailAddress.'" er ikke gyldig.</p>';
		}
	}

?>
<div id="mailto_form">
	<input name="form_mail" type="text" value="<?php echo $mailAddress; ?>" /><br />
	<input name="form_name" type="text" value="<?php echo $name; ?>" /><br />
	<input name="form_tel" type="text" value="<?php echo $tel; ?>" /><br />
	<input name="form_city" type="text" value="<?php echo $city; ?>" /><br />
	<input name="form_submit" type="submit" value="Send" /><br />
</div>
<?php echo $submittedLink; ?>
</body>
</html>

 

 

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å
×
×
  • Opprett ny...