Hallo Allemaal,

Ik heb een contactformulier gedownload bij PCExtreme en dat werkt naar behoren, behalve dat de naam en het emailadres van de afzender niet meegezonden worden. Hierdoor weet je niet er een bericht heeft gestuurd en kan je niet reageren.

Ik zou heel blij zijn als iemand mij hiermee kan helpen waardoor het wel gaat werken.

Volgens de provider is het een vereiste dat het emailadres verbonden aan de website waar het contactformulier staat wordt gebruikt. Hieronder volgt het script:


<?php
/*
*
* $to
*   E-mailadres ontvanger bericht
*
* $from
*   E-mailadres van de website waarop het formulier staat
*   Dit is niet het e-mailadres van degene die het formulier invult
*
* $replyto
*   E-mailadres van degene die het formulier invult
*
* $subject
*   Onderwerp van bericht
*
* $message
*   Inhoud van bericht
*
*
* Documentatie
*   http://www.php.net/function.mail
*
*
*/

if ($_POST)
{
$to       = "[email protected]";   
$from     = "[email protected]";  
$replyto  = $_POST['naam'] . " <" . $_POST['emailadres'] . ">";    
$subject  = "Wilt u contact met mij opnemen?";    
$message  = $_POST['message'];   
$headers  = "From: "        . $from . "\n";    
$headers .= "Return-path: " . $return-path . "\n";    
$headers .= "Reply-to: "    . $replyto . "\n";    
if (mail($to, $subject, $message, $headers))  
{
 echo "<p>Succesvol verzonden!</p>";   
 }
 else    
 {
 echo "<p>Verzenden mislukt!</p>";   
 }
 }
 ?>

<form action="<?=$_SERVER['PHP_SELF']?>" method="POST">

&nbsp&nbsp Naam:<br />      
&nbsp&nbsp <input type="text" name="naam"><br />
   

&nbsp&nbsp E-mailadres:<br />
&nbsp&nbsp <input type="text" name="emailadres"><br />  
   
&nbsp&nbsp Bericht:<br />   
&nbsp&nbsp <textarea name="message" rows="5" cols="30" wrap="yes"></textarea><br />

&nbsp&nbsp <input type="submit" value="Versturen">

</form>


Dit script is wel gevaarlijk!

- er zit geen anti-spam beveiliging in en er wordt ook niet gecontroleerd of er een veld uberhaupt wordt ingevuld. Mijn tip is om te gaan kijken naar een ander mail formulier. Kijk anders even naar php swiftmailer.
Slecht script maar zo als gezegt dit script is niet veilig.
Het is geen goed script en het script is vrij makkelijk zelf te schrijven, zelfs met beperkte PHP kennis.

Bouw een formulier in HTML en voorzie de input velden van een name die daarbij past.
Vervolgens ga je als volgt te werk:


<?php
	
if($_SERVER['REQUEST_METHOD'] == 'POST')
	{
		// Als er op submit is gedrukt voert hij dit uit.

		if(empty($_POST['veldnaam']))
			{
				// Veld is leeg, geef een error o.i.d.
			}
		else
			{
				// Veld1 is niet leeg, controleer volgend veld met dezelfde constructie
				if(empty($_POST['veld2']))
					{
						//error
					}
				else
					{
						// Alle velden gecontroleerd, verzenden:
						$to			=	'[email protected]';
						$from		=	'From: '.$_POST['naam'].'<'.$_POST['email'].'>';
						$subject		=	'Bericht van website';
						$message	=	"Dit is een bericht \r\n";
						// met een \r geef je het einde van een regel aan, met \n maak je een nieuwe regel.
						// Nu ga je verzenden:
						if(mail($to, $subject, $message, $from))
							{
								// Geslaagd en verzonden, geef melding
								echo 'verzonden!';
							}
						else
							{
								// Niet verzonden, geef error message
							}
					}
			}
	}

?>



Dit is geen werkbaar script maar slechts hoe je het moet doen, je zult deze zelf moeten uitbreiden enz, bijvoorbeeld niet alle velden worden hier gecontroleerd, daarvoor plaats je in elke else een if/else controle statement!
Bedankt voor jullie reacties, ik schrok er wel van. Dat zal wel even zoeken worden naar een nieuw script. Maar voor de volledigheid : moet ik dan ook zoeken naar een script dat het emailadres van de waar de site wordt gehost bevat, naast de geadresseerde en de ontvanger?
Hallo

Ik heb een kant en klaar contactformulier voor je, alleen te groot om hier te plaatsen.
Je kunt hem als .pdf downloaden via de volgende link: http://ronvos.nl/contactform.pdf

Deze werkt gegarandeerd :-)

Vriendelijke groeten

Ron Vos
@Ron: Ook jouw headers zijn niet correct. Tevens is je html niet valid en zitten er kleine foutjes in de php-code.
Trouwens

In dit script kun je elke afzender opnemen die je wilt, in de praktijk gebruik ik altijd [email protected], maar dat kan alles zijn wat je wilt...
Suc7

[size=xsmall]Toevoeging op 06/11/2010 15:37:24:[/size]

Ik weet het SanThe, maar hij werkt feilloos en ik heb afgeleerd om me te veel in details te verdiepen, zit al veeeeeel te lang achter die laptop elke dag en soms 's nachts :-)

Groetjes

Ron
De From komt altijd van de website zelf of van de eigenaar van de site. In Reply-to komt de klant te staan.
@SanThe

Bedoel ik uiteraard :-))

Kan iemand mij helpen met het volgende topic ?.
Heb nog geen enkele reactie mogen ontvangen en ik ben juist zo blij met dit forum, in het verleden ben ik HEEEEL fijn geholpen...

http://www.phphulp.nl/php/forum/topic/eregreplace-naar-pregreplace/74175/last/

[size=xsmall]Toevoeging op 06/11/2010 16:54:05:[/size]

@Santhe

Probeer anders even het contacformulier op www.mirtos.nl, dan kun je zien hoe het in de praktijk werkt...

Reageren