Utilisation simple de l'Aedituus

Pour chaque page de votre site, vous devez faire appel à plusieurs fonctions.

Copie des fichiers

Dans un premier temps, on copie sur le FTP le contenu du répertoire Aedituus à la racine du site, donc les répertoires :

  • /admin/
  • /config/
  • /core/
  • /js/
  • /lib/
  • /ressource/
  • /template/
  • /captcha.php
  • /commun.php
  • /gds.php

Les fonctions user

Le mieux, c'est de placer ces fonctions dans un fichier, et on appelera donc ce fichier sur toutes les pages du site.

Pour l'exemple, nous appelerons ce fichier : entete.php
Voici son contenu :

<?php
define ('AEDITUUS_ROOT', './');
require_once AEDITUUS_ROOT.'commun.php';
 
$user = new AeUser();
$user->session_begin();

Pour une meilleur flexibilité, on pourrait aussi utiliser le chemin réel sur le serveur :

define ('AEDITUUS_ROOT', '/home/public/domaine_tld/www/');

On a tout simplement activé le système de sessions, maintenant, nous allons voir ce qui se passe sur le serveur.
On crée un fichier : index.php
Et on mets le code suivant :

<?php
include_once('./entete.php');
print_r ($user);

Voici ce que l'on obtient :

AeUser Object ( [id] ⇒ -1 [logged_in:private] ⇒ 0 [pseudo] ⇒ [mdp] ⇒ [email] ⇒ [session:private] ⇒ AeSession Object ([session_logged_in:private] ⇒ 0 [session_user_id:private] ⇒ -1 [session_ip:private] ⇒ 982.350.120.67 [session_id:private] ⇒ 4ed34a97dc6eaf7246e69434ee515b5b [session_rand_id:private] ⇒ 858dfa6bde274f702aef9fef840ebc67 [session_name:private] ⇒ aedituus [session_time:private] ⇒ 7200 ) [userdata:private] ⇒)

Donc, pour récupèrer l'id, il nous suffit de faire :

<?php
include ('./theme/entete.php');
if ($user->id == '-1') 
{
	echo "Hello Visiteur de la planète Mars";
}
// Ajout wamania, il est préférable d'utiliser la méthode faite pour :
if ( ! $user->isConnected() ) {
    echo "Hello Visiteur de la planète Mars";
}

Le -1 veut dire Visiteur inconnu, alors que le 0, c'est un visiteur connu (il vient de s'inscrire et en attente de formulaire, ou alors il vient de se déconnecter).

Créer une page de connexion basique

<?php
include ('./entete.php');
global $user, $cfg;
 
if ( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
    $inputs = array('identifiant' => AeValidator::valid($cfg['validator_pseudo'], array('var'=>$_POST['identifiant'], 'min'=>$cfg['pseudo_min_size'], 'max'=>$cfg['pseudo_max_size'])));
 
    if ($inputs['identifiant'] === false)
    {
        echo "pseudo invalide";
    } else {
        $inputs['mdp'] = AeValidator::valid($cfg['validator_mdp'], array('var'=>$_POST['mdp'], 'min'=>$cfg['mdp_min_size'], 'max'=>$cfg['mdp_max_size']));
        $inputs['mdp'] = sha1( AeUserAPI::getUserGDS($inputs['identifiant']) . stripslashes($inputs['mdp']) . AeUserAPI::getUserGDS($inputs['identifiant']));
 
        $tabUser = AeUserAPI::getUserByAuth( $inputs['identifiant'], $inputs['mdp'] );
        if( $tabUser === false )
           {
            echo "Erreur d'identification";
        } else {
            if ($tabUser->active != '1')
            {
                echo "Compte non validé";
            } else {
                $user->setId( $tabUser->id );
                $user->connecte();
                echo "connecter";
            }
        }
    }
} else {
    echo "<form action='./index.php' method='post'>";
    echo "<input type='text' name='identifiant'>";
    echo "<input type='password' name='mdp'>";
    echo "<input type='submit'>";
    echo "</form>";
}
 
utilisation_simple_de_l_aedituus.txt · Dernière modification: 2010/06/11 16:47 (édition externe)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki