form field onclick
<script language="JavaScript" type="text/JavaScript">
function clearDefault(el) {
if (el.defaultValue==el.value) el.value = ""
}
</script>
<FORM NAME="form1" METHOD="post" ACTION="contactNL.php">
<input type="hidden" name="action" value="send">
<INPUT TYPE=TEXT NAME="name" VALUE=" je naam" onFocus="clearDefault(this)" style="border-top:0px; border-left: 1px dotted #cc6600; border-right:0px; border-bottom: 1px dotted #cc6600; width:120px">
<br>
<INPUT TYPE=TEXT NAME="email" VALUE=" je email adres" onFocus="clearDefault(this)" style="border-top:0px; border-left: 1px dotted purple; border-right:0px; border-bottom: 1px dotted purple; width:120px;">
<br>
<TEXTAREA NAME="message" style="border-top:0px; border-left:1px dotted #0066cc; border-right:0px; border-bottom: 1px dotted #0066cc; width:120px; height:70px" onFocus="clearDefault(this)"> je bericht</TEXTAREA>
<br>
<INPUT TYPE="image" SRC="images/sendarrow.gif" VALUE="send">
<img src="images/clear.gif" onclick="document.getElementById('form1').reset();" style="cursor:pointer"/>
<br>
</FORM>
en dit is de php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
if ($_POST["action"] == "send"){
if ($_POST[name] != " je naam" and $_POST[name] != "" and $_POST[email] != " je e-mail adres" and $_POST[email] != "" and $_POST[message] != "") {
mail ("[email protected]", "via site",
"
Name: ".$_POST['name']."
E-mail: ".$_POST['email']."
Message: ".$_POST['message']."
",
"From: ".$_POST['name']." <".$_POST['email'].">");
$subject = "je bericht aan Ceci Casariego-Mazereel";
$msg = "
Dit is een automatisch verzonden email. Gelieve hierop niet te antwoorden.
Beste $_POST[name],
Bedankt voor je bericht aan Ceci Casariego-Mazereel.
Ze antwoordt je zo snel mogelijk.
Dit was je bericht:
$_POST[message]
";
mail($_POST[email], $subject, $msg);
echo 'Bedankt ! Je bericht is verzonden, <br>en je ontvangt hiervan eeen bevestiging. <br> <br> <br> Ceci zal je zo snel mogelijk antwoorden.<br> <br> <br>';
}
else{
echo 'Gelieve alle data in te vulen !<br><br>Je naam, email adres en bericht <br>zijn verplicht in te vullen velden.<br><br><a href="contactNL.html"><font color="#565656">[graag opnieuw]</font></a><br> <br>';
}
}
?>
if ($_POST["action"] == "send"){
if ($_POST[name] != " je naam" and $_POST[name] != "" and $_POST[email] != " je e-mail adres" and $_POST[email] != "" and $_POST[message] != "") {
mail ("[email protected]", "via site",
"
Name: ".$_POST['name']."
E-mail: ".$_POST['email']."
Message: ".$_POST['message']."
",
"From: ".$_POST['name']." <".$_POST['email'].">");
$subject = "je bericht aan Ceci Casariego-Mazereel";
$msg = "
Dit is een automatisch verzonden email. Gelieve hierop niet te antwoorden.
Beste $_POST[name],
Bedankt voor je bericht aan Ceci Casariego-Mazereel.
Ze antwoordt je zo snel mogelijk.
Dit was je bericht:
$_POST[message]
";
mail($_POST[email], $subject, $msg);
echo 'Bedankt ! Je bericht is verzonden, <br>en je ontvangt hiervan eeen bevestiging. <br> <br> <br> Ceci zal je zo snel mogelijk antwoorden.<br> <br> <br>';
}
else{
echo 'Gelieve alle data in te vulen !<br><br>Je naam, email adres en bericht <br>zijn verplicht in te vullen velden.<br><br><a href="contactNL.html"><font color="#565656">[graag opnieuw]</font></a><br> <br>';
}
}
?>
Mijn bedoeling is de volgende:
The form should not be sent if
1. Name equals " your name"
2. Name is blank
3. Email equals " your e-mail address"
4. Email is blank
3. Message equals " your message"
5. Message is blank
Maar met deze code lukt het niet. Help !
if($_POST['name'] == "") {
echo "Naam invullen!";
} else {
volgende check..
trim() en daarna empty(). Wanneer er alleen een spatie is ingevuld zegt jou controle dat het ok is, en dat terwijl dat eigenlijk niet het geval is...
@Mitchell: het is netter om te controleren met Crispijn schreef op 22.05.2008 11:42:
Onthoud wel dat ik een webdesigner ben, niet een code monkey. ;p
Edit: Kan je dan niet meteen gelijk een check inbouwen dat het een min en max aan tekens moet bevatten?
Gewijzigd op 01/01/1970 01:00:00 door Mitchell
Dit zorgt ervoor dat de value die jij meegeeft gewist wordt bij 'onfocus', maar als iemand iets anders in heeft gevuld en nog een keer op dat venter klikt de tekst behouden blijft.. Stuk makkelijker dan de Javascript die jij daar voor aanroept..
Hoe kan ik dit oplossen, aub ?
Code (php)
1
2
3
4
5
2
3
4
5
<?php
if ($_POST['name'] != " je naam" and $_POST['name'] != ""
and $_POST['email'] != " je email adres" and $_POST['email'] != ""
and $_POST['message'] != "" and $_POST['message'] != " je bericht")
?>
if ($_POST['name'] != " je naam" and $_POST['name'] != ""
and $_POST['email'] != " je email adres" and $_POST['email'] != ""
and $_POST['message'] != "" and $_POST['message'] != " je bericht")
?>
Dan werkt het zoals jij wil dat het werkt.
Zie echter ook de opmerkingen van de anderen hierboven hoe je je formulier kunt verbeteren.
Ik begrijp echt niet welke verbeteringen er gesugereerd worden, want ik begrijp de php-taal niet ...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
if ($_POST["action"] == "send"){
if ($_POST['name'] != " je naam" and $_POST['name'] != ""
and $_POST['email'] != " je email adres" and $_POST['email'] != ""
and $_POST['message'] != "" and $_POST['message'] != " je bericht"){
mail ("[email protected]", "via site",
"
Name: ".$_POST['name']."
E-mail: ".$_POST['email']."
Message: ".$_POST['message']."
",
"From: ".$_POST['name']." <".$_POST['email'].">");
$subject = "je bericht aan Ceci Casariego-Mazereel";
$msg = "
Dit is een automatisch verzonden email. Gelieve hierop niet te antwoorden.
Beste $_POST[name],
Bedankt voor je bericht aan Ceci Casariego-Mazereel.
Ze antwoordt je zo snel mogelijk.
Dit was je bericht:
$_POST[message]
";
mail($_POST[email], $subject, $msg);
echo 'Bedankt ! Je bericht is verzonden, <br>en je ontvangt hiervan eeen bevestiging. <br> <br> <br> Ceci zal je zo snel mogelijk antwoorden.<br> <br> <br>';
}
else{
echo 'Gelieve alle data in te vulen !<br><br>Je naam, email adres en bericht <br>zijn verplicht in te vullen velden.<br><br><a href="contactNL.html"><font color="#565656">[graag opnieuw]</font></a><br> <br>';
}
}
?>
if ($_POST["action"] == "send"){
if ($_POST['name'] != " je naam" and $_POST['name'] != ""
and $_POST['email'] != " je email adres" and $_POST['email'] != ""
and $_POST['message'] != "" and $_POST['message'] != " je bericht"){
mail ("[email protected]", "via site",
"
Name: ".$_POST['name']."
E-mail: ".$_POST['email']."
Message: ".$_POST['message']."
",
"From: ".$_POST['name']." <".$_POST['email'].">");
$subject = "je bericht aan Ceci Casariego-Mazereel";
$msg = "
Dit is een automatisch verzonden email. Gelieve hierop niet te antwoorden.
Beste $_POST[name],
Bedankt voor je bericht aan Ceci Casariego-Mazereel.
Ze antwoordt je zo snel mogelijk.
Dit was je bericht:
$_POST[message]
";
mail($_POST[email], $subject, $msg);
echo 'Bedankt ! Je bericht is verzonden, <br>en je ontvangt hiervan eeen bevestiging. <br> <br> <br> Ceci zal je zo snel mogelijk antwoorden.<br> <br> <br>';
}
else{
echo 'Gelieve alle data in te vulen !<br><br>Je naam, email adres en bericht <br>zijn verplicht in te vullen velden.<br><br><a href="contactNL.html"><font color="#565656">[graag opnieuw]</font></a><br> <br>';
}
}
?>
Ja, nu is het een kwestie van even proberen.
Hier kun je de functie zien: http://www.cecicasariego.com/contactNL1.html
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
function check_emptyness ($array) {
$return = array();
if(is_array($array)) {
foreach($array as $key => $value) {
if(is_array($value)) {
$return[] = check_emptyness($value);
} else {
$return[] = empty($value);
}
}
} else {
$return[] = false;
}
if(in_array(false, $return)) {
return false;
} else {
return true;
}
}
if($_SERVER['REQUEST_METHOD'] == "POST") {
if(!check_emptyness($_POST)) {
// niet leeg
if(trim($_POST['naam']) != "je naam" && trim($_POST['email']) != "je email" && trim($_POST['message']) != "je bericht") {
// alles anders ingevuld
$bericht = "Dit is een automatisch verzonden e-mailbericht. Gelieve hierop niet te antwoorden.\n\n";
$bericht .= "Beste ".$_POST['naam'].",\n\n";
$bericht .= "Bedankt voor je bericht aan Ceci Casariego-Mazereel. Ze beantwoordt zo snel mogelijk.\nDit was je bericht: ".$_POST['message'];
if(mail($_POST['email'], $subject, $bericht)) { // headers??
echo 'Bedankt! Je bericht is verzonden en je hebt een bevestiging ontvangen in je mailbox. Ceci antwoord z.s.m. je bericht.';
} else {
echo 'Bedankt! Je bericht is verzonden. Ceci antwoord z.s.m. je bericht.';
}
} else {
echo 'Vul je wel alles in? Probeer het nogmaals.';
}
} else {
echo 'Vul je wel alles in? Probeer het nogmaals.';
}
}
// je formulier
?>
function check_emptyness ($array) {
$return = array();
if(is_array($array)) {
foreach($array as $key => $value) {
if(is_array($value)) {
$return[] = check_emptyness($value);
} else {
$return[] = empty($value);
}
}
} else {
$return[] = false;
}
if(in_array(false, $return)) {
return false;
} else {
return true;
}
}
if($_SERVER['REQUEST_METHOD'] == "POST") {
if(!check_emptyness($_POST)) {
// niet leeg
if(trim($_POST['naam']) != "je naam" && trim($_POST['email']) != "je email" && trim($_POST['message']) != "je bericht") {
// alles anders ingevuld
$bericht = "Dit is een automatisch verzonden e-mailbericht. Gelieve hierop niet te antwoorden.\n\n";
$bericht .= "Beste ".$_POST['naam'].",\n\n";
$bericht .= "Bedankt voor je bericht aan Ceci Casariego-Mazereel. Ze beantwoordt zo snel mogelijk.\nDit was je bericht: ".$_POST['message'];
if(mail($_POST['email'], $subject, $bericht)) { // headers??
echo 'Bedankt! Je bericht is verzonden en je hebt een bevestiging ontvangen in je mailbox. Ceci antwoord z.s.m. je bericht.';
} else {
echo 'Bedankt! Je bericht is verzonden. Ceci antwoord z.s.m. je bericht.';
}
} else {
echo 'Vul je wel alles in? Probeer het nogmaals.';
}
} else {
echo 'Vul je wel alles in? Probeer het nogmaals.';
}
}
// je formulier
?>
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
Twee vraagjes ivm je post:
1/ ik zie geen email adres staan
2/ wat is verschil tussen deze twee:
Quote:
echo 'Bedankt! Je bericht is verzonden en je hebt een bevestiging ontvangen in je mailbox. Ceci antwoord z.s.m. je bericht.';
} else {
echo 'Bedankt! Je bericht is verzonden. Ceci antwoord z.s.m. je bericht.';
} else {
echo 'Bedankt! Je bericht is verzonden. Ceci antwoord z.s.m. je bericht.';
2. Dat je geen bevestiging hebt ontvangen. Bekijk de code maar eens ;-).
Gewijzigd op 01/01/1970 01:00:00 door chechu
Als je hier al niets van snapt, kun je beter even de PHP Beginners Handleiding doorlezen. Steek je vast nog wel wat van op ;-).
Quote:
Als de mail-functie false retourneert is er géén mailtje versturen, en dus geen bevestiging.
Waarom zeg je dan twee keer bedankt dat het verzonden is ??
Kun je het mailadres in je vorige correctie passen, aub ?
Weet ik, ik moet tutorials lezen, maar dat doe ik wanneer ik er mijn hele kopje kan bijsteken, en dat kan nu niet...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
/* Een van mijn handige functies om te kijken of een value in een array leeg is */
function check_emptyness ($array) {
$return = array();
if(is_array($array)) {
foreach($array as $key => $value) {
if(is_array($value)) {
$return[] = check_emptyness($value);
} else {
$return[] = empty($value);
}
}
} else {
$return[] = false;
}
if(in_array(false, $return)) {
return false;
} else {
return true;
}
}
// kijk of er iets is verzonden
if($_SERVER['REQUEST_METHOD'] == "POST") {
if(!check_emptyness($_POST)) {
// niet leeg
if(trim($_POST['naam']) != "je naam" && trim($_POST['email']) != "je email" && trim($_POST['message']) != "je bericht") {
// alles anders ingevuld
$jouwmail = '[email protected]';
$cSubject = 'Via site';
$cBericht = 'Naam: '.$_POST['naam'].'\n';
$cBericht .= 'E-mailadres: '.$_POST['email'].'\n';
$cBericht .= 'Bericht: '.$_POST['message'].'\n';
$headers = 'From: '.$_POST['naam'].' <'.$_POST['email'].'>'.'\r\n';
if(mail($jouwmail, $cSubject, $cBericht)) {
// mail naar ceci is verstuurd
$bSubject = 'Bevestiging ontvangst mail aan Ceci Casariego-Mazereel';
$bBericht = "Dit is een automatisch verzonden e-mailbericht. Gelieve hierop niet te antwoorden.".'\n\n';
$bBericht .= "Beste ".$_POST['naam'].",".'\n\n';
$bBericht .= "Bedankt voor je bericht aan Ceci Casariego-Mazereel. Ze beantwoordt zo snel mogelijk.".'\n'."Dit was je bericht: ".$_POST['message'];
if(mail($_POST['email'], $bSubject, $bBericht)) { // headers??
// bevestigingsmail is verzonden
echo 'Bedankt! Je bericht is verzonden en je hebt een bevestiging ontvangen in je mailbox. Ceci antwoord z.s.m. je bericht.';
} else {
// bevestigingsmail is niet verzonden
echo 'Bedankt! Je bericht is verzonden. Ceci antwoord z.s.m. je bericht.';
}
} else {
// mail naar ceci is niet verstuurd
echo 'Helaas... Je bericht is niet verzonden. Probeer het nogmaals.';
}
} else {
// niet anders ingevuld, geef foutmelding
echo 'Vul je wel alles in? Probeer het nogmaals.';
}
} else {
// leeg
echo 'Vul je wel alles in? Probeer het nogmaals.';
}
}
// je formulier
?>
/* Een van mijn handige functies om te kijken of een value in een array leeg is */
function check_emptyness ($array) {
$return = array();
if(is_array($array)) {
foreach($array as $key => $value) {
if(is_array($value)) {
$return[] = check_emptyness($value);
} else {
$return[] = empty($value);
}
}
} else {
$return[] = false;
}
if(in_array(false, $return)) {
return false;
} else {
return true;
}
}
// kijk of er iets is verzonden
if($_SERVER['REQUEST_METHOD'] == "POST") {
if(!check_emptyness($_POST)) {
// niet leeg
if(trim($_POST['naam']) != "je naam" && trim($_POST['email']) != "je email" && trim($_POST['message']) != "je bericht") {
// alles anders ingevuld
$jouwmail = '[email protected]';
$cSubject = 'Via site';
$cBericht = 'Naam: '.$_POST['naam'].'\n';
$cBericht .= 'E-mailadres: '.$_POST['email'].'\n';
$cBericht .= 'Bericht: '.$_POST['message'].'\n';
$headers = 'From: '.$_POST['naam'].' <'.$_POST['email'].'>'.'\r\n';
if(mail($jouwmail, $cSubject, $cBericht)) {
// mail naar ceci is verstuurd
$bSubject = 'Bevestiging ontvangst mail aan Ceci Casariego-Mazereel';
$bBericht = "Dit is een automatisch verzonden e-mailbericht. Gelieve hierop niet te antwoorden.".'\n\n';
$bBericht .= "Beste ".$_POST['naam'].",".'\n\n';
$bBericht .= "Bedankt voor je bericht aan Ceci Casariego-Mazereel. Ze beantwoordt zo snel mogelijk.".'\n'."Dit was je bericht: ".$_POST['message'];
if(mail($_POST['email'], $bSubject, $bBericht)) { // headers??
// bevestigingsmail is verzonden
echo 'Bedankt! Je bericht is verzonden en je hebt een bevestiging ontvangen in je mailbox. Ceci antwoord z.s.m. je bericht.';
} else {
// bevestigingsmail is niet verzonden
echo 'Bedankt! Je bericht is verzonden. Ceci antwoord z.s.m. je bericht.';
}
} else {
// mail naar ceci is niet verstuurd
echo 'Helaas... Je bericht is niet verzonden. Probeer het nogmaals.';
}
} else {
// niet anders ingevuld, geef foutmelding
echo 'Vul je wel alles in? Probeer het nogmaals.';
}
} else {
// leeg
echo 'Vul je wel alles in? Probeer het nogmaals.';
}
}
// je formulier
?>
En nu ophouden met zeuren en PHP gaan leren. Als je geen PHP kent en je wilt een website voor iemand gaan maken, ben je niet goed bezig. Eerst kennis, dan pas diensten gaan aanbieden.
Ik wil geen diensten aanbieden; dit is mijn site ! Maar doordat designers pakken geld vragen, heb ik beetje bij beetje mijn eigen site opgebouwd. En nu wilde ik nog zo'n formulier, maar het lukte me niet. Heel erg bedankt !
http://www.cecicasariego.com/contactNL1.html
en het lukt niet. Als ik niks invul, verzendt die ook.
Dit zijn de voorwaarden om NIET te verzenden:
1. Name equals " your name"
2. Name is blank
3. Email equals " your e-mail address"
4. Email is blank
3. Message equals " your message"
5. Message is blank
Wat loopt er verkeerd ?