web-dev-qa-db-fra.com

Comment utiliser les sessions de joomla pour transférer des informations d'un champ de saisie vers un formulaire d'inscription?

Sur ma page d'accueil, j'ai deux cases où les nouveaux utilisateurs vont entrer leur nom dans la première case, et leur email dans la seconde case (image 1) .

Une fois inscrits, ils seront dirigés vers la page d'inscription (ou comreg), où leurs informations seront automatiquement transférées dans le formulaire, de sorte qu'ils n'auront plus à le saisir à nouveau (image 2) .

J'ai essayé quelques mélanges, mais aucun ne semble fonctionner dans joomla. C'est ce que j'ai essayé jusqu'à présent:

première page

<?php
    session_start();
    if(isset($_POST['input1'])
    {
        $input1 = $_POST['input1'];
        $input2 = $_POST['input2'];
        $_SESSION['sessionInput1'] = $input1;
        $_SESSION['sessionInput2'] = $input2;
    }
?>

Deuxième page

<?php
    session_start();
    //retrieve session value
    if(!is_null($_SESSION['sessionInput1'] && !is_null($_SESSION'sessionInput2'])
    {
        $output1 = $_SESSION['sessionInput1'];            
        $output2 = $_SESSION'sessionInput2'];                 
    }          
?>

image1

image 2

Merci d'avance

1
Dwayne M

Comme indiqué précédemment, vous devriez utiliser JFactory :: getSession () pour accéder aux variables.

Il n'est pas possible de mémoriser des informations d'une session invité à une session d'utilisateur enregistré. Ce sont des sessions différentes.

D'autre part, vous pouvez stocker des informations de différentes manières pour mémoriser certains paramètres, par exemple. cookies/stockage local côté navigateur. À la fin, c'est l'application qui vit dans le navigateur qui envoie des informations au serveur.

1
Anibal

Comme mentionné dans les autres affiches, vous devez absolument utiliser les classes JInput et JSession intégrées à Joomla, ne serait-ce que pour assurer la sécurité de votre application.

Si vous connaissez le framework Joomla, vous voudrez peut-être également utiliser un événement plug-in pour l'événement de formulaire de rendu. À ce stade, vous pouvez vérifier votre session et insérer l'adresse électronique et le nom précédemment entrés dans le formulaire d'inscription. Cela demande un peu de travail, mais ce serait la meilleure façon de le faire afin de ne pas pirater les fichiers de modèle/noyau de Joomla et de pouvoir mettre à jour Joomla à tout moment sans craindre de perdre vos modifications.

1
muely2k1