---
title: "Kontaktforumlär"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/184451-kontaktforumlär"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Mycodez"
published: "2010-08-25T18:39:22.000Z"
updated: "2014-04-28T09:20:33.000Z"
replies: 17
views: 1559
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/184451-kontaktforumlär"
---

# Kontaktforumlär

## #1 — Mycodez, 2010-08-25T18:39Z

Hej,
Jag har lite problem med mitt kontakt formulär. Jag är ny med detta med PHP. så kan inte mycket alls.

```php
<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
  {
  //send email
  $email = $_REQUEST['email'] ;
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  mail( "Utveckling@mycodez.se", "Subject: $subject",
  $message, "From: $email" );
  echo "Tack för ditt mail! Vi mailar dig så fort vi kan.";
  }
else
//if "email" is not filled out, display the form
  {
  echo "<form method='post' action='Utvecklare.php'>
  Email:<br/> <input name='email' type='text' /><br />
  Ämna: <br/><input name='subject' type='text' /><br />
  Meddelande:<br />
  <textarea name='message' rows='15' cols='40'>
  </textarea><br />
  <input type='submit' />
  </form>";
  }
?>
```

När jag skulle testa och skicka ett mail från detta forumlär så skickas det inte och så syns detta efter submit knappen ";}?\>

varför gör det detta och hur ska jag få igång detta?

Tack på för hand!

Permalänk: https://www.webforum.nu/p/184451

## #2 — newseed, 2010-08-26T03:30Z

Koden du har lagt upp fungerar fint för mig. Är du säker på att "Utvecklare.php" är samma fil som innehåller koden samt att inget annat i den filen ställer till det?

Ett tips när det kommer till att skicka e-post är dock att antingen testa inskriven e-postadressen så att den ser korrekt ut alternativt inte använda den som "from" eftersom detta ibland kan ställa till det när man vill skicka iväg det.

Permalänk: https://www.webforum.nu/p/2249766

## #3 — Mycodez, 2010-08-26T13:23Z

Okej! konstigt sidan jag har den koden på heter "Utvecklare.php". Vad kan vara för fel tro?

Permalänk: https://www.webforum.nu/p/2249790

## #4 — newseed, 2010-08-26T13:25Z

Är där någon annan kod som strular till det på sidan? Prova att ta bort allt annat och testa (eller kopiera ut detta till en ny test-sida).

Permalänk: https://www.webforum.nu/p/2249791

## #5 — Mycodez, 2010-08-26T13:38Z

Får göra detta men hur göra jag för att kolla så allt är inskrivet nu e det ju bara Email, jag vill ju ha så man kollar upp allt annat också och kanske skriver ut vad felet är. i textrutan där man skriver kanske en text dyker upp eller jämte i en label eller något. Hur gör man det i denna kod?

Permalänk: https://www.webforum.nu/p/2249793

## #6 — Mycodez, 2010-08-26T16:59Z

Det funkade inte det heller :( jag har kollade tillcoh med på denan guidé ( <http://cert.w3schools.com/php/php_ref_mail.asp> ) och det funka inte

Permalänk: https://www.webforum.nu/p/2249806

## #7 — Akerlundh, 2014-04-20T18:39Z

Jag lånar denna tråden.

Jag testade koden ovan och den funkade för mig. Men jag skulle vilja ändra den.

Jag skulle vilja att kontaktformuläret syns hela tiden och när man skickat så kommer en liten leveransbekräftelse under formuläret.

Sen vill jag ha Namn, Telefon, Epost, Meddelande. Men lyckas inte få det att funka så jag får alla uppgifter i mailet. Sen vill jag ha en med endast Namn , Epost, meddelande.

Någon snäll själ som kan klura ut den koden åt mig?

Permalänk: https://www.webforum.nu/p/2315998

## #8 — voigtann1, 2014-04-20T19:03Z

```
<?php

 //if "email" is filled out, send email
if (isset($_REQUEST['email']))
{
  //send email
  $email = $_REQUEST['email'] ;
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  mail( "Utveckling@mycodez.se", "Subject: $subject",
  $message, "From: $email" );
  echo "Tack för ditt mail! Vi mailar dig så fort vi kan.";
  }
}

echo "<form method='post' action='Utvecklare.php'>
Email:<br/> <input name='email' type='text' /><br />
Ämna: <br/><input name='subject' type='text' /><br />
Meddelande:<br />
<textarea name='message' rows='15' cols='40'>
</textarea><br />
<input type='submit' />
</form>";

?>
```

 lägg till de fält du vill ha och sätt ett namn på det, bygg ut $message med de värdena du ville ha.

Permalänk: https://www.webforum.nu/p/2315999

## #9 — Akerlundh, 2014-04-20T19:16Z

> **[voigtann1 skrev:](https://www.webforum.nu/p/1570968)**
>
> lägg till de fält du vill ha och sätt ett namn på det, bygg ut $message med de värdena du ville ha.

Okej då vill jag ha det så här i from fältet.

```
<?php

 //if "email" is filled out, send email
if (isset($_REQUEST['email']))
{
  //send email
  $email = $_REQUEST['epost'] ;
  $namn = $_REQUEST['namn'] ;
  $message = $_REQUEST['meddelande'] ;
  mail( "Utveckling@mycodez.se", "Subject:Mail från sidan dindomän.com",
  $message, $namn, "From: $epost" );
  echo "Tack för ditt mail! Vi mailar dig så fort vi kan.";
  }
}

echo "<form method='post' action='Utvecklare.php'>
Namn:<br/> <input name='namn' type='text' /><br />
E-post: <br/><input name='epost' type='text' /><br />
Meddelande:<br />
<textarea name='meddelande' rows='15' cols='40'>
</textarea><br />
<input type='submit' />
</form>";

?>
```

Så ändrade jag fälten så här ovan men ingenting blev ju rätt  :q

Permalänk: https://www.webforum.nu/p/2316000

## #10 — voigtann1, 2014-04-20T19:28Z

```
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
```

 (<http://php.net/manual/en/function.mail.php>)  säger php manualen, så du kan inte lägga in ett argument till om det är **$namn** du vill ha in, om det är så du vill bygga ut **$message** så skriver du **$message . $namn**

eller bygger du ut det i $message direkt:

```
<?php

 //if "email" is filled out, send email
if (isset($_REQUEST['email']))
{
  //send email
  $email = $_REQUEST['epost'] ;
  $namn = $_REQUEST['namn'] ;
  $message = $_REQUEST['meddelande'] . $namn;
  mail(
    "Utveckling@mycodez.se",
    "Subject:Mail från sidan dindomän.com",
    $message,
    "From: $epost"
  );
  echo "Tack för ditt mail! Vi mailar dig så fort vi kan.";
  }
}
echo "<form method='post' action='Utvecklare.php'>
Namn:<br/> <input name='namn' type='text' /><br />
E-post: <br/><input name='epost' type='text' /><br />
Meddelande:<br />
<textarea name='meddelande' rows='15' cols='40'>
</textarea><br />
<input type='submit' />
</form>";
?>
```

Permalänk: https://www.webforum.nu/p/2316001

## #11 — Akerlundh, 2014-04-20T19:48Z

```php
<?php

 //if "email" is filled out, send email
if (isset($_REQUEST['email']))
{
  //send email
  $email = $_REQUEST['epost'] ;
  $namn = $_REQUEST['namn'] ;
  $message = $_REQUEST['meddelande'] . $namn;
  mail(
    "fieldgrove@gmail.com",
    "Subject:Mail från sidan dindomän.com",
    $message,
    "From: $email"
  );
  echo "Tack för ditt mail! Vi mailar dig så fort vi kan.";
  }
echo "<form method='post' action='Utvecklare.php'>
Namn:<br/> <input name='namn' type='text' /><br />
E-post: <br/><input name='epost' type='text' /><br />
Meddelande:<br />
<textarea name='meddelande' rows='15' cols='40'>
</textarea><br />
<input type='submit' />
</form>";
?>
```

När jag testade den kod laddades sidan bara om inget mail kom.

Permalänk: https://www.webforum.nu/p/2316002

## #12 — voigtann1, 2014-04-20T20:01Z

if (isset($\_REQUEST\['email'\])) 

är ju inte satt, den heter epost i ditt formulär

Permalänk: https://www.webforum.nu/p/2316003

## #13 — Akerlundh, 2014-04-20T20:09Z

> **[voigtann1 skrev:](https://www.webforum.nu/p/1570972)**
>
> if (isset($\_REQUEST\['email'\])) 
> 
> är ju inte satt, den heter epost i ditt formulär

Nu funkar det. Men meddelande och namn sitter ihop. Man kan inte få det så här.

Meddelande:
Meddelande skrivs ut här

Namn:
Namnet skrivs ut här.

Permalänk: https://www.webforum.nu/p/2316004

## #14 — voigtann1, 2014-04-20T20:10Z

> **[Akerlundh skrev:](https://www.webforum.nu/p/1570973)**
>
> Nu funkar det. Men meddelande och namn sitter ihop. Man kan inte få det så här.
> 
> Meddelande:
> Meddelande skrivs ut här
> 
> Namn:
> Namnet skrivs ut här.

det är bara att bygga upp strängar:

```
 $message = $_REQUEST['meddelande'] . "\nNamn:" . $namn;
```

 typ kan inte PHP men det borde bli radbrytning?

Permalänk: https://www.webforum.nu/p/2316005

## #15 — Akerlundh, 2014-04-20T20:26Z

> **[voigtann1 skrev:](https://www.webforum.nu/p/1570974)**
>
> det är bara att bygga upp strängar:
> 
>
>
> ```
>  $message = $_REQUEST['meddelande'] . "\nNamn:" . $namn;
> ```
>
>  typ kan inte PHP men det borde bli radbrytning?

Perfekt  :birp

Det finns inget enkelt sätt man kan göra samtliga fält obligatoriska på ?

Permalänk: https://www.webforum.nu/p/2316006

## #16 — voigtann1, 2014-04-20T20:28Z

> **[Akerlundh skrev:](https://www.webforum.nu/p/1570975)**
>
> Perfekt  :birp
> 
> Det finns inget enkelt sätt man kan göra samtliga fält obligatoriska på ?

beror på vilka webbläsare, du kan ju köra html5 require på dina element, men lägg in i din if fråga AND (&&) som kollar på att de fält som skall vara obligatoriska.

Permalänk: https://www.webforum.nu/p/2316007

## #17 — ezra19, 2014-04-28T07:09Z

hoppas allt är bra nu, och hitta lösningen på ditt problem

Permalänk: https://www.webforum.nu/p/2316069

## #18 — Mycodez, 2014-04-28T09:20Z

Roligt att tråden lever ^^

jag tänkte att jag kunde bjuda på min version av ditt problem då jag gjort en sådan lösning för ett tag sedan, åt en vän till mig.

```php
function escape($string) {
	return strip_tags(htmlentities($string, ENT_QUOTES, 'UTF-8'));
}
if($_POST){

	$name = escape($_POST['name']);
	$email = escape($_POST['email']);
	$cellphone = escape(trim($_POST['cellphone']));
	$cellphone = preg_replace('/\s+/', '', $cellphone);
	$sub = strip_tags($_POST['sub']);
	$message = $_POST['message'];
	$errors = array();
	
	if(!is_numeric($cellphone)) {
		$errors[] =  "Telefonnummeret får bara innehålla siffror";
	} 
	if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
		$errors[] = "Du angav en felaktig e-post";
	}
	if (empty($sub) === TRUE) {
		$errors[] = "Du har inte skrivit något ämne";
	} 
	if (empty($message) === TRUE) {
		$errors[] = "Du har inte skrivit något meddelade";
	} 
	if(empty($errors)===TRUE) {
		
		//send the email
		$headers   = array();
		$headers[] = "MIME-Version: 1.0";
		$headers[] = "Content-type: text/plain; charset=utf-8"; //change charset to iso-8859-1?
		$headers[] = "From: {$name} <{$email}>";
		$headers[] = "Bcc: Robin Kardell <carden.rk@gmail.com>"; 
		$headers[] = "Reply-To: {$name} <{$email}>"; //sender?
		$headers[] = "Subject: {$sub}";
		$headers[] = "X-Mailer: PHP/".phpversion();
		
		$email = $message ."\r\n\r\n Kontakt uppgifter: \r\n Telefon: ".$cellphone."\r\n email: ".$email;
		if(mail(mailen du vil lfå mailen till", $sub, $email, implode("\r\n", $headers))) {
			$sended = true;
			echo "send";
		} else {
			$sended = false;
			echo "inte skickat";
		}
	}
}
?>
```

 och mitt formulär

```
<form role="form" action="" method="post">
					<div class="form-group">
						<label for="name">Ditt namn *</label>
						<input type="text" class="form-control" id="name" name="name" value="<?php echo escape($_POST['name']); ?>" placeholder="Skriv in ditt namn">
					</div>
					<div class="form-group">
						<label for="email">Din e-post *</label>
						<input type="text" class="form-control" id="email" name="email" value="<?php echo escape($_POST['email']); ?>" placeholder="Skriv in din e-post">
					</div>
					<div class="form-group">
						<label for="cellphone">Ditt telefonnummer *</label>
						<input type="text" class="form-control" id="cellphone" name="cellphone" value="<?php echo escape($_POST['cellphone']); ?>" placeholder="Skriv in ditt telefonnummer">
					</div>
					<div class="form-group">
						<label for="sub">Ämne *</label>
						<input type="text" class="form-control" id="sub" name="sub" value="<?php echo escape($_POST['sub']); ?>" placeholder="Vad rör ditt meddelande?">
					</div>
					<div class="form-group">
						<label for="exampleInputPassword1">Meddelande *</label>
						<textarea class="form-control" rows="6" name="message"><?php echo escape($_POST['message']); ?></textarea>
					</div>
				  <input type="submit" class="btn btn-default" value="Skicka ditt meddelande" />
				</form>
```

jag vet det går att göra koden snyggare och bättre men orkar inte i dagsläget:)

MVH Robin

Permalänk: https://www.webforum.nu/p/2316071

---

Tråden på webben: https://www.webforum.nu/amne/php/184451-kontaktforumlär
