Voor een client heb ik een site gemaakt met een aantal formulieren. Nu heeft de client van zijn hostingbedrijf te horen gekregen dat er vanaf zijn site spam verstuurd wordt.

De formulieren moeten dus aangepast worden op de 1 of andere manier.

Heb tutorial doorgelezen http://www.phphulp.nl/php/tutorials/10/340/694/

maar hiervoor heb ik te weinig php kennis om alles goed aan te passen.

Wie kan mij helpen?? Liefst zo spoedig mogelijk, vergoeding in overleg!
Sorry bericht 2 keer geplaatst..........
Helder en dan gaat dit:

<?php
<form name="roos" method="post" action="send.php">
?>


wel veranderen in bijv dit:

<?php
<form name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
?>


Eerlijksheidshave moet ik je bekennen dat ik een ander formulier gebruikt en wanneer je hierin geinteresseerd bent laat maar horen.
anything, wanneer de website maar weer kan draaien zonder dat er op de formulieren spam verstuurd kan worden.

Denk je dat ik dat formulier van jou kan begrijpen en aanpassen?
We gaan het proberen :)

Alles op 1 pagina die je bijv. mailen.php noemt.


<?php
session_start ();

include ("include/antiflooding.php");

// bescherming tegen antiflood
// deze code staat eerder vermeld in dit topic en wil je dit niet dan // ervoor zetten. bij mij staat antiflood.php in de map include dus bovenaan ook zoals je ziet 
antiflood();

// zet de variabelen neer die ik ga gebruiken 
$strError		= "";							// errorhulp 
$strWebsite    	= "www.jow_site_hierzo";		// website van listeigenaar 
$strEmailSite  	= "jouw@emai_addresse";		// email adres van listeigenaar 
$strNaamSite   	= "Jouw Keus voor iets";				// website naam 
$strDatum    	= date("d-m-Y H:i");			// maakt een variabele aan waar ik de huidige tijd in zet 
$Naam			= "";
$Email			= "";
$Adres			= "";
$Postcode		= "";
$Woonplaats		= "";
$Tel			= "";
$Bericht		= "";
$EmailCheck 	= "";
$TelefoonCheck	= "";
$PostcodeCheck	= "";
$To        		= "jouw@email addresse";		// jezelf en de email adressen uit de database
$Subject		= "Een mail van de naam van de   website";
$IP				= $REMOTE_ADDR;
// Vul je de redirect link in.
$Link 		= "../../index.php";

// kijkt of er data is gepost!! dus zeg maar of er op de knop verzenden is geklikt
// zo ja, gaat ie in de if dingen uitvoeren
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
	//kijk of de variabelen bestaan, zo ja geef ik daar een naam aan
	if(isset($_POST['Naam']))
	{
		$Naam = $_POST['Naam'];
	}
	
	if(isset($_POST['Email']))		
	{
		$Email = $_POST['Email'];
	}
	
	if(isset($_POST['Adres']))		
	{
		$Adres = $_POST['Adres'];
	}
	
	if(isset($_POST['Postcode']))	
	{
		$Postcode = $_POST['Postcode'];
	}
	
	if(isset($_POST['Woonplaats']))	
	{
		$Woonplaats = $_POST['Woonplaats'];
	}
	
	if(isset($_POST['Tel']))
	{
		$Tel = $_POST['Tel'];
	}
	
	if(isset($_POST['Bericht']))
	{
		$Bericht = $_POST['Bericht'];
	}
	
	if(isset($_POST['To']))
	{
		$To = $_POST['To'];
	}
	
	if(isset($_POST['Subject']))
	{
		$Bericht = $_POST['Bericht'];
	}
	
	// Toon het ip adres van de bezoeker
	if(isset($_POST['IP']))	
	{
		$IP	= $_SERVER['REMOTE_ADDR'];
	}
	
	// zijn de checks die ik uitvoer voor email en postcode
	$EmailCheck 		= "^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$";
	$PostcodeCheck		= "^[1-9]{1}[0-9]{3}[ ]{0,1}[a-zA-Z]{2}$";
	$TelefoonCheck		= "^([0-9]{10})$|[0-9]{2}-[0-9]{8}$|[0-9]{3}-[0-9]{7}$|([0-9]{4})-([0-9]{6})$";
	
	// als er niks bij bericht is ingevult geef error	
	if($Bericht == "")
	{
		$strError = "U moet wel een bericht invullen!";
	}
	
	// als er niks bij adres is ingevult geef error	
	if($Adres == "")
	{
		$strError = "U moet wel een adres invullen!";
	}
	
	// als er niks bij adres is ingevult geef error	
	if($Woonplaats == "")
	{
		$strError = "U moet wel een woonplaats invullen!";
	}
	
	// als er niks bij telefoon is ingevult geef error	
	if($Tel == "")
	{
		$strError = "U moet wel een telefoonnummer invullen! voorbeeld: 0123-456789";
	}
	else // als er wel wat is ingevult check
	{ 
		if(!eregi($TelefoonCheck, $Tel))
		{
			$strError = "U moet wel een geldige telefoonnummer invoeren! voorbeeld: 0123-456789";
		}
	}
	
	// als er niks bij postcode is ingevult geef error		
	if($Postcode == "")
	{
		$strError = "U moet wel een postcode invoeren! voorbeeld: 1000 AB";
	}
	else // als er wel wat is ingevult check dat of het wel met 4 cijfers en 2 letters is
	{ 
		if(!eregi($PostcodeCheck, $Postcode))
		{
			$strError = "U moet wel een geldige postcode invoeren! voorbeeld: 1000 AB";
		}
	}
	
	// als er niks bij email is ingevult geef error	
	if($Email == "")
	{
		$strError = "U moet wel een email adres opgeven!";
	}
	else
	// als er wel wat is ingevult check of het een geldig email adres is in hoevere dat kan natuulijk!!
	{
		if(!eregi($EmailCheck, $Email))
		{
			$strError = "U moet wel een geldige email opgeven!";
		}
	}
	
	// als er niks bij naam is ingevult geef error	
	if($Naam == "")
	{
		$strError = "U moet wel uw naam invullen!";
	}
	
	// als er geen errors zijn mag hij de mail gaan versturen
	if($strError == "")
	{
		$Mail ="
*************************************************************************
Naam			: $Naam
Email   		: $Email
Adres			: $Adres
Postcode		: $Postcode
Woonplaats		: $Woonplaats
Tel.			: $Tel
IP				: $IP
Datum verstuurd	: $strDatum

Bericht 		: $Bericht
*************************************************************************";

$Headers  .=" . $To .  \n";
//$Headers  = "BCC: ". $to . "\n";
//$Headers .= "Cc: [email protected]\r\n";
$Headers = "From: \"" . $strWebsite . "\" <" . $strEmailSite . ">\n";
$Headers .= "MIME-Version: 1.0\n";
$Headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$Headers .= "X-Priority: 3\n";
$Headers .= "X-MSMail-Priority: Normal\n";
$Headers .= "X-Mailer: php\n";

	// mail , naar, onderwerp, en de inhoud naar jou toe
	// de $TO en $Subject kan je veranderen in het form onderaan.
	mail ($To, $Subject, $Mail, $Headers);
	
	$_SESSION['Naam'] = $Naam;
	// als de mail goed is verstuurd wordt je automatisch naar bedankt.php gestuurd!!
	// vooropgesteld dat je die hebt anders zet je er // voor
	//header('location: bedankt.php');
	
	// Dit redirect je naar een andere pagina.
	echo "<meta http-equiv='refresh' content='0; url=$Link'>";
	}
}

//laten we nu maar alles outputten,
ob_end_flush();
?>
<br>
<br>Vul het formulier in en klik op Verstuur als het klaar is om te verzenden.
<br>
<?php echo "<h2>" .$strError."</h2>"; ?>
<form name="form1" method="post" action="">
<table align="left" valign="top" width="70%" cellpadding="0" cellspacing="0" border="0" class="tekst">
<tr>
	<td colspan="2"><input type = 'hidden' name = 'To' value = 'jouw@email_addresse'></td>
</tr>
<tr>
	<td colspan="2"><input type = 'hidden' name = 'Subject' value = 'Een mail van jouw website'><input type='hidden' name='IP' value='" . $IP . "'></td>
</tr>
<tr>
	<td width="20%" class="style1">Naam*</td>
	<td width="80%"><input name="Naam" type="text" style=" border: #400040 1px dashed; color: #400040; background-color: #FFFFFF; value="<?= $Naam ?>"></td>
</tr>
<tr>
	<td class="style1">Email*</td>
	<td><input name="Email" type="text" style=" border: #400040 1px dashed; color: #400040; background-color: #FFFFFF; value="<?= $Email ?>"></td>
</tr>
<tr>
	<td class="style1">Adres*</td>
	<td><input name="Adres" type="text" style=" border: #400040 1px dashed; color: #400040; background-color: #FFFFFF; value="<?= $Adres ?>"></td>
</tr>
<tr>
	<td class="style1">Postcode*</td>
	<td><input name="Postcode" type="text" style=" border: #400040 1px dashed; color: #400040; background-color: #FFFFFF; value="<?= $Postcode ?>"></td>
</tr>
<tr>
	<td class="style1">Woonplaats*</td>
	<td><input name="Woonplaats" type="text" style=" border: #400040 1px dashed; color: #400040; background-color: #FFFFFF; value="<?= $Woonplaats ?>"></td>
</tr>
<tr>
	<td class="style1">Telefoon*</td>
	<td><input name="Tel" type="text" style=" border: #400040 1px dashed; color: #400040; background-color: #FFFFFF; value="<?= $Tel ?>"></td>
</tr>
<tr>
	<td class="style1">Bericht*</td>
	<td><textarea name="Bericht" cols="50" rows="5"><?= $Bericht ?></textarea></td>
</tr>
<tr>
	<td colspan="2"><p align="right"><input type="submit" name="Submit" value="Verstuur"></p></td>
</tr>
<tr>
	<td colspan="2"></td>
</tr>
</table>
</form>
?>


Voor de CSS kan je dit style nemen wanneer je dit niet wenst weghalen geeft verder geen verandering in de werking en is alleen voor de lay-out.

Suc6 !!

if($Bericht == "")
Gebruikt dat nooit, maar gebruik empty()
Sowieso kan dit veel korter echt zonde zo groot, maar die oplossing is al aan het begin gepost
dit zal wel werken:

<?php
session_start();

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(empty($_POST['naam']))
{
echo "<br><h3><b>U bent vergeten uw naam in te vullen!</b></h3><br>";
echo "<br>";
echo "<br>";
}
elseif(empty($_POST['adres']))
{
echo "<br><h3><b>U bent vergeten uw adres in te vullen!</b></h3>";
echo "<br>";
echo "<br>";
}
elseif(empty($_POST['postcode']))
{
echo "<br><h3><b>U bent vergeten uw postcode in te vullen!</b></h3>";
echo "<br>";
echo "<br>";
}
elseif(empty($_POST['woonplaats']))
{
echo "<br><h3><b>U bent vergeten uw woonplaats in te vullen!</b></h3>";
echo "<br>";
echo "<br>";
}
elseif(!eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+", $_POST['email']))
{
echo "<br><h3><b>Vult u a.u.b. een geldig<br> e-mailadres in!</h3></b>";
echo "<br>";
echo "<br>";
}
else
{
if((isset($_SESSION['contactform']['gelukt'])) && ($_SESSION['contactform']['gelukt'] + 180) < time())
{
echo 'Er kan maar 1x per 3 minuten een bericht worden verzonden';
}
else
{
$Antwoord="Geachte bezoeker van DEZE SITE XX,


Uw bericht is verzonden.
De eerstvolgende nieuwsbrief wordt u zo spoedig mogelijk toegezonden naar het opgegeven
e-mailadres.

Met vriendelijke groeten,
Klantenservice

http://www.dezesitexx.nl";;

$myemail = "[email protected]";
$myname = "DEZESITEXX.NL";
$onderwerp = "Aanmelding Nieuwsbrief";
$Aanhef = "Aanhef: ".$_POST['aanhef']."\n";
$Naam = "Naam: ".$_POST['naam']."\n";
$Adres = "Adres: ".$_POST['adres']."\n";
$Postcode = "Postcode: ".$_POST['postcode']."\n";
$Woonplaats = "Woonplaats: ".$_POST['woonplaats']."\n";
$Emailadres = "Email: ".$_POST['email']."\n";
$Date = "Datum van Nieuwsbrief aanvraag: " . date("d-m-Y H:i:s") . "\n";

$headers .= "Content-type: text/html; charset=iso-8859-1\n"; //zet html header
$headers .= "X-Priority: 3\n"; //zet priority (3 voor hoge prioriteit)
$headers .= "X-MSMail-Priority: High\n"; //header voor het zo snel mogelijk versturen door de mail server
$headers .= "X-Mailer: PHP/".phpversion(); //header die aangeeft waarvan gemailt is

$headers1 = "From: ".$naam." <".$email.">\n";
$headers1 .= "Return-path: ".$email."\n";

if(mail("[email protected]", "$onderwerp", "$Date $Aanhef $Naam $Adres $Postcode $Woonplaats $Emailadres", $headers1.$headers))
{
echo 'Wij hebben uw e-mail succesvol ontvangen';
$_SESSION['contactform']['gelukt'] = time();
}
else
{
echo 'Door een onbekende fout konden wij uw e-mail bericht niet ontvangen';
}

$headers2 = "From: ".$myname." <".$myemail.">\n";
$headers2 .= "Return-path: ".$myemail."\n";

if(mail($email, $onderwerp, $Antwoord, $headers2.$headers))
{
echo 'U heeft succesvol een ontvangstbevestiging gekregen op '.$email;
}
else
{
echo 'U heeft door een onbekende fout geen ontvangstbevestiging kunnen krijgen';
}

echo "<br>";
echo "<br>";
}
}
}
?>
ik ga er mee aan de slag

Reageren