Problem med formel i PHP

Tags:    php forms phpmailer

<< < 12 > >>
Hejsa allesammen!

Jeg er igang med at få lavet en kontaktform til en kollegas hjemmeside!
Og jeg har fået sat det hele op osv. og den kan også sagtens sende resultatet af den form til min mail (Da jeg tester den for dem)

Problemet er bare, at den sender 2 mails!
En med alle resultater i, og så en anden, hvor der ingen resultater er i..
Hvad er det jeg gør forkert?

Her er koden til min form:
Fold kodeboks ind/udHTML kode 


Og herunder er min PHP-kode, som sender det hele til min mail:
Fold kodeboks ind/udPHP kode 


Er der nogen der kan se hvad der går galt?
Har arbejdet det meste af natten, så det kan godt være jeg er så træt, at jeg overser fejlen, hehe.

Al hjælp er modtaget med kyshånd.....



12 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Hvis du udføre din PHP kode ovenfor så kan du se at mail() udføres lige meget hvad. Der er altså ikke nogen betingelser for hvornår mail() skal udføres det gør den bare hver gang koden inkluderes i en anden fil for eksempel.

Ellers prøv og vis hvordan du inkluder PHP koden eller hvordan du gør.

Desuden bør du også teste om $_POST['Name'] overhovedet er sat før du bruger den eller får du en fejlbesked.
Det kan du gøre med...
Fold kodeboks ind/udPHP kode 


Men prøv og slå error_reporting til osv så du kan få diverse fejlbeskeder. Du kan skrive sådan her øverst i din PHP kode.
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 05.06.2012 21:44 af Bruger #13010
Det skulle ikke være så svært.

Du indsætter bare et ekstra input element i din HTML kode og skjuler det med CSS så brugern ikke kan se det.
Fold kodeboks ind/udHTML kode 


Når formularen sendes checker du om det skjulte input element er udfyldt og sender kun emailen hvis feltet er tomt. Hvilket så betyder at det nok er et menneske som har sendt det da en spam computer måske ville udfylde feltet.

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 07.06.2012 21:33 af Bruger #13010
Den kode du poster, skulle ikke sende to mails. Har du mere du kan fremvise?



Det er de eneste to filer jeg bruger til min form ..
Jeg kan sende et Screenshot af mailen, hvis det er?



Sikkert fordi den også sender en email når du bare går ind på siden uden at sende formularen.

Prøv og test om formularen sendes før der gåes ind i email koden.

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 05.06.2012 19:33 af Bruger #13010
Så den skal sættes ind på formularens side, den ovenstående kode?

Har aldrig oplevet at det er sket før nemlig.. :s



Så fungerer det!
Mange tak, Scootergrisen!

Af en eller anden grund, så hjælper det at slå error_reporting til .. :P
Der kommer ingen fejlkoder, men den sender kun en mail ad gangen.

Igen, mange tak! :D



Det vil nok også være en god ide på en eller anden måde at undgå at der kan sendes spam fra formularen fordi eller så går der noget tid også begynder der at komme automatisk sendte emails hvilket er kedeligt i længden.



Nogle forslag? :)
Jeg tænkte på captcha? ...



Jeg bruger denne løsning : http://scootergrisen.dk/phpgrisen/kode_email.php#undga_spam

Formularen har et for brugeren usynligt input felt som er tomt. Det vil sige hvis feltet bliver udfyldt så må det være en computer som har gjort det.

Jeg syntes det virker rigtig godt. Det skal nogen få gange at jeg får spam emails men langt mindre end hvis jeg ikke gjorde noget for at beskytte mod det.

Du kunne godt bruge CAPTCHA men det giver jo et irritationsmoment for dine brugere som bliver generet af det hvor min løsning der generes brugeren ikke.



Indlæg senest redigeret d. 06.06.2012 05:10 af Bruger #13010
<< < 12 > >>
t