Email formulär php.

Avdelningen för webbrelaterad programmering och grafisk design.
Post Reply
User avatar
forcevision
Posts: 418
Joined: 2007-06-17 11:21:44
Location: Göteborg

Email formulär php.

Post by forcevision »

Hejsan !

Någon som har ett bra email formulär men lite olika text fält och checkbox som är enkelt att lägga till lite mera textfält om man och som gärna kollar så man skrivit i email och skrivit något i text fälten och gärna med ett spam skydd.

Skulle verkligen vara tacksam för detta. Jag har kollat på hotscripts men ihttar inget som är så enkelt utan bara med massa attchments som jag verkligen inte behöver.

/Force
http://www.forcevision.se för företag och privatpersoner.
User avatar
linc
Administratör
Posts: 7602
Joined: 2002-02-13 22:22:11
Location: Skåneland
Contact:

Re: Email formulär php.

Post by linc »

Simplare än såhär blir det inte. Döp filen till sendmail.php eller ändra i koden, skriv in din emailadress på rad 2 och sen är det klart. Förutsatt att din webserver kan maila såklart.. annars får man använda ngn sorts smtp-klient i phpform.

Vet inte vad du vill ha en checkbox till, eller ytterligare textfält. Det finns inget spamskydd här heller, men å andra sidan får webklienten aldrig reda på din adress utan måste isf använda sig av scriptet.

Code: Select all

<?php if (isset($_POST['submit'])) {
  if (mail('forcevision@dindomain.se', $_POST['subject'], $_POST['message'])) {
    echo 'Mail sent.';
  } else {
    echo 'Mail not sent.';
  }
} else {?>
<html>
  <body>
    <form method="POST" action="sendmail.php">
      <input type="text" name="subject" value="Subject" /><br />
      <textarea name="message" />Message</textarea><br />
      <input type="submit" name="submit" value="Send" />
    </form>
  </body>
</html>
<?php } ?>
hej.
User avatar
forcevision
Posts: 418
Joined: 2007-06-17 11:21:44
Location: Göteborg

Re: Email formulär php.

Post by forcevision »

Hade tänkt så här att mitt formulär skulle se ut.

Code: Select all

<form id="form1" name="form1" method="post" action="">
Namn: 
<label for="textfield"></label>
<input type="text" name="textfield" id="textfield" />
<br>
Adress: 
<label for="label"></label>
<input type="text" name="textfield2" id="label" />
<br />
Postadress: 
<label for="label2"></label>
<input type="text" name="textfield3" id="label2" />
<br />
Hemtelefon: 
<label for="label3"></label>
<input type="text" name="textfield4" id="label3" />
<br />
Mobiltelefon: 
<label for="label4"></label>
<input type="text" name="textfield5" id="label4" />
<br />
E-postadress: 
<label for="label5"></label>
<input type="text" name="textfield6" id="label5" />
<br />
<p>Jag best&auml;ller nedanst&aring;ende produkter:
<table width="458" border="0">
  <tr>
    <td width="110"><div align="center">Artkel nr </div></td>
    <td width="156">Artikel</td>
    <td width="178">Antal</td>
  </tr>
</table>
<br />
<label for="label6"></label>
<input type="text" name="textfield7" id="label6" />
<label for="label7"></label>
<input type="text" name="textfield8" id="label7" />
<label for="label8"></label>
<input type="text" name="textfield9" id="label8" />
<br />
<label for="label9"></label>
<input type="text" name="textfield10" id="label9" />
<label for="label10"></label>
<input type="text" name="textfield11" id="label10" />
<label for="label11"></label>
<input type="text" name="textfield12" id="label11" />
<br />
<label for="label12"></label>
<input type="text" name="textfield13" id="label12" />
<label for="label13"></label>
<input type="text" name="textfield14" id="label13" />
<label for="label14"></label>
<input type="text" name="textfield15" id="label14" />
<br />
<label for="label15"></label>
<input type="text" name="textfield16" id="label15" />
<label for="label16"></label>
<input type="text" name="textfield17" id="label16" />
<label for="label17"></label>
<input type="text" name="textfield18" id="label17" />
<br />
<label for="label18"></label>
<input type="text" name="textfield19" id="label18" />
<label for="label19"></label>
<input type="text" name="textfield20" id="label19" />
<label for="label20"></label>
<input type="text" name="textfield21" id="label20" />
<br />
<label for="label21"></label>
<input type="text" name="textfield22" id="label21" />
<label for="label22"></label>
<input type="text" name="textfield23" id="label22" />
<label for="label23"></label>
<input type="text" name="textfield24" id="label23" />
<br />
<label for="label24"></label>
<input type="text" name="textfield25" id="label24" />
<label for="label25"></label>
<input type="text" name="textfield26" id="label25" />
<label for="label26"></label>
<input type="text" name="textfield27" id="label26" />
<br />
<label for="label27"></label>
<input type="text" name="textfield28" id="label27" />
<label for="label28"></label>
<input type="text" name="textfield29" id="label28" />
<label for="label29"></label>
<input type="text" name="textfield30" id="label29" />
<br />
<label for="label30"></label>
<input type="text" name="textfield31" id="label30" />
<label for="label31"></label>
<input type="text" name="textfield32" id="label31" />
<label for="label32"></label>
<input type="text" name="textfield33" id="label32" />
<br />
<label for="label33"></label>
<input type="text" name="textfield34" id="label33" />
<label for="label34"></label>
<input type="text" name="textfield35" id="label34" />
<label for="label35"></label>
<input type="text" name="textfield36" id="label35" />
<br />
<label for="label36"></label>
<input type="text" name="textfield37" id="label36" />
<label for="label37"></label>
<input type="text" name="textfield38" id="label37" />
<label for="label38"></label>
<input type="text" name="textfield39" id="label38" />
<br />
<p>
<table width="441" border="0">
  <tr>
    <td width="360">Jag betalar mot postf&ouml;rskott (Postens avgifter tillkommer)</td>
    <td width="71"><div align="center">
      <input type="checkbox" name="checkbox2" value="checkbox" id="checkbox2" />
      <label for="checkbox2"></label>
    </div></td>
  </tr>
  <tr>
    <td>med f&ouml;rskottsbetalning </td>
    <td><div align="center">
      <input type="checkbox" name="checkbox3" value="checkbox" id="checkbox3" />
      <label for="checkbox3"></label>
    </div></td>
  </tr>
</table>
<p>Vi skickar orderek&auml;nnande snarast. Genom att skicka detta orderformul&auml;r<br />
  accepteras k&ouml;pvillkoren angivna p&aring; hemsidan.
</form>
Funkar det att lägga till din php kod här i ?
Sedan är det möjligt att få mailen validerad samt att textfälterna måste fyllas i ?

Detta kanske är för mycket jobb för gratis hjälp men jag frågar ändå.

/Force
http://www.forcevision.se för företag och privatpersoner.
User avatar
linc
Administratör
Posts: 7602
Joined: 2002-02-13 22:22:11
Location: Skåneland
Contact:

Re: Email formulär php.

Post by linc »

Allt går med lite vilja. Jag har inte tid eller ork att servera det till dig på silverfat idag, men fundera lite på hur mitt exempelscript fungerar så bör det inte vara alltför svårt att applicera det på dina alternativ. Det du måste fundera på är hur du vill ha det presenterat i mailet du får bara. Räcker det att du får allt i en hög så är det bara att slå ihop textsträngarna istället för $_POST['message'] i min kod.

