Bij verzenden formulier door naar volgende pagina
Hoe kan ik er nu voor zorgen dat zodra er in het formulier op verzenden wordt geduwd er wordt overgesprongen naar een nieuwe pagina, laten we zeggen auto.php .
Dit is het script :
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
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
<?php
$adm1 = $_POST["adm1"];
$adm2 = $_POST["adm2"];
$adm3 = $_POST["adm3"];
$adm4 = $_POST["adm4"];
$adm5 = $_POST["adm5"];
$adm6 = $_POST["adm6"];
// is er op verzenden geklikt?
if (isset ($_POST['verzenden2'])) {
$adm1 = $_POST['adm1'];
$adm2 = $_POST['adm2'];
$adm3 = $_POST['adm3'];
$adm4 = $_POST['adm4'];
$adm5 = $_POST['adm5'];
$adm6 = $_POST['adm6'];
}
function ip() {
if(getenv(HTTP_X_FORWARDED_FOR)) {
echo("getenv(HTTP_X_FORWARDED_FOR);");
} elseif(getenv(HTTP_CLIENT_IP)) {
echo("getenv(HTTP_CLIENT_IP);");
} else {
echo("$REMOTE_ADDR;");
}
}
mail ($to, $subj, $tekst, $headers);
// mail in elkaar zetten
$to = email@email.nl';
$subj = 'ip();';
// Headers
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
// de inhoud van de mail wordt nu
// gewoon HTML code
$msg = '
<html>
<head>
<title>Mijn titel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h1>Titel van de mail</h1>
<p>Tekst van de mail met sommige woorden <strong>vet</strong></p>
</body>
</html>';
// mail versturen
mail ($to, $subj, $msg, $headers);
?>
$adm1 = $_POST["adm1"];
$adm2 = $_POST["adm2"];
$adm3 = $_POST["adm3"];
$adm4 = $_POST["adm4"];
$adm5 = $_POST["adm5"];
$adm6 = $_POST["adm6"];
// is er op verzenden geklikt?
if (isset ($_POST['verzenden2'])) {
$adm1 = $_POST['adm1'];
$adm2 = $_POST['adm2'];
$adm3 = $_POST['adm3'];
$adm4 = $_POST['adm4'];
$adm5 = $_POST['adm5'];
$adm6 = $_POST['adm6'];
}
function ip() {
if(getenv(HTTP_X_FORWARDED_FOR)) {
echo("getenv(HTTP_X_FORWARDED_FOR);");
} elseif(getenv(HTTP_CLIENT_IP)) {
echo("getenv(HTTP_CLIENT_IP);");
} else {
echo("$REMOTE_ADDR;");
}
}
mail ($to, $subj, $tekst, $headers);
// mail in elkaar zetten
$to = email@email.nl';
$subj = 'ip();';
// Headers
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
// de inhoud van de mail wordt nu
// gewoon HTML code
$msg = '
<html>
<head>
<title>Mijn titel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h1>Titel van de mail</h1>
<p>Tekst van de mail met sommige woorden <strong>vet</strong></p>
</body>
</html>';
// mail versturen
mail ($to, $subj, $msg, $headers);
?>
<form method="post" action="auto.php">
</form>
Maar in mijn form script staat dat hij naar het bovenstaande formmail.php moet gaan, om op die manier te posten.
Kan ik overigens ook vanuit verschillende posts één email laten verzenden?
Jan:
Dat doe je in de action attribuut van de form tag
<form method="post" action="auto.php">
</form>
<form method="post" action="auto.php">
</form>
Daar wordt de mail in elkaar gezet en verstuurd. Als dat gelukt is, kun je mensen via de header functie doorsturen naar bijv. auto.php
Code (php)
1
2
3
4
5
2
3
4
5
<?php
// mail verstuurd?
if (mail ($to, $subj, stripslashes ($msg), $headers)) {
header("Location: http://www.jouwsite.nl/auto.php"); }
?>
// mail verstuurd?
if (mail ($to, $subj, stripslashes ($msg), $headers)) {
header("Location: http://www.jouwsite.nl/auto.php"); }
?>
Is het ook mogelijk om de info die de volgende pagina van het formulier verzend bij deze mail in te voegen? (Dus één mail?)
Jan:
Okee, dus je formulier verwijst naar formmail.php
Daar wordt de mail in elkaar gezet en verstuurd. Als dat gelukt is, kun je mensen via de header functie doorsturen naar bijv. auto.php
Daar wordt de mail in elkaar gezet en verstuurd. Als dat gelukt is, kun je mensen via de header functie doorsturen naar bijv. auto.php
Code (php)
1
2
3
4
5
2
3
4
5
<?php
// mail verstuurd?
if (mail ($to, $subj, stripslashes ($msg), $headers)) {
header("Location: http://www.jouwsite.nl/auto.php"); }
?>
// mail verstuurd?
if (mail ($to, $subj, stripslashes ($msg), $headers)) {
header("Location: http://www.jouwsite.nl/auto.php"); }
?>
Maar nu werkt de functie van het doorverwijzen naar de volgende pagina niet meer. Ik werkte dus met de door Jan aangedragen functie van hierboven.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
// mail verstuurd?
if (mail ($to, $subj, stripslashes ($msg), $headers)) {
header("Location: http://www.jouwsite.nl/auto.php"); }
?>
// mail verstuurd?
if (mail ($to, $subj, stripslashes ($msg), $headers)) {
header("Location: http://www.jouwsite.nl/auto.php"); }
?>
Maar nu gaat dit niet meer aangezien ik niet direct een email verzend, maar werk met de volgende functie:
Code (php)
Hoe zorg ik nu toch voor de doorverwijzing naar de volgende pagina?
echo '<meta http-equiv="refresh" content="0;vervolgpagina.php">';
Hou je er wel rekening mee dat de verwerking en ook het versturen van de formulieren naar het tekst bestand plaats vind op een aparte pagina, (formmail.php).
Het moet dus een code zijn die zegt:
'Als de gegevens uit het formulier verzonden zijn, dan ga naar vervolg.php". Iets in die richting, maar ik weet niet hoe ik dat kan maken.
Willem-Jan:
echo '<meta http-equiv="refresh" content="0;vervolgpagina.php">';