/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Ægte validering på formmail?
Fra : Stig Sørensen


Dato : 17-11-07 00:06

Hej gruppe.

Jeg har fundet en formail script på jweber.dk:

<a name="afsendt"></a>
<form action='debatforum.php#afsendt' method='post'>
   <table>
      <tr>
         <td><p>Dit navn <input type='text' name='navn' value='' size='15' /
></p></td>
         <td><p>Din e-mail <input type='text' name='email' value=''
size='15' /></p></td>
      </tr>
      <tr>
         <td colspan='2'><p><br />Besked:<br /><textarea name='besked'
rows='10' cols='45'></textarea><br /><br />
         <input type='submit' name='send' value='Send' /> <input
type='reset' value='Slet' /></p></td>
      </tr>
   </table>
</form>

<?php
//Dette script og andre kan findes på:
//http://www.jweber.dk

if(isset($_POST['send'])) {

   if (empty($_POST['navn'])) {
      //besked hvis brugeren ikke har indtastet noget navn
echo"Du skal indtaste dit navn";
   }
   elseif (empty($_POST['email'])) {
      //besked hvis brugeren ikke har indtastet nogen e-mail
echo "Du skal indtaste din e-mail";
      }
   elseif (empty($_POST['besked'])) {
      //besked hvis brugeren ikke har indtastet nogen besked
echo "Du skal indtaste en besked";
      }
   else {
      $franavn = $_POST['navn'];
      $framail = $_POST['email'];

      //indtast den mail-adresse som brugernes beskeder skal sendes til
      $sendtil="kontakt@billig-scooter.dk";

      //emnet på den mail du modtager
      $emne="Mail fra Mailform";

      $indhold = $_POST['besked'];

      $headers = "From: $franavn<$framail>";

      if(! mail($sendtil, $emne, $indhold, $headers))
         //besked hvis mailen ikke blev sendt
         echo "Fejl: Beskeden blev ikke sendt";
      else
         //besked hvis mailen blev sendt korrekt
         echo "<strong>Beskeden er blevet sendt med følgende
oplysninger:<br /><br />Navn: </strong>".$franavn.
            "<br /><strong>E-mail: </strong>".$framail."<br /><br /
><strong>Besked: </strong>".$indhold;
      }
   }
   ?>

Hvis man trykker Send uden at have indtastet noget i alle felter
bliver mailen ikke afsendt.
Men hvis man har succesfuldt afsendt sin besked via formmailen, og man
så refresher siden, så bliver mailen gensendt.
Hvordan sørger man for dette ikke sker?

På forhånd mange tak.

 
 
fix (17-11-2007)
Kommentar
Fra : fix


Dato : 17-11-07 20:49


"Stig Sørensen" <stig.sorensen@gmail.com> skrev i en meddelelse
news:bc7234e0-73de-4bda-beb8-5bc5c784e8cf@e4g2000hsg.googlegroups.com...
Hej gruppe.

Jeg har fundet en formail script på jweber.dk:

<a name="afsendt"></a>
<form action='debatforum.php#afsendt' method='post'>
<table>
<tr>
<td><p>Dit navn <input type='text' name='navn' value='' size='15' /
></p></td>
<td><p>Din e-mail <input type='text' name='email' value=''
size='15' /></p></td>
</tr>
<tr>
<td colspan='2'><p><br />Besked:<br /><textarea name='besked'
rows='10' cols='45'></textarea><br /><br />
<input type='submit' name='send' value='Send' /> <input
type='reset' value='Slet' /></p></td>
</tr>
</table>
</form>

<?php
//Dette script og andre kan findes på:
//http://www.jweber.dk

if(isset($_POST['send'])) {

if (empty($_POST['navn'])) {
//besked hvis brugeren ikke har indtastet noget navn
echo"Du skal indtaste dit navn";
}
elseif (empty($_POST['email'])) {
//besked hvis brugeren ikke har indtastet nogen e-mail
echo "Du skal indtaste din e-mail";
}
elseif (empty($_POST['besked'])) {
//besked hvis brugeren ikke har indtastet nogen besked
echo "Du skal indtaste en besked";
}
else {
$franavn = $_POST['navn'];
$framail = $_POST['email'];

//indtast den mail-adresse som brugernes beskeder skal sendes til
$sendtil="kontakt@billig-scooter.dk";

//emnet på den mail du modtager
$emne="Mail fra Mailform";

$indhold = $_POST['besked'];

$headers = "From: $franavn<$framail>";

if(! mail($sendtil, $emne, $indhold, $headers))
//besked hvis mailen ikke blev sendt
echo "Fejl: Beskeden blev ikke sendt";
else
//besked hvis mailen blev sendt korrekt
echo "<strong>Beskeden er blevet sendt med følgende
oplysninger:<br /><br />Navn: </strong>".$franavn.
"<br /><strong>E-mail: </strong>".$framail."<br /><br /
><strong>Besked: </strong>".$indhold;
}
}
?>

Hvis man trykker Send uden at have indtastet noget i alle felter
bliver mailen ikke afsendt.
Men hvis man har succesfuldt afsendt sin besked via formmailen, og man
så refresher siden, så bliver mailen gensendt.
Hvordan sørger man for dette ikke sker?
- clearer alle felter efter afsendelse ??

finn



Stig Sørensen (17-11-2007)
Kommentar
Fra : Stig Sørensen


Dato : 17-11-07 18:33

On 17 Nov., 20:48, "fix" <f...@faxe.dk> wrote:

> - clearer alle felter efter afsendelse ??
>
> finn

Ja, alle felter er clearet.

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408195
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste