Het is lang gelden maar zoals ik van jullie de tip heb gekregen ben ik begonnen aan de hand van deze video een formulier te bouwen lekker om te beginnen het gaat om deze video: https://www.youtube.com/watch?v=g_r4a-DXA7c

en dit is mijn code:


<?php

function validate ($name, $email, $subject, $message)
{
	$error = '';
	
	if($name ==  '')
		$error = 'U hebt geen naam opgegeven';
	
	if (!filter_var($email, FILTER_VALIDATE_EMAIL)) 
		$error = 'U hebt geen emailadres opgegeven opgegeven';
	
		if ($subject ==  '')
		$error = 'U hebt geen onderwerp opgegeven opgegeven';
	
		if ($message ==  '')
		$error = 'U hebt geen bericht ingevoerd opgegeven';
	
	
	return $error;
}

$name = '';
$email = '';
$subject = '';
$message = '';

if($_SERVER['REQUEST_METHOD'] == 'POST' )
{
	//FORMULIER IS VERZONDEN
	

	$name = $_POST['name'];
	$email = $_POST['email'];
	$subject = $_POST['subject'];
	$message = $_POST['message'];
	
	$error = validate($name, $email, $subject, $message);
	
	if(error != '')
		echo $error;
	
}

?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title> Contact </title>
<style>
textarea, div, label, input[type=text] {
	font-family:Arial, Helvetica, sans-sarif;
	font-size:18px;
	width:300px;
}
textarea
input[type=text] {
	font-size 14px;
}
textarea {
	height:200px;
}
</style>
</head>

<body>
<div>
<h1>Contact </h1>
<form action="" method ="post">
<label for= "name">Naam:</label><input type="text" id="name" name="name" value="<?php echo $name; ?>" />
<label for= "email">Email:</label><input type="text" id="email" name="email" value="<?php echo $email; ?>" />
<label for= "subject">Onderwerp:</label><input type="text" id="subject" name="subject" value="<?php echo $subject; ?>" />
<label for="message">Bericht:</label> <textarea id="message" name="message"><?php echo $message; ?></textarea>
<input type="submit" value ="verzenden" />
</form>
</div>
</body>
</html>


Ik krijg deze foutmelding: Notice: Use of undefined constant error - assumed 'error' in on line 40 als ik de foutmelding wil testen maar volgens mij is het goed wie is er bereid mij van een klein beetje uitleg te voorzien?
regel 40 error moet zijn $error.
Ik zag het direct na het posten ben niet blond wel super dom!

Bedankt ik laat het topic open omdat ik een vraag heb over uitbreidingen die later komen

Toevoeging op 20/11/2015 21:05:04:

Kunnen jullie mij verder helpen? Ik heb het formulier af met de bijbehorende PHP mailer maar krijg een voor mij niet te verklaren fout op lijn 14: Parse error: syntax error, unexpected '$mail' (T_VARIABLE) in contact.php on line 14

[code]

<?php

require 'PHPMailerAutoload.php';

function sendemail($name, $email, $subject, $message)
{


$mail = new PHPMailer;


$mail->From ='[email protected]'

$mail->addAddress = ('[email protected]', 'Ruben van Heteren'); // Name is optional
$mail->addReplyTo($email, $name);



$mail->Subject = $subject;
$mail->Body = $message;


if($mail->send()) {
return true;
// ga dan naar thankyou.html
}
else
{
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
return false;
}
}

function validate ($name, $email, $subject, $message)
{
$error = '';

if($name == '')
$error = 'U hebt geen naam opgegeven';

if (!filter_var($email, FILTER_VALIDATE_EMAIL))
$error = 'U hebt geen emailadres opgegeven opgegeven';

if ($subject == '')
$error = 'U hebt geen onderwerp opgegeven opgegeven';

if ($message == '')
$error = 'U hebt geen bericht ingevoerd opgegeven';


return $error;
}

$name = '';
$email = '';
$subject = '';
$message = '';

if($_SERVER['REQUEST_METHOD'] == 'POST' )
{
//FORMULIER IS VERZONDEN


$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];

$error = validate($name, $email, $subject, $message);

if($error != '')
echo $error;
else
if(sendemail($name, $email, $subject, $message) == true)
header ('location: thankyou.html');

}

?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title> Contact </title>
<style>
textarea, div, label, input[type=text] {
font-family:Arial, Helvetica, sans-sarif;
font-size:18px;
width:300px;
}
textarea
input[type=text] {
font-size 14px;
}
textarea {
height:200px;
}
</style>
</head>

<body>
<div>
<h1>Contact </h1>
<form action="" method ="post">
<label for= "name">Naam:</label><input type="text" id="name" name="name" value="<?php echo $name; ?>" />
<label for= "email">Email:</label><input type="text" id="email" name="email" value="<?php echo $email; ?>" />
<label for= "subject">Onderwerp:</label><input type="text" id="subject" name="subject" value="<?php echo $subject; ?>" />
<label for="message">Bericht:</label> <textarea id="message" name="message"><?php echo $message; ?></textarea>
<input type="submit" value ="verzenden" />
</form>
</div>
</body>
</html>
[/php]
Wat is er niet aan te verklaren dan? Er mist duidelijk een ; op de voorgaande regel.
Heb de ; op lijn 13 toegevoegd daar had je gelijk maar blijf de fout houden!
Fout:
<?php
$mail->addAddress = ('[email protected]', 'Ano Niem'); 
?>


Beter:
<?php
$mail->addAddress('[email protected]', 'Ano Niem'); 
?>


addAddress() is een functie, geen variabele.
Het verzenden werkt nu naar behoren maar wat kan het zijn dat de gene die het formulier invult hier geen kopie van ontvangt?
Dat klopt, dat gebeurt in dit script nergens.
Daar is de ->AddCC() functie voor.
Dat dacht ik al daarom ziet het er bij mij nu zo uit (excuses voor het niet melden)

Maar toch krijg ik hem niet.

$mail->addAddress ('[email protected]', 'Ruben van Heteren'); // Name is optional
$mail->addReplyTo($email, $name);
$mail->addCC('$mail');

Toevoeging op 20/11/2015 22:09:16:

He wat vervelend zit hier steeds meer persoonlijke gegevens te dumpen.

Kunnen die nog worden weggehaald?
Er staat een edit-knop bij je berichten. Het mailadres in Eddy's bericht heb ikzelf even verwijderd.

Reageren