Spenzer Skrevet 27. mars 2010 Del Skrevet 27. mars 2010 (endret) Hei Har lagd en html kode og et php script, det er et påmeldingsskjema hvor all informasjon skal bli sendt til eposten min. Problemet er at jeg ikke mottar noen epost, har prøvd både gmailen min og eposten min på samme domene som html og php filene ligger altså ([email protected]) bortsett fra det fungerer alt som det skal. HTML: <form method="post" action="sendpaameld.php"> <div align=center> <table width="200" border="0"> <tr> <td>Betalingsmetode:</td> <td><input type=radio name="betalingsmetode" value="Forhåndsbetaling" id="valg0" /> <label for="valg0">Forhåndsbetaling</label><br> <input type=radio name="betalingsmetode" value="Betaling ved ankomst" id="valg1"><label for="valg1">Betaling ved ankomst</label></td> </tr> <tr> <td>Fornavn:</td> <td><input name="fornavn" type="text" size=25 /></td> </tr> <tr> <td>Etternavn:</td> <td><input name="etternavn" type="text" size=25 /></td> </tr> <tr> <td>Email:</td> <td><input name="email" type="text" size=25 /></td> </tr> <tr> <td>Telefon:</td> <td><input name="Telefon" type="text" size=25 /></td> </tr> <tr> <td valign="top">Kommentar:</td> <td><textarea name="kommentar" rows="8" cols="40"></textarea></td> </tr> <tr> <td> </td> <td> <input type="submit" name="submit" value="Meld deg på"> <input type="reset" name="reset" value="Tøm skjema"/> </td> </tr> </table> </div> </form> PHP (sendpaameld.php): <?php $betalingsmetode = $_REQUEST['betalingsmetode'] ; $fornavn = $_REQUEST['fornavn'] ; $etternavn = $_REQUEST['etternavn'] ; $email = $_REQUEST['email'] ; $telefon = $_REQUEST['telefon'] ; $kommentar = $_REQUEST['kommentar'] ; mail( "[email protected]", "Påmeldingsskjema", "Betalingsmetode: $betalingsmetode", "Fornavn: $fornavn", "Etternavn: $etternavn", "Email: $email", "Telefon: $telefon", "Kommentar: $kommentar" ); header( "Location: http://www.domain.tld/paamelding_ok.html" ); ?> Endret 27. mars 2010 av Spenzer Lenke til kommentar
Yankes Skrevet 27. mars 2010 Del Skrevet 27. mars 2010 (endret) Hvilket webhotell har du? er noen av gratishotellene som ikke støtter mail() funksjonen.. EDIT: pluss at du har satt opp mailfunksjonen din litt feil tror jeg. $epost = "[email protected]"; $emne = "Påmeldingsskjema"; $avsender = "Påmelding - www.siden.det/sendes_fra"; $melding = "Betalingsmetode: $betalingsmetode Fornavn: ".$fornavn." Etternavn: ".$etternavn." Email: ".$email." Telefon: ".$telefon." Kommentar: ".$kommentar; $send_epost = mail($epost, $emne, $melding, $avsender); if(!$send_epost) { // feil } else { // sendt } Endret 27. mars 2010 av YaNkEs Lenke til kommentar
Spenzer Skrevet 27. mars 2010 Forfatter Del Skrevet 27. mars 2010 Hvilket webhotell har du? er noen av gratishotellene som ikke støtter mail() funksjonen.. EDIT: pluss at du har satt opp mailfunksjonen din litt feil tror jeg. $epost = "[email protected]"; $emne = "Påmeldingsskjema"; $avsender = "Påmelding - www.siden.det/sendes_fra"; $melding = "Betalingsmetode: $betalingsmetode Fornavn: ".$fornavn." Etternavn: ".$etternavn." Email: ".$email." Telefon: ".$telefon." Kommentar: ".$kommentar; $send_epost = mail($epost, $emne, $melding, $avsender); if(!$send_epost) { // feil } else { // sendt } Hei, jeg testet koden du skrev over, men fungerte ikke. Jeg bruker www.one.com Lenke til kommentar
Spenzer Skrevet 27. mars 2010 Forfatter Del Skrevet 27. mars 2010 (endret) Fant ut problemet under ser dere den fungerende koden: <?php $betalingsmetode = $_REQUEST['betalingsmetode'] ; $fornavn = $_REQUEST['fornavn'] ; $etternavn = $_REQUEST['etternavn'] ; $email = $_REQUEST['email'] ; $telefon = $_REQUEST['telefon'] ; $kommentar = $_REQUEST['kommentar'] ; mail( "[email protected]", "Påmeldingsskjema", "Betalingsmetode: $betalingsmetode\nFornavn: $fornavn\nEtternavn: $etternavn\nEmail: $email\nTelefon: $telefon\nKommentar: $kommentar" ); header( "Location: http://www.domain.tld/paamelding_ok.html" ); ?> Endret 28. mars 2010 av Spenzer Lenke til kommentar
Yankes Skrevet 27. mars 2010 Del Skrevet 27. mars 2010 (endret) $epost = "[email protected]"; $emne = "Påmeldingsskjema"; $melding = "Betalingsmetode: ".$betalingsmetode." Fornavn: ".$fornavn." Etternavn: ".$etternavn." Email: ".$email." Telefon: ".$telefon." Kommentar: ".$kommentar.""; $send_epost = mail($epost, $emne, $melding, "From: www.dinside.no <[email protected]>"); if(!$send_epost) { print("Error!"); } else { print("Sendt!"); } Det her funker helt toppers! testa det nå, hadde noen bugs på den forrige som jeg ikke testa.. EDIT: Ser du fikk det til, men sett meldingen inn i en variabel så mail funksjonen din blir litt ryddigere (ikke det at det har noe å si altså ..) Også hvis du tar med den "From: www.dinside.no <[email protected]>" så ser avsenderen mye bedre ut, da står det at du har fått mail fra www.dinside.no (via [email protected]).. Endret 27. mars 2010 av YaNkEs Lenke til kommentar
Ernie Skrevet 27. mars 2010 Del Skrevet 27. mars 2010 (endret) ... og for ordens skyld, grunnen til at koden til YaNkEs ikke fungerer er fordi den er helt avhengig av at register_globals er skrudd på, hvilket er mildt sagt dumt. Hent heller inndataene fra $_POST, $_GET e.l. så er du garantert å få de uavhengig av hva register_globals er satt til. Dessuten ble register_globals borte i PHP 5.3 hvis jeg ikke tar helt feil. Rettelse: register_globals er «deprecated» i PHP 5.3 og blir borte i PHP 6. Endret 27. mars 2010 av Ernie Lenke til kommentar
Spenzer Skrevet 28. mars 2010 Forfatter Del Skrevet 28. mars 2010 Prøvde og forbedre min med de tipsene jeg fikk her, men endte med en kode som ikke fungerer <?php $epost = "[email protected]"; $emne = "Påmeldingsskjema"; $melding = "Betalingsmetode: $betalingsmetode\nFornavn: $fornavn\nEtternavn: $etternavn\nEmail: $email\nTelefon: $telefon\nKommentar: $kommentar" $fra = "Fra: www.domene.tld <[email protected]>"); $betalingsmetode = $_REQUEST['betalingsmetode'] ; $fornavn = $_REQUEST['fornavn'] ; $etternavn = $_REQUEST['etternavn'] ; $email = $_REQUEST['email'] ; $telefon = $_REQUEST['telefon'] ; $kommentar = $_REQUEST['kommentar'] ; $send_epost = mail($epost, $emne, $melding, $fra); if(!$send_epost) { print("En feil har oppstått!"); } else { print("Sendt!"); } ?> Lenke til kommentar
Håvard Skrevet 28. mars 2010 Del Skrevet 28. mars 2010 Prøvde og forbedre min med de tipsene jeg fikk her, men endte med en kode som ikke fungerer <?php $epost = "[email protected]"; $emne = "Påmeldingsskjema"; $melding = "Betalingsmetode: $betalingsmetode\nFornavn: $fornavn\nEtternavn: $etternavn\nEmail: $email\nTelefon: $telefon\nKommentar: $kommentar" $fra = "Fra: www.domene.tld <[email protected]>"); $betalingsmetode = $_REQUEST['betalingsmetode'] ; $fornavn = $_REQUEST['fornavn'] ; $etternavn = $_REQUEST['etternavn'] ; $email = $_REQUEST['email'] ; $telefon = $_REQUEST['telefon'] ; $kommentar = $_REQUEST['kommentar'] ; $send_epost = mail($epost, $emne, $melding, $fra); if(!$send_epost) { print("En feil har oppstått!"); } else { print("Sendt!"); } ?> putt $epost, $emne og $melding under alle de andre variablene dine; altså under $kommentar. Lenke til kommentar
Yankes Skrevet 28. mars 2010 Del Skrevet 28. mars 2010 (endret) ... og for ordens skyld, grunnen til at koden til YaNkEs ikke fungerer er fordi den er helt avhengig av at register_globals er skrudd på, hvilket er mildt sagt dumt. Hent heller inndataene fra $_POST, $_GET e.l. så er du garantert å få de uavhengig av hva register_globals er satt til. Dessuten ble register_globals borte i PHP 5.3 hvis jeg ikke tar helt feil. Rettelse: register_globals er «deprecated» i PHP 5.3 og blir borte i PHP 6. Jeg tok som en selvfølge at $navn = $_POST['navn']; og $kommentar = $_POST['kommentar']; osv var satt da. Kanskje ignorent av meg men .. Spenzer: koden jeg skrev fungerte helt fint.. Eneste feilen jeg ser du har er at variablen $melding burde komme til slutt siden den inneholder variabler som blir definert etter at $melding blir satt. Også i $fra variablen din kan du ikke skrive "Fra: osv..." du må ha "From: osv..." om jeg ikke husker helt feil (pirke på) EDIT: prøv med denne koden (din kode i forrige post, bare modifisert litt); <?php $epost = "[email protected]"; $emne = "Påmeldingsskjema"; $fra = "From: www.domene.tld <[email protected]>"); $betalingsmetode = $_POST['betalingsmetode']; $fornavn = $_POST['fornavn']; $etternavn = $_POST['etternavn']; $email = $_POST['email']; $telefon = $_POST['telefon']; $kommentar = $_POST['kommentar']; $melding = "Betalingsmetode: ".$betalingsmetode." Fornavn: ".$fornavn." Etternavn: ".$etternavn." Email: ".$email." Telefon: ".$telefon." Kommentar: ".$kommentar.""; $send_epost = mail($epost, $emne, $melding, $fra); if(!$send_epost) { print("En feil har oppstått!"); } else { print("Sendt!"); } ?> Endret 28. mars 2010 av YaNkEs 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å