Problem med PHP kontaktformular

Tags:    php

<< < 12 > >>
Hej

Jeg sidder og prøver at sætte en kontaktformular op i php. De første par gang jeg testede den virkede den fint og jeg fik sendt en mail til min mailadresse fra hjemmesiden. Nu er problemet så at jeg ikke kan få den til at virke mere. Jeg har prøvet at sætte mere simple formulare ind for at se om jeg kunne få det til at virke, men også uden held. :(
Jeg har webhotel hos one.com ved ikke om det kan have noget med det at gøre!? Jeg er forholdsvis ny i php så enhver hjælp vil blive værdsat... pft :D

Her er koden:

<?php
if($_POST['Submit'])
{
$navn = $_POST['navn'];
$email = $_POST['email'];
$besked = $_POST['besked'];
$tlf = $_POST['tlf'];

$til = 'min@mail.com';
$emne = "Besked fra: $navn";
$fra = "From: $email";

$indhold = "
Besked: $besked
Navn: $navn
Telefon: $tlf";

mail($til, $emne, $indhold, $fra);

echo "beskeden blev afsendt";


}
?>
<form name="mail" method="post" action="<?php print $_SERVER['PHP_SELF'];?>" onReset="return confirm('Er du sikker på at du vil slette alt?');">
<table width="379" border="0" align="center" cellpadding="0" cellspacing="0" class="tabel">
<tr>
<td width="75" height="50" align="right" valign="middle"><span class="style8">Besked:</span> </td>
<td width="270" height="110" align="right" valign="middle"><textarea name="besked" cols="30" rows="6" class="textarea"></textarea></td>
</tr>
<tr>
<td height="35" align="right" valign="middle">  Navn: </td>
<td width="270" align="right" valign="middle"><input name="navn" type="text" class="input" size="38"></td>
</tr>
<tr>
<td height="35" align="right" valign="middle">Tlf: </td>
<td width="270" align="right" valign="middle"><input name="tlf" type="text" class="input" size="38">
</td>
</tr>
<tr>
<td height="35" align="right" valign="middle">E-mail: </td>
<td width="270" align="right" valign="middle"><input name="mail" type="text" class="input" size="38"></td>
</tr>
<tr> </tr>
<tr>
<td align="right" valign="top"></td>
<td></td>
</tr>
<tr valign="bottom">
<td height="30"> </td>
<td height="30" align="right" style="padding-right:27px;">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<input name="send" type="submit" value="Send" /></td>
<td> </td>
<td><input name="Submit2" type="reset" class="button" value="Reset"/></td>
</tr>
</table>

</td>
</tr>
</table>
</form>




11 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
du har ikke noget felt der hedder "Submit".



Det er rigtigt at det kun er type="submit" der er nødvendig for at knappen fungerer på den måde. Men du har navngivet forkert flere steder i din name attribut. Du tjekker if ($_POST['Submit']) men du kalder din submit knap for "send". Du har linien $email = $_POST['email']; men du kalder din email tabel celle for "mail".



Indlæg senest redigeret d. 17.04.2010 14:30 af Bruger #14645
Man kan sagtens sende mails fra One.com's webhoteller vha. php funktionen mail().

Prøv at afvikle følgende script i stedet, for at teste hvorvidt funktionen virker på dit webhotel:

Fold kodeboks ind/udKode 


Den bruger jeg på et af mine One.com domæner, og den virker upåklageligt :)

EDIT: Husk selvfølgelig lige at ændre til din egen e-mail adresse ;)

Og prøv evt. at ændre følgende:
Fold kodeboks ind/udKode 


Til:
Fold kodeboks ind/udKode 


Bemærk desuden at hvis du selv sætter header vha. den 4. parameter (From: domain.dk <noreply@domain.dk>;), er det muligt at den pågældende e-mail fanges i et spam-filter. Fjerner du denne parameter, sendes mailen afsted med default values for header (hos one.com: "postmaster@domain.dk") og der er derfor mindre risiko for at mailen betragtes som spam.



Indlæg senest redigeret d. 18.04.2010 14:39 af Bruger #15793
Hejsa Jeg har kigget lidt på den og ændret den så den virker :)

(Husk at ændre din E-mail ved $til)

Værsgo:


Fold kodeboks ind/udKode 





Indlæg senest redigeret d. 26.05.2010 19:09 af Bruger #14218




du har ikke noget felt der hedder "Submit".


Tak for svaret :)

Nej feltet hedder godt nok ikke Submit, men hare da min en submitknap med type="submit", troede ikke det havde noget at sige. Anywho, jeg har ændret feltet så det nu hedder Submit, men jeg modtager stadig ingen mails :(



Endnu en gang tak for svaret. Du har ret.. jeg har snart stirret mig blind på alt det her. Jeg har rettet navnene til de 2 steder du nævnte kan ikke lige se flere. Jeg har slået fejlmeddelelser til nu og kan kun se at jeg får en "Notice: Undefined index: Submit" i denne linje: if($_POST['Submit']) :s alle navne skulle stemme overens nu, men stadig ingen mails



prøv lige med
if(isset($_POST['Submit']))


tror det er der ddet går galt



Det er prøvet nu og ingen fejlmeddelelser eller notices... men heller ingen mails



Jeg kunne forestille mig at det har noget med min udbyder at gøre altså one.com på deres side kan man finde:
"Hvis du ønsker at sende e-mails fra din web-side via et script kan dette naturligvis godt lade sig gøre. Her skal du bruge vores interne smtp-serveradresse: mailout.one.com." men newbie som jeg er aner jeg ikke hvad jeg skal gøre med dette... :(



<< < 12 > >>
t