Det finns ingen möjlighet att validera en emailadress mer än att man kan se att den har rätt syntax (rätt tecken, inga mellanslag, ett snabel-a osv). Ska man se att emailadressen verkligen existerar också måste man implementera någon sorts registreringsfunktion som t ex vi har här i forumet där forumet mailar en kod eller länk som sen användaren måste använda för att bevisa att adressen funkar.
hej.
User avatar
forcevision
Posts: 418
Joined: 2007-06-17 11:21:44
Location: Göteborg

Re: Email formulär php.

Post by forcevision »

Fredrik Ågren wrote:Allt går med lite vilja. Jag har inte tid eller ork att servera det till dig på silverfat idag, men fundera lite på hur mitt exempelscript fungerar så bör det inte vara alltför svårt att applicera det på dina alternativ. Det du måste fundera på är hur du vill ha det presenterat i mailet du får bara. Räcker det att du får allt i en hög så är det bara att slå ihop textsträngarna istället för $_POST['message'] i min kod.

Det finns ingen möjlighet att validera en emailadress mer än att man kan se att den har rätt syntax (rätt tecken, inga mellanslag, ett snabel-a osv). Ska man se att emailadressen verkligen existerar också måste man implementera någon sorts registreringsfunktion som t ex vi har här i forumet där forumet mailar en kod eller länk som sen användaren måste använda för att bevisa att adressen funkar.
Okej nej nej förstår dig kan fråga ialla fall tänkte jag. Men jag förstår din script hyfsat så skall gå efter den. Helst vill jag ha mailet så som det ser ut på hemsidan fast utan alla ramar runt textfälten m.m. Okej nej det där med mailen det är skit samma det jag skulle vilja ha är då att den märker av att det är en mail adress är det en svår kodning ?

Är det inte så att jag bara fortsätter där du skrivit if (mail('forcevision@dindomain.se', $_POST['subject'], $_POST['message']))

med text fältets namn tex $_POST['namn'], $_POST['telefon'], m.m ?
http://www.forcevision.se för företag och privatpersoner.
User avatar
nva
Hedersbit
Posts: 2517
Joined: 2002-03-07 23:34:21
Location: Skåneland
Contact:

Re: Email formulär php.

Post by nva »

Med reguljära uttryck (regular expressions, eller kort regex) är det enkelt att validera en email-adress, förutsatt att du accepterar att validatorn inte är helt perfekt*. Regular-expressions.info har en artikel som förklarar hur du gör.

Om du inte vet hur du implementerar regexpar i php så rekommenderar jag en snabb sökning på Google.

* Om du läser igenom hela sidan så förstår du vad jag menar.
The three most dangerous things in the world are a programmer with a soldering iron, a hardware type with a program patch and a user with an idea.

In theory, there is no difference between theory and practice. But, in practice, there is.
User avatar
linc
Administratör
Posts: 7602
Joined: 2002-02-13 22:22:11
Location: Skåneland
Contact:

Re: Email formulär php.

Post by linc »

forcevision wrote:Okej nej nej förstår dig kan fråga ialla fall tänkte jag. Men jag förstår din script hyfsat så skall gå efter den. Helst vill jag ha mailet så som det ser ut på hemsidan fast utan alla ramar runt textfälten m.m. Okej nej det där med mailen det är skit samma det jag skulle vilja ha är då att den märker av att det är en mail adress är det en svår kodning ?

Är det inte så att jag bara fortsätter där du skrivit if (mail('forcevision@dindomain.se', $_POST['subject'], $_POST['message']))

med text fältets namn tex $_POST['namn'], $_POST['telefon'], m.m ?
Nja, du måste slå ihop strängarna till ett argument åt mail()-funktionen.

Typ såhär: mail('forcevision@dindomain.se', $_POST['subject'], $_POST['namn'] . $_POST['telefon']))

Det är ju en rätt stor grej att skriva ihop mailkollen om man jämför med det här ja. Ditt script måste dessutom ha någonstans att lagra koderna den har mailat iväg för att kunna jämföra dem senare osv, t ex i en databas-backend.
hej.
Post Reply