Gammon Skrevet 31. august 2005 Del Skrevet 31. august 2005 (endret) Jeg har lite problem med mitt kontaktskjema og mailform.php script. Alt fungerer greit, men mailen som sendes til meg inneholder ikke annet enn subject, ingen annen informasjon, som navn og e-post. Jeg er helt ny med PHP, og ser nok derfor ikke den forhåpentligvis innlysende feilen. PHP-koden er som følger: <?php if($_POST['submit']) { if($_POST['firma'] && $_POST['navn'] && $_POST['telefon'] && $_POST['epost']) { $firma; // inneholder navnet på firmaet $navn; // inneholder navnet på avsender $telefon; // inneholder avsenders telefonnr $epost; // inneholder avsenders epost-adresse $mottaker = '[email protected]'; $emne = 'Kontaktskjema fra hjemmesiden'; $fra = 'Fra: ' . $navn . '<' . $epost . '>'; if(mail($mottaker,$emne,$melding,$fra)){ echo 'Mailen ble sendt.'; } else { echo 'Det skjedde en feil, mailen ble ikke sendt'; } } else { echo 'Mailen kan ikke sendes fordi du lot noen felter stå tomme.'; } } else { echo 'Denne siden inneholder et mail-script. Du har kommet hit uten å fylle ut mail-skjema.'; } echo '<a href="index.php?side=kontakt">Tilbake</a>'; ?> Noen som har forslag til hva som er feil? edit: så at firma var skrevet feil en plass Endret 2. september 2005 av Gammon Lenke til kommentar
Gammon Skrevet 31. august 2005 Forfatter Del Skrevet 31. august 2005 (endret) Her er selve skjemaet: <form method="post" action="mail.php"> <p> <label for="firma">Firma:</label><br> <input type="text" id="firma" name="firma" /> </p> <p> <label for="navn">Navn:</label><br> <input type="text" id="navn" name="navn" /> </p> <p> <label for="telefon">Telefon:</label><br> <input type="text" id="telefon" name="telefon" /> </p> <p><label for="epost">E-post:</label><br> <input type="text" id="epost" name="epost" /> </p> <p><input type="submit" name="submit" value="Send" /><input type="reset" value="Nullstill" /></p> </form> Til informasjon, det jeg får opp i e-posten min er rett og slett: Fra: <> Endret 31. august 2005 av Gammon Lenke til kommentar
Yankes Skrevet 31. august 2005 Del Skrevet 31. august 2005 (endret) Prøv å ha koden sånn her da: <?php if($_POST['submit']) { if($_POST['firma'] && $_POST['navn'] && $_POST['telefon'] && $_POST['epost']) { $firma; // inneholder navnet på firmaet $navn; // inneholder navnet på avsender $telefon; // inneholder avsenders telefonnr $epost; // inneholder avsenders epost-adresse $mottaker = '[email protected]'; $emne = 'Kontaktskjema fra hjemmesiden'; $fra = 'Fra: $navn - $epost'; if(mail("$mottaker", "$emne", "$melding", "$fra")){ echo 'Mailen ble sendt.'; } else { echo 'Det skjedde en feil, mailen ble ikke sendt'; } } else { echo 'Mailen kan ikke sendes fordi du lot noen felter stå tomme.'; } } else { echo 'Denne siden inneholder et mail-script. Du har kommet hit uten å fylle ut mail-skjema.'; } echo '<a href="index.php?side=kontakt">Tilbake</a>'; ?> Endret 31. august 2005 av YaNkEs Lenke til kommentar
Gammon Skrevet 31. august 2005 Forfatter Del Skrevet 31. august 2005 Prøv å ha koden sånn her da: <?php if($_POST['submit']) { if($_POST['firma'] && $_POST['navn'] && $_POST['telefon'] && $_POST['epost']) { $firma; // inneholder navnet på firmaet $navn; // inneholder navnet på avsender $telefon; // inneholder avsenders telefonnr $epost; // inneholder avsenders epost-adresse $mottaker = '[email protected]'; $emne = 'Kontaktskjema fra hjemmesiden'; $fra = 'Fra: $navn - $epost'; if(mail("$mottaker", "$emne", "$melding", "$fra")){ echo 'Mailen ble sendt.'; } else { echo 'Det skjedde en feil, mailen ble ikke sendt'; } } else { echo 'Mailen kan ikke sendes fordi du lot noen felter stå tomme.'; } } else { echo 'Denne siden inneholder et mail-script. Du har kommet hit uten å fylle ut mail-skjema.'; } echo '<a href="index.php?side=kontakt">Tilbake</a>'; ?> Dessverre, funket heller ikke, nå kom "Fra:" heller ikke med. Er det noe i skjemaet mitt som er feil da? Lenke til kommentar
0lav Skrevet 31. august 2005 Del Skrevet 31. august 2005 Hm.. Har du satt stringen $melding noen plass? Mulig den ligger i scriptet men jeg ser den hvertfall ikke.. Så det kan jo være derfor du ikke får meldingen.... Lenke til kommentar
Gammon Skrevet 31. august 2005 Forfatter Del Skrevet 31. august 2005 Hm.. Har du satt stringen $melding noen plass? Mulig den ligger i scriptet men jeg ser den hvertfall ikke.. Så det kan jo være derfor du ikke får meldingen.... Nei, tror ikke jeg har satt den, hvor skal den stå og hva skal det stå? Lenke til kommentar
0lav Skrevet 31. august 2005 Del Skrevet 31. august 2005 Kommer ann på hva du skal ha i den:) Men det er det samme hvor du setter den.. Eks.: $melding="Sendt fra: ".$navn." Email: ".$email." Telefon: " .$telefon." Firma :".$firma; Elns.. Du setter det selv opp slik du vil ha det... Lenke til kommentar
Gammon Skrevet 31. august 2005 Forfatter Del Skrevet 31. august 2005 Kommer ann på hva du skal ha i den:) Men det er det samme hvor du setter den.. Eks.:$melding="Sendt fra: ".$navn." Email: ".$email." Telefon: " .$telefon." Firma :".$firma; Elns.. Du setter det selv opp slik du vil ha det... hehe, det var nesten det fungerte nå, men det som kommer opp i mailen til meg nå er: Sendt fra: Email: Telefon: Firma : Hvorfor klarer den ikke å hente ut dataen som er fylt inn i skjemaet, er det noe med serveren som scriptet kjører på? Takk for hjelpen, forresten Lenke til kommentar
kakkle Skrevet 31. august 2005 Del Skrevet 31. august 2005 Du gir ikke variblene noen verdi: $firma; // inneholder navnet på firmaet $navn; // inneholder navnet på avsender $telefon; // inneholder avsenders telefonnr $epost; // inneholder avsenders epost-adresse Du må sette dem lik det som er skrevet inn i hvert felt i formen (hint: $_POST[]) Lenke til kommentar
Gammon Skrevet 31. august 2005 Forfatter Del Skrevet 31. august 2005 Du gir ikke variblene noen verdi: $firma; // inneholder navnet på firmaet $navn; // inneholder navnet på avsender $telefon; // inneholder avsenders telefonnr $epost; // inneholder avsenders epost-adresse Du må sette dem lik det som er skrevet inn i hvert felt i formen (hint: $_POST[]) hmm, du satte meg fast der Kan du hjelpe meg litt lenger på veien? Som sagt, jeg er nybegynner. Lenke til kommentar
kakkle Skrevet 31. august 2005 Del Skrevet 31. august 2005 For å få tak i verdien til feltet med navnet firma i formen, så må du bruke $firma = $_POST["firma"]; osv... Du har brukt disse i if setningen din sett hver av variablene ($firma, $navn.. osv) lik den respektive $_POST ($_POST["firma"], osv...) Bare spør igjen, dersom dette ble uklart... Lenke til kommentar
Zic0 Skrevet 31. august 2005 Del Skrevet 31. august 2005 Bruker man ikke "FROM" på headeren og ikke "Fra"? Lenke til kommentar
Yankes Skrevet 31. august 2005 Del Skrevet 31. august 2005 (endret) i mail() funksjonen så kan du gjøre sånn her da: mail("[email protected]", "Kontaktskjemaet fra hjemmesiden", " Navn: $navn Firma: $firma Telefon: $telefon Epost: $epost ", "Fra $mail") Så kan du stryke disse her fra koden din: $mottaker = '[email protected]'; $emne = 'Kontaktskjema fra hjemmesiden'; $fra = 'Fra: $navn - $epost'; Da tror jeg det skal funke fint! Endret 31. august 2005 av YaNkEs Lenke til kommentar
Gammon Skrevet 2. september 2005 Forfatter Del Skrevet 2. september 2005 Sånn, tilbake på jobb etter et par dager fri; har derfor ikke fått prøvd forslagene fra dere før nå. Nå fungerer alt utmerket, mange takk til alle som hjalp til med forslag, og spesielt til Kakkle, som satte fingeren på akkurat det som var problemet Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå