mijn scripts werken in joomla niet meer!?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter Arendse

Peter Arendse

19/08/2009 15:02:00
Quote Anchor link
Beste allemaal,
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
 
PHP hulp

PHP hulp

24/12/2024 00:40:04
 
A Leeuwenburgh

A Leeuwenburgh

19/08/2009 17:07:00
Quote Anchor link
Vindt er dan wel een submit plaatst ? De waarden van een formulier versturen moet toch met de submit opdracht dacht ik zo.

<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">
 
Peter Arendse

Peter Arendse

20/08/2009 19:45:00
Quote Anchor link
Ik snap dat mijn vraag veel te sumier was daarom post ik hier onder nog even het hele script, wat uit drie delen bestaat, het formulier zelf, de pagina die de controlle verzorgt en de pagina die de mails verstuurd met de ingevoerde data.
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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\'">';    
?>


en mailen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>&nbsp;</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>";    

}
        
?>
 
Steen

steen

20/08/2009 22:31:00
Quote Anchor link
De 'sResultaat' parameter moet je nog meegeven, anders werkt het script niet.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.