Gå til innhold

Skjema som sender vedlegg


Anbefalte innlegg

Har behov for et skjema med mulighet til å legge ved en fil. Kan lese bittelitt php, men er ikke i stand til å skrive det. Noen som kan hjelpe med denne funksjonen?

Her er php-filen uten funksjonen:

<?php
$navn = $_POST['navn'];
$telefon = $_POST['telefon'];
$sprak = $_POST['sprak'];
$tolke = $_POST['tolke'];
$oversette = $_POST['oversette'];
$last_opp = $_POST['last_opp'];
$emne = "Forespørsel fra nettsiden (søke jobb)";
$to = "[email protected]";
$code = "MIME-Version: 1.0\r\n".
 "Content-Type: text/html; charset=utf-8\r\n" .
      "Content-Transfer-Encoding: 8bit\r\n\r\n";


// SPAMINJECTION CHECK
function spamcheck($field) { 
if(eregi("to:",$field) || eregi("cc:",$field)) {
return TRUE;
}else{
return FALSE;
}
}

if($navn == "") {
$fyllnavn = "<div style='color: red;'>* Fyll ut navn!</div>";
}else{};

if($telefon == "") {
$fylltelefon = "<div style='color: red;'>* Fyll inn tlfnummer!</div>";
}else{};

if($sprak == "") {
$fyllsprak = "<div style='color: red;'>* Fyll inn Språk!</div>";
}else{};


if($navn == "" || $telefon == "" || $sprak == "" ) {
echo '<div id="oversettelse">
<form action="?side=sendmail" method="post" class="skjema" name="jobb_skjema"> ';
echo "\n \t $fyllnavn \n \t $fylltelefon \n \t $sprak \n \t ";
echo '<div class="skjemapunkt">
         	<label class="skjematekst">* Navn: </label>  	
     <input class="text" type="text" name="navn" size="20"></div>
         <div class="skjemapunkt">
         	<label class="skjematekst">* Telefon: </label>  	
     <input class="text" type="text" name="telefon" size="20"></div>
       	
       	
         <div class="skjemapunkt">
         	<label class="skjematekst">* Språk: </label>
         <input class="text" type="text" name="sprak" size="20"></div>
         
         <div class="skjemapunkt">
         	<label class="skjematekst">* Jeg ønsker å:</label>
     <label>Tolke</label><input type="checkbox" name="tolke" value="Ja">
     <label>Oversette (skriftlig)</label><input type="checkbox" name="oversette" value="Ja"></div>
     
     <div class="skjemapunkt">
         	<label>Last opp fil</label>
     <input class="text" type="file" name="last_opp" size="20"></div>
       	
         <div class="skjemapunkt">
         	<input type="submit" name="send_inn" value="Send inn"></div>
       	</form>
</div>';
}else{



mail ( $to, $emne, "From: websiden"  .  
"<BR><STRONG>navn</STRONG>: $navn"  . 
"<BR><STRONG>telefon:</STRONG> $telefon"  .
"<BR><STRONG>språk:</STRONG> $sprak"  .
"<BR><STRONG>tolke:</STRONG> $tolke"  .
"<BR><STRONG>oversette:</STRONG> $oversette"  .
"<BR><STRONG>legg ved fil:</STRONG> $last_opp", $code );
echo "<h1>Eposten ble sendt!</h1><br>";
echo "<a href='index.html'>Tilbake til forsiden</a>";
}
?>

 

Takker for hjelp og tips!

Endret av Kannutt
Lenke til kommentar
Videoannonse
Annonse

Du må ha dette i form'en på siden der brukeren fyller inn info'en:

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>

 

Og du må putte noe som dette inn i scriptet ditt:

PHP
<?php

if ($_FILES["file"]["error"] > 0)

{

echo "Feil: " $_FILES["file"]["error"] . "<br />";

}

else

{

echo "Upload: " $_FILES["file"]["name"] . "<br />";

echo "Type: " $_FILES["file"]["type"] . "<br />";

echo "Størrelse: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";

 

move_uploaded_file($_FILES["file"]["tmp_name"],

"upload/" $_FILES["file"]["name"]);

echo "Lagret i: " "upload/" $_FILES["file"]["name"];

}

?>

 

Dette vil lagre filen i mappen upload (denne må du ha i samme mappe som scriptet)...

Lenke til kommentar

Da må du lese litt om multipart email.

 

Det du må gjøre er å lage mailen som ein multipart mail og så putte innholdet i den opplasta fila i mailen.

 

Vist du leser om mail funksjonen på php.net så står det ein komentar som inneholder ein funksjon som kan brukest til å sende emailer med vedlegg

Lenke til kommentar
Takk for det, men vil ikke det skriptet bare lagre filen i en mappe på serveren? Jeg vil at filen skal komme med mailen som et vedlegg....

8255787[/snapback]

Du må vel laste den opp før du sender den? Du trenger kansje ikke lagre den da, bare sende temp filen som blir lastet opp...

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...