webForumDet fria alternativet

Promblem med mail script..

11 svar · 726 visningar · startad av richardjoha

richardjohaMedlem sedan okt. 2005787 inlägg
#1

Jag ser inte vad som är fel med denna kod. behöver fler ögon...


<?php 
   $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  = 'info@info.se' . ', ';
      $to .= 'info@info.se' . ', ';
      $to .= 'info@info.se'. ', ';
      $to .= 'info@info.se';
 
      $name = $_POST['name'];
      $email = $_POST['email'];
      $subject = $_POST['subject'];
      $message = $_POST['message'];
 
 
      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: $email\r\n";
         $mailheaders .= "Reply-To: $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.</p>';
	  
      
   }
   else
   {
      if ($error)
      {   
         echo $error_msg;
      } 
 
      ?> 
		 
	  <p>Här kan du kontakta mig</p>
      <form id="frmContato" method="post">
          <p>
          <label for="name">För och Efternamn: (obligatoriskt) </label>
          <input name="name" value="<?php echo $name ?>" type="text" />
        </p>
          <p>
          <label for="email">Din E-post address: (obligatoriskt) </label>
          <input name="email" value="<?php echo $email ?>" type="text" />
        </p>
        <p>
          <label for="subject">Ditt Telefonnummer: (obligatoriskt) </label>
          <input name="subject" value="<?php echo $subject ?>" type="text" />
        </p>
          <p>
          <label for="message">Ditt Medelande: (obligatoriskt) </label>
          <textarea name="message" cols="20" rows="10"><?php echo $message ?></textarea>
        </p>
          <p>
		  <input name="submit" type="submit" value="Skicka" id="Submit" class="submit" />
          <input name="send" type="hidden" value="s" id="send" />
		  		  </p>
      </form>
Peter SMedlem sedan dec. 20025 483 inlägg
#2

Vad är det som inte fungerar? Vart går det snett?

richardjohaMedlem sedan okt. 2005787 inlägg
#3

Peter S skrev:

Vad är det som inte fungerar? Vart går det snett?

får ett felmeddelande i explorer:

Webbplatsen kan inte visa sidan
HTTP 500
Mest sannolika orsaker:
Webbplatsen underhålls.
Det finns ett programmeringsfel i webbplatsen.

aasahMedlem sedan mars 20034 471 inlägg
#4

Tips: Kommentera bort alla rader utom den första. Se hur sidan ser ut.
Om OK, avkommentera rad 2. Se hur sidan ser ut.
... Fortsätt så tills problemet uppstår. Då vet du vilken rad som genererar den.

(Naturligtvis får du göra det på ett smart sätt, du kan ju inte avkommentera halva funktioner, men du kan avkommentera anrop till dem och också koden inuti funktionerna.)

matlinMedlem sedan okt. 2006224 inlägg
#5

Gotta love debugging in PHP :p

@ndersMedlem sedan juni 200032 969 inlägg
#6

Sedan får man också se till att stänga av "Egna http-felmeddelanden" / "Friendly http error messages" i Internet Explorer så man kan få riktiga felmeddelanden från webbservern.

stevenetMedlem sedan juni 20001 251 inlägg
#7

matlin skrev:

Gotta love debugging in PHP :p

Kör du IIS?

matlinMedlem sedan okt. 2006224 inlägg
#8

stevenet skrev:

Kör du IIS?

Kör IIS, men inte när jag gör något med PHP. Då blir det Apache (WAMP) som jag använder. Ville bara belysa att debugning i PHP inte är mycket att hurra över. Även om jag vet att det inte är så lätt att implementera i ett script-språk.

fiddlerMedlem sedan juli 20023 617 inlägg
#9

Kan det vara en måsvinge för lite i sista else-satsen månne...?

TrankanMedlem sedan okt. 2006129 inlägg
#10

Kan inte speciellt mycket om PHP, men i formuläret lär du väl sätta ut ett semikolon efter varje variabel, så att du stänger echo-funktionerna? Rätta mig gärna om jag har fel.

PeddaMedlem sedan juni 20006 032 inlägg
#11

Hjälper det om du lägger till action i ditt formulär kanske?
<form id="frmContato" method="post" action="sidans_namn.php">

aasahMedlem sedan mars 20034 471 inlägg
#12

matlin skrev:

Gotta love debugging in PHP :p

Jag tar debugging av PHP över debugging av JavaScript vilken dag som helst... I normala fall får man ut radnummer och vettiga felmeddelanden från PHP. Har du satt:
error_reporting(E_ALL); någonstans högt upp i PHP-scriptet?

130 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)