webForumDet fria alternativet

Promblem med mail script..

PHP

11 svar · 726 visningar · startad av richardjoha

Medlem sedan okt. 2005787 inlägg
Frågan#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>
Medlem sedan dec. 20025 483 inlägg
#2

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

Medlem 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.

Medlem 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.)

Medlem sedan okt. 2006224 inlägg
#5

Gotta love debugging in PHP :p

Medlem sedan juni 200032 967 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.

Medlem sedan juni 20001 251 inlägg
#7

matlin skrev:

Gotta love debugging in PHP :p

Kör du IIS?

Medlem 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.

Medlem sedan juli 20023 617 inlägg
#9

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

Medlem 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.

Medlem sedan juni 20006 031 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">

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

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)