mijn scripts werken in joomla niet meer!?
Voor de voetbalvereniging werk ik met een site via Joomla.
Ik wilde daar een reeds bestaand formulier opzetten voor nieuwe leden.
Het invullen gaat prima,doorklikken voor de foutafhandeling en ingevulde data etc. gaat super, maar als ik dan doorklik op verzenden gebeurd er niets en verstuurd er ook niets, een mooie witte pagina binnen mijn joomla als resultaat.
In dat resultaat zit het volgens mij ook, maar ik zie niet hoe.
Het enige wat veranderd is ten opzichte van het script is de url waar het naar toe moet, in de oude situatie is dat de verzend opdracht eerst zo verliep:
[script]
<php?
echo '<input type= "button" value="doorgaan" onClick="location.href=\'mail.php?sResultaat\'">';
?>
[/script]
En de nieuwe situatie in Joomla zo:
[script]
<php?
echo '<input type= "button" value="doorgaan" onClick="location.href=\'index.php?option=com_jumi&fileid=5\'">'
?>
[/script]
Wie weet de oplossing?
Groet,
Peter
Zaandam
<input type="submit" name="naamvanjeknop" value="Verzenden">
En 'index.php?option=com_jumi&fileid=5 kun je dan bij de form tag zetten bij action:
<form name="formuliernaam" action="index.php?option=com_jumi&fileid=5" method="POST">
En bij de laatste gaat het dus fout.
in de oude situatie hadden de pagina's namen als: formulier.php, verwerken.php en mail.php.
Maar in Joomla werk je met artikelen zoals boven aangegeven bijv. 'index.php?option=com_jumi&fileid=5
Er gaat dus iets mis met de variabelen opgeslagen in de $_SESSION['sResultaat'] die niet bij 'index.php?option=com_jumi&fileid=5 aankomen.
Weet iemand hoe ik dit wel voor elkaar kan krijgen, zoals beloofd het script dat verwerkt en zou moeten mailen hieronder:
verwerken:
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
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
<?php
session_start();
ini_set('display_errors', 1);
error_reporting(E_ALL);
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// Declareren van errors en input arrays
$_SESSION['errors'] = array();
$_SESSION['input'] = $_POST;
// Verplichte velden
$aVerplicht = array('aanhef','naam', 'voornaam', 'adres', 'postcode', 'plaats', 'telefoon', 'email', 'geboortedag', 'geboortemaand', 'geboortejaar', 'nationaliteit', 'soort', 'nr', 'senioren', 'jeugd', 'aanhef2', 'naam2', 'adres2', 'postcode2', 'plaats2', 'rekeningnummer');
// Definieren van filters voor verschillende inputvelden.
$aFilters = array (
'aanhef' => NULL,
'naam' => NULL,
'voornaam' => NULL,
'adres' => NULL,
'postcode' => NULL,
'plaats' => NULL,
'telefoon' => NULL,
'email' => FILTER_VALIDATE_EMAIL,
'geboortedag' => NULL,
'geboortemaand' => NULL,
'geboortejaar' => NULL,
'nationaliteit' => NULL,
'soort' => NULL,
'nr' => NULL,
'senioren' => NULL,
'jeugd' => NULL,
'aanhef2' => NULL,
'naam2' => NULL,
'adres2' => NULL,
'postcode2' => NULL,
'plaats2' => NULL,
'rekeningnummer' => NULL
);
// Uitvoeren van de filters en doorlopen van het resultaat
$aResultaat = filter_input_array(INPUT_POST, $aFilters);
$_SESSION['sResultaat'] = $aResultaat;
foreach($aResultaat as $sKey => $sValue)
{
$sValue = trim($sValue);
if(empty($sValue) && in_array($sKey, $aVerplicht))
{
$_SESSION['errors'][$sKey] = true;
$aErrors[] = 'U bent vergeten het veld : '.$sKey.' in te vullen.';
}
}
?>
<?PHP
// Verwerk het formulier als er geen fouten opgetreden zijn.
if(isset($aErrors))
{
echo '<ul>';
foreach($aErrors as $sError)
{
echo '<li>'.$sError.'</li>';
}
echo '</ul>';
echo "<br>U heeft het formulier niet volledig ingevuld, klik <a href=javascript:history.back(1)>hier</a> om terug te keren naar het formulier.<br>";
exit;
}
if(empty($_SESSION['errors']))
{
echo "<b>Controleer uw gegevens!</b><p>";
// vb. Stuur een email met de gegevens
// Stuur gebruiker door naar een volgende pagina.
$invoer= array(
'<b>Aanmeldingsformulier vv RCZ.</b>',
'Aanhef aanmeldingsformulier' => $aResultaat['aanhef'],
'Naam aanmeldingsformulier' => $aResultaat['naam'],
'Voorna(a)m(en)aanmeldingsformulier' => $aResultaat['voornaam'],
'Adres aanmeldingsformulier' => $aResultaat['adres'],
'Postcode aanmeldingsformulier' => $aResultaat['postcode'],
'Woonplaats aanmeldingsformulier' => $aResultaat['plaats'],
'Telefoonnummer aanmeldingsformulier' => $aResultaat['telefoon'],
'Emailadres aanmeldingsformulier' => $aResultaat['email'],
'Geboortedatum aanmeldingsformulier ' => $aResultaat['geboortedag'].'-'.$aResultaat['geboortemaand'].'-'.$aResultaat['geboortejaar'],
'Nationaliteit aanmeldingsformulier' => $aResultaat['nationaliteit'],
'Soort identiteitsbewijs aanmeldingsformulier' => $aResultaat['soort'],
'Nummer identiteitsbewijs aanmeldingsformulier' => $aResultaat['nr'],
'Soort lid senioren aanmeldingsformulier' => $aResultaat['senioren'],
'Soort lid jeugd aanmeldingsformulier' => $aResultaat['jeugd'],
'<b>Machtiging automatische incasso</b>',
'Aanhef machtiging' => $aResultaat['aanhef2'],
'Naam machtiging' => $aResultaat['naam2'],
'Adres machtiging' => $aResultaat['adres2'],
'Postcode machtiging' => $aResultaat['postcode2'],
'Woonplaats machtiging' => $aResultaat['plaats2'],
'Rekeningnummer machtiging' => $aResultaat['rekeningnummer'],
);
$_SESSION['sInvoer'] = $invoer;
foreach($invoer as $key => $sValue)
{
if(trim($sValue) != '')
{
echo '<li>'.$key.': <font color =\"ff66ff\">'.$sValue.'</font></li>';
}
}
}
}
echo "<p>";
echo '<input type= "button" value="aanpassen" onClick="history.back()"> ';
echo '<input type= "button" value="doorgaan" onClick="location.href=\'mail.php?sResultaat\'">';
?>
session_start();
ini_set('display_errors', 1);
error_reporting(E_ALL);
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// Declareren van errors en input arrays
$_SESSION['errors'] = array();
$_SESSION['input'] = $_POST;
// Verplichte velden
$aVerplicht = array('aanhef','naam', 'voornaam', 'adres', 'postcode', 'plaats', 'telefoon', 'email', 'geboortedag', 'geboortemaand', 'geboortejaar', 'nationaliteit', 'soort', 'nr', 'senioren', 'jeugd', 'aanhef2', 'naam2', 'adres2', 'postcode2', 'plaats2', 'rekeningnummer');
// Definieren van filters voor verschillende inputvelden.
$aFilters = array (
'aanhef' => NULL,
'naam' => NULL,
'voornaam' => NULL,
'adres' => NULL,
'postcode' => NULL,
'plaats' => NULL,
'telefoon' => NULL,
'email' => FILTER_VALIDATE_EMAIL,
'geboortedag' => NULL,
'geboortemaand' => NULL,
'geboortejaar' => NULL,
'nationaliteit' => NULL,
'soort' => NULL,
'nr' => NULL,
'senioren' => NULL,
'jeugd' => NULL,
'aanhef2' => NULL,
'naam2' => NULL,
'adres2' => NULL,
'postcode2' => NULL,
'plaats2' => NULL,
'rekeningnummer' => NULL
);
// Uitvoeren van de filters en doorlopen van het resultaat
$aResultaat = filter_input_array(INPUT_POST, $aFilters);
$_SESSION['sResultaat'] = $aResultaat;
foreach($aResultaat as $sKey => $sValue)
{
$sValue = trim($sValue);
if(empty($sValue) && in_array($sKey, $aVerplicht))
{
$_SESSION['errors'][$sKey] = true;
$aErrors[] = 'U bent vergeten het veld : '.$sKey.' in te vullen.';
}
}
?>
<?PHP
// Verwerk het formulier als er geen fouten opgetreden zijn.
if(isset($aErrors))
{
echo '<ul>';
foreach($aErrors as $sError)
{
echo '<li>'.$sError.'</li>';
}
echo '</ul>';
echo "<br>U heeft het formulier niet volledig ingevuld, klik <a href=javascript:history.back(1)>hier</a> om terug te keren naar het formulier.<br>";
exit;
}
if(empty($_SESSION['errors']))
{
echo "<b>Controleer uw gegevens!</b><p>";
// vb. Stuur een email met de gegevens
// Stuur gebruiker door naar een volgende pagina.
$invoer= array(
'<b>Aanmeldingsformulier vv RCZ.</b>',
'Aanhef aanmeldingsformulier' => $aResultaat['aanhef'],
'Naam aanmeldingsformulier' => $aResultaat['naam'],
'Voorna(a)m(en)aanmeldingsformulier' => $aResultaat['voornaam'],
'Adres aanmeldingsformulier' => $aResultaat['adres'],
'Postcode aanmeldingsformulier' => $aResultaat['postcode'],
'Woonplaats aanmeldingsformulier' => $aResultaat['plaats'],
'Telefoonnummer aanmeldingsformulier' => $aResultaat['telefoon'],
'Emailadres aanmeldingsformulier' => $aResultaat['email'],
'Geboortedatum aanmeldingsformulier ' => $aResultaat['geboortedag'].'-'.$aResultaat['geboortemaand'].'-'.$aResultaat['geboortejaar'],
'Nationaliteit aanmeldingsformulier' => $aResultaat['nationaliteit'],
'Soort identiteitsbewijs aanmeldingsformulier' => $aResultaat['soort'],
'Nummer identiteitsbewijs aanmeldingsformulier' => $aResultaat['nr'],
'Soort lid senioren aanmeldingsformulier' => $aResultaat['senioren'],
'Soort lid jeugd aanmeldingsformulier' => $aResultaat['jeugd'],
'<b>Machtiging automatische incasso</b>',
'Aanhef machtiging' => $aResultaat['aanhef2'],
'Naam machtiging' => $aResultaat['naam2'],
'Adres machtiging' => $aResultaat['adres2'],
'Postcode machtiging' => $aResultaat['postcode2'],
'Woonplaats machtiging' => $aResultaat['plaats2'],
'Rekeningnummer machtiging' => $aResultaat['rekeningnummer'],
);
$_SESSION['sInvoer'] = $invoer;
foreach($invoer as $key => $sValue)
{
if(trim($sValue) != '')
{
echo '<li>'.$key.': <font color =\"ff66ff\">'.$sValue.'</font></li>';
}
}
}
}
echo "<p>";
echo '<input type= "button" value="aanpassen" onClick="history.back()"> ';
echo '<input type= "button" value="doorgaan" onClick="location.href=\'mail.php?sResultaat\'">';
?>
en mailen:
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
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
<?php
session_start();
if(isset($_GET['sResultaat']))
{
$sResultaat = $_SESSION['sResultaat'];
$sInvoer = $_SESSION['sInvoer'];
$datum = date("Y-m-d H:i");
$recipient ="[email protected]";
$subject ="Online aanmeldingsformulier RCZ\r\n";
$headers ="From: " . $sResultaat['email'] . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mail_body ="<p><font face=\"Arial\" size=\"2\" color=\"#000000\">Dit inschrijfformulier werd ingevuld op www.rcz.nu.</font>\r\n";
$mail_body .="<p><b><font face=\"Arial\" size=\"2\" color=\"#000000\">Het aanmeldingsformulier werd ingevuld op " . date("d-m-Y") . " om " . date("H:i") . " uur en verzonden door " . $sResultaat['aanhef2'] ." " . $sResultaat['naam2'] .".</b></font><p>\n\n";
foreach($sInvoer as $sKey => $sValue)
{
if(trim($sValue) != '')
$mail_body.="<li><font face=\"Arial\" size=\"2\" color=\"#000000\">".$sKey.":".$sValue."</li></font>\n\n";
}
$mail_body.="<p><font face=\"Arial\" size=\"2\" color=\"#FF0000\"><b>WARNING:</b><br>
This message and any attachments are the property of RCZ and are intended solely for the named recipients or entity to whom this message is addressed. If you have received this message in error please inform the sender via e-mail and destroy the message. If you are not the intended recipient you are not allowed to use, copy or disclose the contents or attachments in whole or in part.</font>\n";
mail($recipient,$subject,$mail_body,$headers);
$recipient ="". $sResultaat['email'] ."";
$subject ="Online aanmeldingsformulier RCZ \r\n";
$headers ="From: [email protected] \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mail_body ="<p><font face=\"Arial\" size=\"2\" color=\"#000000\">U heeft de volgende gegevens ingevuld op het online aanmeldingsformulier</font>\r\n";
$mail_body .="<p><b><font face=\"Arial\" size=\"2\" color=\"#000000\">Het aanmeldingsformulier werd ingevuld op " . date("d-m-Y") . " om " . date("H:i") . " uur en verzonden door " . $sResultaat['aanhef2'] ." " . $sResultaat['naam2'] .".</b></font><p>\n\n";
foreach($sInvoer as $sKey => $sValue)
{
if(trim($sValue) != '')
$mail_body.="<li><font face=\"Arial\" size=\"2\" color=\"#000000\">".$sKey.":".$sValue."</li></font>\n\n";
}
$mail_body.="<p><font face=\"Arial\" size=\"2\" color=\"#000000\">Wij zullen zo snel als mogelijk contact met u opnemen over uw aanmelding bij onze vereniging.<p>
Met vriendelijke groet,<p>
Ledenadministratie RCZ Zaandam</font>\n";
$mail_body.="<p><font face=\"Arial\" size=\"2\" color=\"#FF0000\"><b>WARNING:</b><br>
This message and any attachments are the property of RCZ and are intended solely for the named recipients or entity to whom this message is addressed. If you have received this message in error please inform the sender via e-mail and destroy the message. If you are not the intended recipient you are not allowed to use, copy or disclose the contents or attachments in whole or in part.</font>\n";
mail($recipient,$subject,$mail_body,$headers);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" id="www-nikhedonia-com">
<head>
<title>mail</title>
<link rel="stylesheet" type="text/css" media="screen" href="screen.css" />
</head>
<body>
<div align="left">
<p> </p>
<?php
echo "<b>Uw aanmeldingsformulier is met succes verstuurd!.</b><br>";
echo "<p><a href=\"http://www.rcz.nu\"><b>Terug naar de begin pagina!</b></a>";
}
?>
session_start();
if(isset($_GET['sResultaat']))
{
$sResultaat = $_SESSION['sResultaat'];
$sInvoer = $_SESSION['sInvoer'];
$datum = date("Y-m-d H:i");
$recipient ="[email protected]";
$subject ="Online aanmeldingsformulier RCZ\r\n";
$headers ="From: " . $sResultaat['email'] . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mail_body ="<p><font face=\"Arial\" size=\"2\" color=\"#000000\">Dit inschrijfformulier werd ingevuld op www.rcz.nu.</font>\r\n";
$mail_body .="<p><b><font face=\"Arial\" size=\"2\" color=\"#000000\">Het aanmeldingsformulier werd ingevuld op " . date("d-m-Y") . " om " . date("H:i") . " uur en verzonden door " . $sResultaat['aanhef2'] ." " . $sResultaat['naam2'] .".</b></font><p>\n\n";
foreach($sInvoer as $sKey => $sValue)
{
if(trim($sValue) != '')
$mail_body.="<li><font face=\"Arial\" size=\"2\" color=\"#000000\">".$sKey.":".$sValue."</li></font>\n\n";
}
$mail_body.="<p><font face=\"Arial\" size=\"2\" color=\"#FF0000\"><b>WARNING:</b><br>
This message and any attachments are the property of RCZ and are intended solely for the named recipients or entity to whom this message is addressed. If you have received this message in error please inform the sender via e-mail and destroy the message. If you are not the intended recipient you are not allowed to use, copy or disclose the contents or attachments in whole or in part.</font>\n";
mail($recipient,$subject,$mail_body,$headers);
$recipient ="". $sResultaat['email'] ."";
$subject ="Online aanmeldingsformulier RCZ \r\n";
$headers ="From: [email protected] \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mail_body ="<p><font face=\"Arial\" size=\"2\" color=\"#000000\">U heeft de volgende gegevens ingevuld op het online aanmeldingsformulier</font>\r\n";
$mail_body .="<p><b><font face=\"Arial\" size=\"2\" color=\"#000000\">Het aanmeldingsformulier werd ingevuld op " . date("d-m-Y") . " om " . date("H:i") . " uur en verzonden door " . $sResultaat['aanhef2'] ." " . $sResultaat['naam2'] .".</b></font><p>\n\n";
foreach($sInvoer as $sKey => $sValue)
{
if(trim($sValue) != '')
$mail_body.="<li><font face=\"Arial\" size=\"2\" color=\"#000000\">".$sKey.":".$sValue."</li></font>\n\n";
}
$mail_body.="<p><font face=\"Arial\" size=\"2\" color=\"#000000\">Wij zullen zo snel als mogelijk contact met u opnemen over uw aanmelding bij onze vereniging.<p>
Met vriendelijke groet,<p>
Ledenadministratie RCZ Zaandam</font>\n";
$mail_body.="<p><font face=\"Arial\" size=\"2\" color=\"#FF0000\"><b>WARNING:</b><br>
This message and any attachments are the property of RCZ and are intended solely for the named recipients or entity to whom this message is addressed. If you have received this message in error please inform the sender via e-mail and destroy the message. If you are not the intended recipient you are not allowed to use, copy or disclose the contents or attachments in whole or in part.</font>\n";
mail($recipient,$subject,$mail_body,$headers);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" id="www-nikhedonia-com">
<head>
<title>mail</title>
<link rel="stylesheet" type="text/css" media="screen" href="screen.css" />
</head>
<body>
<div align="left">
<p> </p>
<?php
echo "<b>Uw aanmeldingsformulier is met succes verstuurd!.</b><br>";
echo "<p><a href=\"http://www.rcz.nu\"><b>Terug naar de begin pagina!</b></a>";
}
?>
De 'sResultaat' parameter moet je nog meegeven, anders werkt het script niet.