Contact Formulier weergeven
Kan ik een stap tussen zetten, als alles ingevuld is dat eerst een overzicht wordt gegeven en dan pas versturen?
Formulier(html):
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<form method="POST" action="contact.php">
<input type="text" name="name" size="19"><br>
<br>
<input type="text" name="email" size="19"><br>
<br>
<textarea rows="9" name="message" cols="30"></textarea>
<br>
<br>
<input type="submit" value="Submit" name="submit">
</form>
<input type="text" name="name" size="19"><br>
<br>
<input type="text" name="email" size="19"><br>
<br>
<textarea rows="9" name="message" cols="30"></textarea>
<br>
<br>
<input type="submit" value="Submit" name="submit">
</form>
PHP code (contact.php)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if(isset($_POST['submit'])) {
$to = "[email protected]";
$subject = "Form Tutorial";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];
$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";
echo "Data has been submitted to $to!";
mail($to, $subject, $body);
} else {
echo "blarg!";
}
?>
if(isset($_POST['submit'])) {
$to = "[email protected]";
$subject = "Form Tutorial";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];
$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";
echo "Data has been submitted to $to!";
mail($to, $subject, $body);
} else {
echo "blarg!";
}
?>
Dit is simpele code, ik heb ook een checkbox, maar eerst kijken hoe zo
iets werkt.
Bedankt
sessie zetten. Die sessie items kun je weer uitlezen op je overzicht-pagina en toch behoudt je alle gegevens nog in de sessie.
Dat kan. Je kunt dan de $_POST array-items in een moet je dan een ieuwe formulier aanmaken naast bestaande twee?
index.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
session_start();
$_SESSION['test'] = 'hoi!!!';
echo '<a href="pagina.php">Klik hier!</a>';[/code]
[b]pagina.php[/b]
[code][code]<?php
session_start();
echo $_SESSION['test'];[/code]
De sessie blijft dus voortleven ook al verander je van pagina.
session_start();
$_SESSION['test'] = 'hoi!!!';
echo '<a href="pagina.php">Klik hier!</a>';[/code]
[b]pagina.php[/b]
[code][code]<?php
session_start();
echo $_SESSION['test'];[/code]
De sessie blijft dus voortleven ook al verander je van pagina.
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
kun je het me laten zien met het bovenste voorbeeld? ik zou graag op een andere pagina een overzicht willen hebben zodat mensen het kunnen uitprinten (onderaan PRINT)...
Ik ben geen pro in php, maar ik wil het wel graag zo leren. Mijn formulier is veel groter en ingewikkelder, maar als ik basis door heb dan komt de rest wel goed...
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<form method="POST" action="overzicht.php">
<input type="text" name="name" size="19"><br>
<br />
<input type="text" name="email" size="19"><br>
<br />
<textarea rows="9" name="message" cols="30"></textarea>
<br /><br />
<input type="submit" value="Submit" name="submit">
</form>
<input type="text" name="name" size="19"><br>
<br />
<input type="text" name="email" size="19"><br>
<br />
<textarea rows="9" name="message" cols="30"></textarea>
<br /><br />
<input type="submit" value="Submit" name="submit">
</form>
overzicht.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
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
<?php
session_start();
$_SESSION['gegevens'] = $_POST;
foreach($_SESSION['gegevens'] as $veld => $waarde)
{
echo $veld . ': ' . $waarde . '<br />';
}
echo '<a href="#">Uitprinten</a>
<br/>
<a href="verwerken.php">Ga verder</a>';[/code]
[b]verwerken.php[/b]
[code][code]<?php
session_start();
if(isset($_SESSION['gegevens']))
{
$to = "[email protected]";
$subject = "Form Tutorial";
$name_field = $_SESSION['gegevens']['name'];
$email_field = $_SESSION['gegevens']['email'];
$message = $_SESSION['gegevens']['message'];
$body = "From: $name_field\n E-Mail: $email_field\n Message:\n$message";
echo "Data has been submitted to $to!";
mail($to, $subject, $body);
}
else
{
echo "blarg!";
}[/code]
[s]Niet getest![/s] Getest en werkt.
session_start();
$_SESSION['gegevens'] = $_POST;
foreach($_SESSION['gegevens'] as $veld => $waarde)
{
echo $veld . ': ' . $waarde . '<br />';
}
echo '<a href="#">Uitprinten</a>
<br/>
<a href="verwerken.php">Ga verder</a>';[/code]
[b]verwerken.php[/b]
[code][code]<?php
session_start();
if(isset($_SESSION['gegevens']))
{
$to = "[email protected]";
$subject = "Form Tutorial";
$name_field = $_SESSION['gegevens']['name'];
$email_field = $_SESSION['gegevens']['email'];
$message = $_SESSION['gegevens']['message'];
$body = "From: $name_field\n E-Mail: $email_field\n Message:\n$message";
echo "Data has been submitted to $to!";
mail($to, $subject, $body);
}
else
{
echo "blarg!";
}[/code]
[s]Niet getest![/s] Getest en werkt.
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
tnx gamer, ik ga het straks wel doen... :)
Swiftmailer. Stukken veiliger en geen gedoe meer met headers.
Tip: werkt alles verder goed? Ga dan eens kijken naar bericht wijziging:
Alsnog een vraag: Hoe kan ik de HTML code die vanaf regel 26 begint tot </html> toepassen op het scriptonderdeel die vanaf regel 103 begint?
Dus als ik overzicht wil krijgen, dat het niet standaard wit achtergrond, maar html die ook in regel 26 begint.
contact.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
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<?php
session_start();
/* Set e-mail recipient */
$myemail = "[email protected]";
$subject = "Iets zelf verzinnen.";
if(!isset($_GET['send']))
{
/* Functions used */
function check_input($data, $problem='')
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<h3>' . $myError . '</h3>
<h4>Helaas kunnen we uw procedure niet vervolgen, keer a.u.b. terug en vul alle ontbrekende gegevens in. Alle velden zijn verplicht.</h4>
<h4>
<input type="button" class="sumbitvelden" onclick="history.go(-1);" value="< Terug" />
</h4>
</body>
</html>';
exit();
}
/* Check all form inputs using check_input function */
$_SESSION['bedrijf'] = check_input($_POST['bedrijf'], "Het veld BEDRIJF is niet ingevuld");
$_SESSION['naam'] = check_input($_POST['naam'], "Het veld NAAM is niet ingevuld");
$_SESSION['email'] = check_input($_POST['email'], "Het veld EMAIL is niet ingevuld");
$_SESSION['telefoon'] = check_input($_POST['telefoon']);
$_SESSION['opmerkingen']= check_input($_POST['opmerkingen'], "Het veld OPMERKINGEN is niet ingevuld");
$_SESSION['mime'] = "From: " . $_SESSION['bedrijf'] . "-" . $_SESSION['naam'] . PHP_EOL;
/*eventueel beveiliging
if ( mail( "", "", "", $mime ) )
echo "Goed";
else
echo "Fout"; */
/* CHECK INGEVOERDE GEGEVENS */
/* BEDRIJF */
if (preg_match("/[^a-zA-Z]/", $_SESSION['bedrijf']))
{
show_error("Het veld BEDRIJF mag alleen bestaan uit letters");
}
/* NAAM */
if (preg_match("/[^a-zA-Z]/", $_SESSION['naam']))
{
show_error("Het veld NAAM mag alleen bestaan uit letters");
}
/* EMAIL */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $_SESSION['email']))
{
show_error("Het veld E-MAIL is incorrect ingevuld");
}
/* TELEFOON */
if (preg_match("/[^0-9]/", $_SESSION['telefoon']))
{
show_error("Het veld TELEFOON mag alleen bestaan uit cijfers");
}
/*message for the e-mail */
$_SESSION['message'] = "Hallo xxxxx!
Je hebt via Home - Contact email gekregen van:
Naam: " . $_SESSION['naam']
. "E-mail: " . $_SESSION['email']
. "Telefoon: " . $_SESSION['telefoon']
. "
Opmerkingen:"
. $_SESSION['opmerkingen']
. "
Einde bericht!
";
$_SESSION['verified'] = false;
/* Gegevens laten weergeven */
echo "Kloppen de volgende gegevens: <br />
Naam: " . $_SESSION['naam']
. "<br />E-mail: " . $_SESSION['email']
. "<br />Telefoon: " . $_SESSION['telefoon']
. "<br />Bedrijf: " . $_SESSION['bedrijf']
. "<br /><br />
Opmerkingen:<br />"
. $_SESSION['opmerkingen'];
echo '<a href="?send=1">Ja</a> | <a href="index.htm">Nee</a>';
}
else
{
$_SESSION['verified'] = true;
if($_SESSION['verified'])
{
/* Send the message using mail() function */
mail($myemail, $subject, $_SESSION['message'], $_SESSION['mime']);
/* Redirect visitor to the thank you page */
header('Location: berichtontvangen.htm');
exit();
}
}
?>
session_start();
/* Set e-mail recipient */
$myemail = "[email protected]";
$subject = "Iets zelf verzinnen.";
if(!isset($_GET['send']))
{
/* Functions used */
function check_input($data, $problem='')
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<h3>' . $myError . '</h3>
<h4>Helaas kunnen we uw procedure niet vervolgen, keer a.u.b. terug en vul alle ontbrekende gegevens in. Alle velden zijn verplicht.</h4>
<h4>
<input type="button" class="sumbitvelden" onclick="history.go(-1);" value="< Terug" />
</h4>
</body>
</html>';
exit();
}
/* Check all form inputs using check_input function */
$_SESSION['bedrijf'] = check_input($_POST['bedrijf'], "Het veld BEDRIJF is niet ingevuld");
$_SESSION['naam'] = check_input($_POST['naam'], "Het veld NAAM is niet ingevuld");
$_SESSION['email'] = check_input($_POST['email'], "Het veld EMAIL is niet ingevuld");
$_SESSION['telefoon'] = check_input($_POST['telefoon']);
$_SESSION['opmerkingen']= check_input($_POST['opmerkingen'], "Het veld OPMERKINGEN is niet ingevuld");
$_SESSION['mime'] = "From: " . $_SESSION['bedrijf'] . "-" . $_SESSION['naam'] . PHP_EOL;
/*eventueel beveiliging
if ( mail( "", "", "", $mime ) )
echo "Goed";
else
echo "Fout"; */
/* CHECK INGEVOERDE GEGEVENS */
/* BEDRIJF */
if (preg_match("/[^a-zA-Z]/", $_SESSION['bedrijf']))
{
show_error("Het veld BEDRIJF mag alleen bestaan uit letters");
}
/* NAAM */
if (preg_match("/[^a-zA-Z]/", $_SESSION['naam']))
{
show_error("Het veld NAAM mag alleen bestaan uit letters");
}
/* EMAIL */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $_SESSION['email']))
{
show_error("Het veld E-MAIL is incorrect ingevuld");
}
/* TELEFOON */
if (preg_match("/[^0-9]/", $_SESSION['telefoon']))
{
show_error("Het veld TELEFOON mag alleen bestaan uit cijfers");
}
/*message for the e-mail */
$_SESSION['message'] = "Hallo xxxxx!
Je hebt via Home - Contact email gekregen van:
Naam: " . $_SESSION['naam']
. "E-mail: " . $_SESSION['email']
. "Telefoon: " . $_SESSION['telefoon']
. "
Opmerkingen:"
. $_SESSION['opmerkingen']
. "
Einde bericht!
";
$_SESSION['verified'] = false;
/* Gegevens laten weergeven */
echo "Kloppen de volgende gegevens: <br />
Naam: " . $_SESSION['naam']
. "<br />E-mail: " . $_SESSION['email']
. "<br />Telefoon: " . $_SESSION['telefoon']
. "<br />Bedrijf: " . $_SESSION['bedrijf']
. "<br /><br />
Opmerkingen:<br />"
. $_SESSION['opmerkingen'];
echo '<a href="?send=1">Ja</a> | <a href="index.htm">Nee</a>';
}
else
{
$_SESSION['verified'] = true;
if($_SESSION['verified'])
{
/* Send the message using mail() function */
mail($myemail, $subject, $_SESSION['message'], $_SESSION['mime']);
/* Redirect visitor to the thank you page */
header('Location: berichtontvangen.htm');
exit();
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door web
niemand???