fout in mail form!

Status
Niet open voor verdere reacties.

Barry_127

Gebruiker
Lid geworden
20 jan 2003
Berichten
478
hallo kan iemand deze mailform laten werken??

PHP:
<html>
	<head>
		<link rel="StyleSheet" type="text/css" href="sheet.css"></link>
		<title>
			Contact
		</title>
	</head>
	<body background="bg.jpg">
   	   <?php
   	   if(count($_POST) > 0)
   	   {
	   	   if(!isset($_POST['mssg']) == true)
	   	   {
		   	   $name    = htmlspecialchars($_POST['name']);
		   	   $subject = htmlspecialchars($_POST['subject']);
		   	   $eml     = htmlspecialchars($_POST['eml']);
		   	   $mssg    = htmlspecialchars($_POST['mssg']);
		   	   
		   	   if($name == "")
		   	   {
			   	   echo "U heeft uw naam niet ingevuld!";
		   	   }
		   	   elseif($subject == "")
		   	   {
			   	   echo "U heeft geen onderwerp gekozen!";
		   	   }
		   	   elseif($eml == "")
		   	   {
			   	   echo "U heeft uw eigen e-mail adres niet ingevuld!";
		   	   }
		   	   elseif($mssg == "")
		   	   {
			   	   echo "U heeft geen bericht geschreven!";
		   	   }
		   	   else
		   	   {
			   	   $result = @mail("b.kleijn@quicknet.nl",$subject,"Naam: $name  E-mail: $eml  bericht: $mssg");
			   	     if($result == FALSE)
			   	     {
				   	     echo "Het bericht kon niet verzonden worden, mijn excuses voor het ongemak.";
			   	     }
			   	     else
			   	     {
				   	     echo "Bedankt voor uw e-mail!";
			   	     }
			   	   die();
		   	   }
	   	   }
   	   }
   	   else
   	   {
   	   ?>
		<form action="mail.php" method="POST">
		    <table border="0" width="100%">
		    	<tr>
		    		<td class="std" width="20%">
		    			Uw naam:
		    		</td>
		    		<td width="80%">
		    			<input type="text" name="name">
		    		</td>
		    	</tr>
		    	<tr>
		    		<td class="std">
		    			Onderwerp:
		    		</td>
		    		<td>
		    			<select name="subject">
		    				<option></option>
		    				<option>Grafisch ontwerpen</option>
		    				<option>Webdesign</option>
		    				<option>Anders</option>
		    			</select>
		    		</td>
		    	</tr>
		    	<tr>
    				<td class="std">
    					Uw e-mail adres:
    				</td>
    				<td>
		    			<input type="text" name="eml">
		    		</td>
		    	</tr>
		    	<tr>
		    		<td class="std" colspan="2" width="100%">
		    			Uw bericht:
		    		</td>
		    	</tr>
		    	<tr>
		    		<td colspan="2" width="100%">
		    			<textarea name="mssg" rows="10" cols="40"></textarea>
		    		</td>
		    	</tr>
		    	<tr>
		    		<td colspan="2" width="100%">
						<input type="submit" value="Verzend" name="submit"> <input type="reset" value="Leeg velden" name="reset">
					</td>
				</tr>
			</table>
		</form>
		<?php }?>
	</body>
</html>

alvast bedankt :D
 
hallo kan iemand deze mailform laten werken??
Vast wel :).

Ik weet niet wie deze code geschreven heeft, misschien jijzelf wel, maar hij is zeer goed :).
Het is geordend, variabelen zijn redelijk gescheiden, in de mail functie niet, van strings, je gebruikt == TRUE en count($_POST) ... 'T is haast mijn eigen code...Op een paar beveiligingscontroles na ;).
Probeer dit eens:
PHP:
<html>
<head>
<link rel="StyleSheet" type="text/css" href="sheet.css"></link>
<title>Contact</title>
</head>

<body background="bg.jpg">
<?php
if(count($_POST) > 0)
{
  if((isset($_POST["mssg"]) == TRUE) AND (isset($_POST["name"]) == TRUE) AND (isset($_POST["subject"]) == TRUE) AND (isset($_POST["eml"]) == TRUE) AND (isset($_POST["mssg"]) == TRUE)) // ! weggehaald voor isset en de rest van de velden ook toegevoegd.
  {
  $name    = htmlspecialchars($_POST["name"]);
  $subject = htmlspecialchars($_POST["subject"]);
  $eml     = htmlspecialchars($_POST["eml"]);
  $mssg    = htmlspecialchars($_POST["mssg"]);
    if($name == "")
    {
    echo "U heeft uw naam niet ingevuld!";
    }
    elseif($subject == "")
    {
    echo "U heeft geen onderwerp gekozen!";
    }
    elseif($eml == "")
    {
    echo "U heeft uw eigen e-mail adres niet ingevuld!";
    }
    elseif($mssg == "")
    {
    echo "U heeft geen bericht geschreven!";
    }
    else
    {
    $result = @mail("b.kleijn@quicknet.nl",$subject,"Naam: " . $name . "\n  E-mail: " . $eml . "\n\nBericht: " . $mssg); // Variabelen gescheiden van strings & returns toegevoegd zodat de mail beter uit te lezen is.
      if($result == FALSE)
      {
      echo "Het bericht kon niet verzonden worden, mijn excuses voor het ongemak.";
      }
      else
      {
      echo "Bedankt voor uw e-mail!";
      }
    die();
    }
  }
}
else
{
?>
<form action="mail.php" method="POST">
<table border="0" width="100%">
<tr>
<td class="std" width="20%">Uw naam:</td>
<td width="80%"><input type="text" name="name"></td>
</tr>
<tr>
<td class="std">Onderwerp:</td>
<td><select name="subject">
<option></option>
<option>Grafisch ontwerpen</option>
<option>Webdesign</option>
<option>Anders</option>
</select></td>
</tr>
<tr>
<td class="std">Uw e-mail adres:</td>
<td><input type="text" name="eml"></td>
</tr>
<tr>
<td class="std" colspan="2" width="100%">Uw bericht:</td>
</tr>
<tr>
<td colspan="2" width="100%"><textarea name="mssg" rows="10" cols="40"></textarea>
</td>
</tr>
<tr>
<td colspan="2" width="100%"><input type="submit" value="Verzend" name="submit"> <input type="reset" value="Leeg velden" name="reset">
</td>
</tr>
</table>
</form>
<?php
}
?>
</body>

</html>
Voor aantekeningen, zie code :)

Succes :thumb:
 
het begin van deze code heb ik ook van jou gehad :D ;)

lol

ik ga hem even testen

Bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan