webForumDet fria alternativet

Kontaktformulär!!?

PHPur PHP

2 svar · 453 visningar · startad av Guldstrand

GuldstrandMedlem sedan juli 20041 271 inlägg
#1

Jag använder följande kontakt-script och det fungerar kanon.

<?
   $error_msg = '<p id="fel_meddelande"><b> Du har inte fyllt i alla obligatoriska fält</b></p>';
 
   $error = false;
 
   $submit = $_POST['submit'];
 
   if(empty($submit))
      $form_sent = false;
   else
      $form_sent = true;
 
   if ($form_sent)
   {
      $to  = 'Dinmail@mail.se' . ', ';
      $to .= 'Dinmail@mail.se' . ', ';
      $to .= 'Dinmail@mail.se'. ', ';
      $to .= 'Dinmail@mail.se';
 
      $name = $_POST['name'];
      $email = $_POST['email'];
      $subject = $_POST['subject'];
      $message = $_POST['message'];
 
      if(!$name) { $error_msg .= '<p id="fel_meddelande_error"><i>• Du måste skriva ditt namn</i><br /></p>'; $error = true;}
      if(!$email) { $error_msg .= '<p id="fel_meddelande_error"><i>• Du måste skriva din e-mail</i><br /></p>'; $error = true;}
      if(!$subject) { $error_msg .= '<p id="fel_meddelande_error"><i>• Du måste skriva ett ämne</i><br /></p>'; $error = true;}
      if(!$message) { $error_msg .= '<p id="fel_meddelande_error"><i>• Du måste skriva ett meddelande</i><br /></p>'; $error = true;}
 
      if($email) { if(!eregi("^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$", $email)){ $error_msg .= "<p id=\"pprojin\"><i>• Felaktig E-postadress</i></p>"; $error = true; }}
 
      if(!$error)
      {
         $msg  = "Namn: \t $name \n";
         $msg .= "E-mail: \t $email \n";
         $msg .= "Meddelande: \n $message \n";
 
         $mailheaders  = "MIME-Version: 1.0\r\n";
         $mailheaders .= "Content-type: text/plain; charset=iso-8859-1\r\n";
         $mailheaders .= "From: $name <$email>\r\n";
         $mailheaders .= "Reply-To: $name <$email>\r\n"; 
 
         mail($to, $subject ,stripslashes($msg), $mailheaders);
      }
   }
 
   if (($form_sent) && (!$error))
   {
      echo '<p id="about_motion_top">Tack för ditt mail ' . $name .'.</p>';
      echo '<p id="about_motion_top">Ditt mail skickades utan problem och vi kommer att svara inom ett par dagar.</p>';
      
   }
   else
   {
      if ($error)
      {   
         echo $error_msg;
      } 
 
      ?>
         <form action="?sida=kontakta" method="post" name="contact">
            <p id="kontakt_text">Namn:<span style="color: #C53A09;">*</span> <input name="name" type="text" value="<?php echo $name ?>" style="margin-left: 7px; height: 12px; width: 180px; border: 1px solid #000; background-color: #636363;color: #FFF; font-size: 9px;"></p>
            
            <p id="kontakt_text">E-mail:<span style="color: #C53A09;">*</span> <input name="email" type="text" value="<?php echo $email ?>" style="margin-left: 3px; height: 12px; width: 180px; border: 1px solid #000; background-color: #636363;color: #FFF; font-size: 9px;"></p>
            
            <p id="kontakt_text">Ämne:<span style="color: #C53A09;">*</span> <input name="subject" type="text" value="<?php echo $subject ?>" style="margin-left: 7px; height: 12px; width: 180px; border: 1px solid #000; background-color: #636363; color: #FFF; font-size: 9px;"></p>
 
            <p id="kontakt_text">Meddelande<span style="color: #C53A09;">*</span>
            <br />
            <textarea name="message" cols="30" rows="8" style="margin-left: 0px; height: 100px; border: 1px solid #000; background-color: #636363; color: #FFF; font-size: 12px; font-family: verdana; width: 250px;"><?php echo $message ?></textarea></p>
            
            <input name="submit" type="submit" value="Skicka" style="height: 17px; width: 60px; border: 1px solid #000; background-color: #636363; color: #000; font-size: 9px;">
            <input name="submit" type="reset" value="Rensa" style="margin-left: 10px; height: 17px; width: 60px; border: 1px solid #000; background-color: #636363; color: #000; font-size: 9px;">
         </form>
      <?
}
?>

Men då jag även tänker använda detta script som ett "beställningsformulär", så söker jag efter en extra funktion.

Funktion:
En "räknare" som visar hur många beställningar som har gjorts, aka. hur många gånger de har klickats på skicka-knappen.
Efter 100 beställningar, ska skicka-knappen bli "avaktiverad" så att inga fler beställningar kan göras förrän jag själv tillåter det. (Lite svårt att förklara.)

Tack på förhand!

aasahMedlem sedan mars 20034 471 inlägg
#2

Du måste ju lagra värdet av antalet knapptryckningar. Har du tillgång till databas? Annars får du skriva till fil.

HelmertzMedlem sedan maj 2005353 inlägg
#3

Har du en klar inloggningsfunktion? Om inte - hur har du då tänkt kontrollera vem som beställer?

En liten notis: om användaren fyller i fel information/lämnar flera fält tomma så skapas flera stycken med samma id (fel_meddelande_error). Du kanske ska ange en klass åt dem istället.

138 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)