Fejl i php kontaktformular

Her kan du få hjælp til programmer eller funktioner, der er omtalt på Ludvigs Hjørne.

Fejl i php kontaktformular

Indlægaf ballegaarden » ons feb 03, 2010 13:33

Der er en fejl i php kontakt formularen du har til download.

Spam fælden har jeg slettet, for den virkede ikke.
Det er når man ikke markerer kopi feltet på siden, at der fremkommer en fejl meddelelse i linje 12
Det er den linje hvor -- $kopi = $_REQUEST['kopi']; -- står i.

Begge mail fremkommer, både med og uden markering.

Jeg tilføjer lige - HJÆLP - hvad gør jeg, hvad retter jeg for at få den til at virke?
ballegaarden
 
Indlæg: 54
Tilmeldt: tirs sep 30, 2008 10:38
Geografisk sted: Vejle

Re: Fejl i php kontaktformular

Indlægaf Kim Ludvigsen » tors feb 04, 2010 7:08

Er du sikker på, at det ikke er din ændring, der forårsager fejlen?

Er fejlen der også, hvis du bruger et frisk script, uden du sletter noget i det?

Hvordan har du slettet spamfælden?
Mvh.
Kim Ludvigsen
Kim Ludvigsen
Site Admin
 
Indlæg: 7257
Tilmeldt: tors jun 08, 2006 0:49

Re: Fejl i php kontaktformular

Indlægaf ballegaarden » tors feb 04, 2010 10:20

Her er koden som den ser ud nu og inden jeg slettede den med spamfælden, gav den også fejl i denne linje.
Nu er det kun kopi feltet det er galt med.
Hvordan skulle denne spamfælde virke, der er jo ikke lagt et felt ind til den.

Du kan prøve denne side hvis du prøver at sende en test på: http://www.ballegaarden.com/kontakt.html


<?php
$hjemmeside = "www.ballegaarden.com";
$mail = "[email protected]";
$afsendermail = "[email protected]";
$viderestil = "http://ballegaarden.com/svar-besked.html";

/* Her hentes oplysningerne fra de udfyldte felter */
$navn = $_REQUEST['navn'];
$email = $_REQUEST['email'];
$epost = $_REQUEST['epost'];
$besked = $_REQUEST['besked'];
$kopi = $_REQUEST['kopi'];
$emne = $_REQUEST['emne'];

/* Her tjekkes, om der er forbudte tegn i felterne */

if(strpos($navn,'@')!==false || strpos($epost,'\\')!==false || strpos($emne,'\\')!==false || strpos($navn,'\\')!==false)
{
echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen. Tjek, at du har skrevet din mail-adresse korrekt, og at du har skrevet den i det rigtige felt. Der må ikke være baglæns skråstreger (\) i felterne.";
exit();
}

/* Her tjekkes, om afsenderen har indtastet sin mail-adresse, og i så fald bruges den som afsendeeradresse, så der kan svares på mailen */
if(!empty($epost)) {
$headers="From: $navn <$epost>\r\n";
}
else {
$headers="From: Kontaktformular <$afsendermail>\r\n";
}

/* Her indsættes din mailadresse, så afsenderen kan svare på kopimailen */
$formularheaders="From: $hjemmeside <$afsendermail>\r\n";

/* Her samles afsenderens navn, mailadresse og besked i en enkelt variabel */
$oplysninger="Følgende er sendt via kontaktformularen på $hjemmeside:\r\n\r\nNavn: $navn\r\nE-mail: $epost\r\nBesked:\r\n$besked";

/* Her samles oplysningerne til afsenderens kopi af mailen */
$kopimail="Hej $navn\r\nDu har sendt følgende via kontaktformularen på $hjemmeside:\r\n$besked";

if ($kopi > '') {
/* Her sendes til modtageradressen */
mail($mail, $emne, $oplysninger, $headers);

/* Her sendes en kopimail til afsenderen */
mail($epost, $emne, $kopimail, $formularheaders);
}

else {
/* Her sendes mailen til modtageradressen */
mail($mail, $emne, $oplysninger, $headers);
}

/* Når mailen er sendt, viderestilles til denne hjemmeside */
header( "Location: $viderestil" );
?>
ballegaarden
 
Indlæg: 54
Tilmeldt: tirs sep 30, 2008 10:38
Geografisk sted: Vejle

Re: Fejl i php kontaktformular

Indlægaf Kim Ludvigsen » tors feb 04, 2010 10:42

ballegaarden skrev:Spam fælden har jeg slettet, for den virkede ikke.


Kan du forklare nærmere, hvorfor du mener, at det ikke virkede?

Er den indsatte kode i dit forrige indlæg kopieret direkte fra php-filen - altså uden nogle ændringer overhovedet?

ballegaarden skrev:Det er når man ikke markerer kopi feltet på siden, at der fremkommer en fejl meddelelse i linje 12
Det er den linje hvor -- $kopi = $_REQUEST['kopi']; -- står i.


Jeg får ikke en fejlmeddelelse. Jeg har prøvet både med og uden flueben ved kopien. Jeg har endnu ikke fået en (eller to) mail med en kopi, så der må vi lige vente og se, hvad der sker.
Mvh.
Kim Ludvigsen
Kim Ludvigsen
Site Admin
 
Indlæg: 7257
Tilmeldt: tors jun 08, 2006 0:49

Re: Fejl i php kontaktformular

Indlægaf ballegaarden » tors feb 04, 2010 12:44

Spamfælde virker ikke, er forkert udtrykt. Den meldte også fejl.
Ja jeg har kopieret php filen direkte.
Jeg vil tro du bruger Firefox, siden du ingen fejl meddelelse får, for det får jeg når jeg bruger Explore.
Nu er der ikke kommet nogen mail igennem, men min udbyder er ved at skifte anlæg, så de er nogle gange meget forsinket.
ballegaarden
 
Indlæg: 54
Tilmeldt: tirs sep 30, 2008 10:38
Geografisk sted: Vejle

Re: Fejl i php kontaktformular

Indlægaf Kim Ludvigsen » tors feb 04, 2010 13:04

ballegaarden skrev:Jeg vil tro du bruger Firefox, siden du ingen fejl meddelelse får, for det får jeg når jeg bruger Explore.


Det burde ikke gøre nogen som helst forskel. Php-kode afvikles ikke i browseren men på serveren. Resultatet bør derfor være ens i alle browsere.

ballegaarden skrev:Nu er der ikke kommet nogen mail igennem, men min udbyder er ved at skifte anlæg, så de er nogle gange meget forsinket.


Der er stadig ikke kommet nogle mails. Jeg prøver lige igen...

Jeg har prøvet en række gange, og en enkelt gang fik jeg en fejl. Fejlkoden snyder, der er ikke noget galt i den linje, som du skrev er linje 12. Fejlen skyldes, at en header sendes to gange, og det kan vist skyldes den måde webserveren er opsat på.

Allerførst, prøv at gå tilbage til det originale script, og lav så de nødvendige ændringer øverst i filen. Lad spamfælden være!

Du kan ikke se spamfælden, og det er netop meningen med den. Spammere forsøger at sende spam via formularer som den her, og de udfylder alle felter. Men her har vi skjult et enkelt felt, så almindelige brugere ikke kan se det. Kun spammerne kan se det. Er feltet udfyldt, er det derfor sandsynligvis en spammer, der er på spil.
Mvh.
Kim Ludvigsen
Kim Ludvigsen
Site Admin
 
Indlæg: 7257
Tilmeldt: tors jun 08, 2006 0:49

Re: Fejl i php kontaktformular

Indlægaf Kim Ludvigsen » tors feb 04, 2010 13:23

Når du har fået den gamle php-fil tilbage, så skal du også ind og rette lidt på selve siden. Du har indsat et link, hvor der ikke skal være et link. Det er sikkert derfor, det går galt.

Åbn din side i kildekodevisning, og finde denne kode:
<a href="svar-besked.html"><input value="Send" type="submit"></a>
Fjern linket, så du får dette resultat:
<input value="Send" type="submit">
Mvh.
Kim Ludvigsen
Kim Ludvigsen
Site Admin
 
Indlæg: 7257
Tilmeldt: tors jun 08, 2006 0:49

Re: Fejl i php kontaktformular

Indlægaf ballegaarden » tors feb 04, 2010 13:38

Nu har jeg slettet, men det hjalp desværre heller ikke
Jeg bliver med at få en fejlmeddelelse omkring linje 12 i php filen
Den sidste fejl forsvinder når linje 12 virker formoder jeg.
Test2 du sendte, sende du den fra Explore?
ballegaarden
 
Indlæg: 54
Tilmeldt: tirs sep 30, 2008 10:38
Geografisk sted: Vejle

Re: Fejl i php kontaktformular

Indlægaf Kim Ludvigsen » tors feb 04, 2010 14:00

Jeg har prøvet fra begge browsere. Og jeg har lige prøvet igen. Med flueben ud for kopi, virker de begge. Uden flueben fejler de begge - det er også som forventet, at det bør være ens i dem begge.

Tilsyneladende er problemet, at værdien af "kopi" er tom. Jeg har ingen anelse om, hvorfor det udløser en fejl, for det burde det ikke. Jeg vil gætte på, at det må skyldes en opsætning på serveren.
Mvh.
Kim Ludvigsen
Kim Ludvigsen
Site Admin
 
Indlæg: 7257
Tilmeldt: tors jun 08, 2006 0:49


Tilbage til Hjælp til Ludvigs Hjørne

Hvem er online

Brugere der læser dette forum: Ingen og 0 gæster