luanMedlem sedan apr. 200337 inlägg Hej,
Behöver skapa ett kontaktformulär för att göra en enkätundersökning för min C-uppsats. Jag kan väldigt lite om html, javascript och PHP men vet att man kan skapa kontaktformulär i PHP som skickas direkt till min mottagaradress. Jag har såhär långt lyckats skapa ett formulär som skickas via Outlook men då alla respondenter jag avser skicka detta till inte lär ha Outlook så undrar jag här om någon kan hjälpa mig att göra om detta till ett php-script som jag kan använda istället där mailet skickas direkt i samband med att man klickar på Skicka-knappen. Detta har jag gjort såhär långt:
<html>
<head>
<title>Enkätundersökning</title>
<h1>Enkätundersökning</h1>
Fyll i enkäten och tryck sedan slutligen på "Skicka". Enkätsvaret är då registrerat. Tack på förhand för ditt deltagande.<br><br>
<form method="post" action="mailto:*****@gmail.com?subject=Enkätsvar" enctype="text/plain">
<fieldset style="width: 450px;">
<legend>RESPONDENT</legend>
<label for="fnamn">Förnamn:</label> <br />
<input type="text" name="fnamn" id="fnamn" /> <br />
<label for="enamn">Efternamn:</label> <br />
<input type="text" name="enamn" id="enamn" /> <br />
<label for="enamn">Bolag:</label> <br />
<input type="text" name="enamn" id="enamn" /> <br />
<label for="epost">E-postadress:</label> <br />
<input type="text" name="epost" id="epost" /><br />
<label for="epost">Telefonnummer:</label> <br />
<input type="text" name="tel" id="tel" />
</fieldset>
<br />
<br />
<fieldset style="width: 450px;">
<legend>Vad anser du om den här frågan?</legend>
<input type="checkbox" name="Fråga 1" id="Instämmer helt" value="1"/>
<label for="var">Instämmer helt</label><br />
<input type="checkbox" name="Fråga 1" id="Instämmer till stor del" value="2"/>
<label for="sommar">Instämmer till stor del</label><br />
<input type="checkbox" name="Fråga 1" id="Instämmer delvis" value="3"/>
<label for="host">Instämmer delvis</label><br />
<input type="checkbox" name="Fråga 1" id="Instämmer inte alls" value="4"/>
<label for="vinter">Instämmer inte alls</label><br />
<input type="checkbox" name="Fråga 1" id="Ingen uppfattning" value="5"/>
<label for="vinter">Ingen uppfattning</label>
</fieldset>
<br />
<br />
<fieldset style="width: 450px;">
<legend>ÖVRIG INFORMATION</legend>
<label for="meddelande">Skriv här om det är något du vill förtydliga eller meddela oss.</label> <br />
<textarea name="meddelande" id="meddelande" cols="45" rows="5"></textarea>
</fieldset>
<br />
<br />
<input type="submit" name="skicka" id="skicka" value="Skicka" />
<input type="reset" name="reset" id="reset" value="Rensa" />
</form>
Tack för ditt deltagande! Det betyder väldigt mycket för oss.
</head>
</html>
Tacksam för all hjälp jag kan få.
// Ludvig
PeddaMedlem sedan juni 20006 032 inlägg Tog mig friheten att ändra lite i din kod.
La innehållet i body då det låg i head innan.
Bytte checkboxarna mot en radiogroup mm.
Går att göra ännu bättre, men lite får du fixa till själv. ;)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Enkätundersökning</title>
</head>
<body>
<?php
if(isset($_POST['skicka'])) {
$subject = "Enkätsvar";
// Meddelandet
$message = "Förnamn:\t{$_POST['fnamn']}\n";
$message .= "Efternamn:\t{$_POST['enamn']}\n";
$message .= "Bolag:\t{$_POST['bolag']}\n";
$message .= "Epost:\t{$_POST['epost']}\n";
$message .= "Bolag:\t{$_POST['bolag']}\n";
$message .= "E-postadress:\t{$_POST['epost']}\n";
$message .= "Telefonnummer:\t{$_POST['tel']}\n\n";
$message .= "Vad anser du om den här frågan?\n";
$message .= $_POST['RadioGroupVal'] . "\n\n";
$message .= "Övrig information\n";
$message .= $_POST['meddelande'];
$message = wordwrap($message, 70);
if(mail('*****@gmail.com', $subject, $message)) {
echo "<h2>Svar skickat</h2>";
} else {
echo "<h2>Något gick fel.</h2>";
}
}
?>
<h1>Enkätundersökning</h1>
Fyll i enkäten och tryck sedan slutligen på "Skicka". Enkätsvaret är då registrerat. Tack på förhand för ditt deltagande.<br><br>
<form method="post" action="enkatundersokning.php" name="enkatForm">
<fieldset style="width: 450px;">
<legend>RESPONDENT</legend>
<label for="fnamn">Förnamn:</label> <br />
<input type="text" name="fnamn" id="fnamn" /> <br />
<label for="enamn">Efternamn:</label> <br />
<input type="text" name="enamn" id="enamn" /> <br />
<label for="bolag">Bolag:</label> <br />
<input type="text" name="bolag" id="bolag" /> <br />
<label for="epost">E-postadress:</label> <br />
<input type="text" name="epost" id="epost" /><br />
<label for="tel">Telefonnummer:</label> <br />
<input type="text" name="tel" id="tel" />
</fieldset>
<br />
<br />
<fieldset style="width: 450px;">
<legend>Vad anser du om den här frågan</legend>
<p>
<label>
<input type="radio" name="RadioGroupVal" value="Instämmer helt" id="RadioGroupVal_0" />
Instämmer helt</label>
<br />
<label>
<input type="radio" name="RadioGroupVal" value="Instämmer till stor del" id="RadioGroupVal_1" />
Instämmer till stor del</label>
<br />
<label>
<input type="radio" name="RadioGroupVal" value="Instämmer delvis" id="RadioGroupVal_2" />
Instämmer delvis</label>
<br />
<label>
<input type="radio" name="RadioGroupVal" value="Instämmer inte alls" id="RadioGroupVal_3" />
Instämmer inte alls</label>
<br />
<label>
<input type="radio" name="RadioGroupVal" value="Ingen uppfattning" id="RadioGroupVal_4" />
Ingen uppfattning</label>
<br />
</p>
</fieldset>
<br />
<br />
<fieldset style="width: 450px;">
<legend>ÖVRIG INFORMATION</legend>
<label for="meddelande">Skriv här om det är något du vill förtydliga eller meddela oss.</label> <br />
<textarea name="meddelande" id="meddelande" cols="45" rows="5"></textarea>
</fieldset>
<br />
<br />
<input type="submit" name="skicka" id="skicka" value="Skicka" />
<input type="reset" name="reset" id="reset" value="Rensa" />
</form>
Tack för ditt deltagande! Det betyder väldigt mycket för oss.
</body>
</html>
luanMedlem sedan apr. 200337 inlägg Tack så jättemycket för hjälpen! Testade att använda formuläret men inget mail kom fram till mottagarmailen. Behöver jag någon extra fil eller anpassa formuläret beroende på vilket webbhotell jag använder?
Med vänlig hälsning
Ludvig Andén
PeddaMedlem sedan juni 20006 032 inlägg Har ingen aning om hur din server är konfigurerad, men testa att sätta extra headers.
Lägg till detta efter <?php
$headers = 'From: *****@gmail.com' . "\r\n" .
'Reply-To: *****@gmail.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
Och ändra raden där mail skickas till:
if(mail('*****@gmail.com', $subject, $message, $headers)) {
/red
Fick du meddelandet "Svar skickat" efter att du postat formuläret?
luanMedlem sedan apr. 200337 inlägg Tack! Nu fungerar allt utmärkt. Bara för mig att börja knacka in frågorna och svarsalternativen =). Tack än en gång!
PeddaMedlem sedan juni 20006 032 inlägg Bra att det löste problemet.
Passade på att redigera inläggen där din epost adress fanns i koden så du slipper få spam om nån spindel letar epost adresser.