Gå til innhold

Problemer med html form/php script.


Anbefalte innlegg

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 av Spenzer
Lenke til kommentar
Videoannonse
Annonse

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 av YaNkEs
Lenke til kommentar

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

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 av Spenzer
Lenke til kommentar

$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 av YaNkEs
Lenke til kommentar

... 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 av Ernie
Lenke til kommentar

Prøvde og forbedre min med de tipsene jeg fikk her, men endte med en kode som ikke fungerer :p

 

<?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

Prøvde og forbedre min med de tipsene jeg fikk her, men endte med en kode som ikke fungerer :p

 

<?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

... 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 av YaNkEs
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...