![]() |
Hej, försöker fixa en enkel kontaktformulär men får inte till det riktigt, vad är det som rä fel i koden, för jag får fram att det inte gick att skicka...
Kod:
<?php |
Du måste skapa ett mail av alla variabler du har, typ:
"Namn: ".$namn."\nPersonnummer: ".$persnr."\n" osv.. http://www.php.net/manual/en/function.mail.php |
ok, verkar rätt svårt det där
|
mail(To, Subject, Body, Headers);
|
Lite väl överkurs för mig :) PHP kan jag inte tyvärr så det blir svårt att lösa det, det är ingen som har lust att skriva hur det skall vara?
|
Ändra följande...
Kod:
if (mail($to, $message, $persnr, $adress, $postnr, $ort, $from, $tel, $bild, $antal, $format, $agree ,"From: $name <$from>")) Kod:
if (mail($to, "From: $name <$from>", "$message, $persnr, $adress, $postnr, $ort, $from, $tel, $bild, $antal, $format, $agree")) |
Tack Jonathan ;) verkar funka :) Hur gör man så att det blir radbrytning i mailet sedan då efter varje variabel?
nu är allt i samma linje |
Detta är lite som att lära nån ladda ett gevär så de kan skjuta sig själva.
Guldstjärna i kanten till den som hittar de tolv säkerhetshålen i Davves kod. |
Snabbt svar: Ändra till följande så får du radbrytningar
Kod:
if (mail($to, "From: $name <$from>", "$message\n$persnr\n$adress\n$postnr\n$ort\n$from\n$tel\n$bild\n$antal\n$format\n$agree")) ...men som grazzy antyder finns det en del annat du borde lägga till för att göra koden säkrare... |
Tack, nu börjar det likna nåt, det som inte fungerar än är headers. När mailet kommer så är det rätta "till" där min adress står, under ämne på mailet står det "From mail" och där from mail ska vara är det loopias www.mail istället för mail från den personen som skickar brevet.
if (mail($to, "From: $name <$from>", "$persnr\n$name\n$adress\n$postnr\n$ort\n$from\n$t el\n$bild\n$antal\n$format\n\n$message\n\n$agree") ) vart ska subject in för att det ska vara rätt? |
|
PHPMailer, fast det blir nog för svårt. Fixat säkerhetshålen ännu?
|
Citat:
To: adressen dit mailet ska skickas Subject: Titel / rubrik för mailet Body: Meddelandet (har du en massa variabler enligt ditt exempel så måste du sätta ihop allt till en variabel som innehåller HELA meddelandet) Headers: från-adress, teckenkodning etc. (se beskrivning av mail-funktionen i länk ovan) Som flera redan påpekat så kan vem som helst i nuläget använda ditt kontaktformulär för att skicka spam till hela världen om de så önskar, med de begränsningar eventuellt webbhotell har. |
Citat:
Kod:
if (mail($to, "From: $name <$from>", "$message, $persnr, $adress, $postnr, $ort, $from, $tel, $bild, $antal, $format, $agree")) Kod:
if (mail($to, "HEJSAN!!!!!11 från $name <$from>", "$message, $persnr, $adress, $postnr, $ort, $from, $tel, $bild, $antal, $format, $agree"), "From: En Apa i Pyjamas!") |
Tack för alla svar, nu fungerar det korrekt. Ni som påpekar säkerhetshålen skulle tillföra så mycket mer genom att komma med exempel på hur man löser det istället för att förlöjliga det. några av oss även här haft annat för sig i sin uppväxt än att sitta 20 timmar framför burken varje dag :)=
|
Det jag skulle göra är att skriva skriptet på ett något annat sätt.
Kod:
<?php
Om du använder dig av UNIX-server hos oss eller någon annan bör du dessutom lägga till ett fjärde fält till mail()-funktionen: Kod:
elseif (mail($to, $subj, strip_tags($msg), "From: \"$fname\" <$from>","-f$from") |
Citat:
Till Emils kod kan tilläggas att teckenkodning bör skickas med till htmlentities om man inte använder ISO-8859-1 (förslagsvis UTF-8). Htmlentities är inte helt nödvändig dock utan det går som han antyder att lösa på andra sätt. För övrigt så säger väl ztream det nedan som flera hintat om på mindre väl valda sätt. |
Poängen som många gör är nog att oavsett hur lat man är, så borde man läsa manualen innan man ber professionella webmasters lösa ens problem gratis.
Citat:
|
Citat:
Även om det inte var illa menat så låter det inte vidare trevligt, hade jag kunnat PHP hade jag nog gjort allt annat än hjälpt dig nu. edit: typo |
Førvisso håller jag med dig davve i att vill man ge kritik kan det ju också høra till god sed att åtminstone ge dig ett tips om hur du går vidare (annars ær man væl bara elak? ;)), (jag tycker absolut inte, under några omstændigheter att folk ska ge dig kod, det lær du dig ingenting av.) Hur har du tænkt kunna koda i php om du inte kan php (och inte tycks villig att læra dig? måste jag också fråga mig? du kan ju inte mena att du ska førlita dig på att andra skriver koden gratis åt dig før att du frågar på wn.se? Vill du jobba i php så finns det vældigt många bra bøcker att læsa jag kan rekomedera dig flera stycken som skulle passa och ge dig en basic insættning i php, som du behøver før att skriva ett mailformulær.
Sen kommentarer om hur mycket folk hær inne har spenderat framfør datorn i barndomsdagar ær ju oerhørt onødigt, speciellt då du vænder dig till dessa personer før hjælp? Vem tror du vill hjælpa dig næsta gång ? Edit: Type-o |
Nu är det visserligen så att du (Davve) inte är programmerare och inte vill lära dig PHP utan och innan men ska du ändå kunna fixa till sådana här saker så måste du åtminstone lära dig grunderna, t.ex. vad variabler är och hur de fungerar. Googla efter "mail injection" för att läsa mer om just detta problemet.
|
Alla tider är GMT +2. Klockan är nu 23:10. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson