Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#26 21-07-2006 19:19:52

vin100
Membre

Re : integration à un site web (help)

dans ton script tu as bien inséré common.php ?

non c'est normal d'utiliser ces fonctions, enfin dans le cntexte de punbb car il y a une class d'abstraction

cette erreur elle est dans quel contexte ? quelle fonction ? appellé par quel script ? etc. sans le contexte on peut pas grand choses

Hors ligne

#27 21-07-2006 20:59:31

Elmut
Membre

Re : integration à un site web (help)

En fait j'ai copié collé une partie du code de login.php dans une de mes pages pour permettre la connexion sur le forum à partir du site

voici le code copier/coller :

// forum
                    define('PUN_QUIET_VISIT', 1);

                    define('PUN_ROOT', './forum/upload/');
                    require PUN_ROOT.'include/common.php';


                        $form_username = trim($_POST['req_username']);
                        $form_password = trim($_POST['req_password']);

                        $username_sql = ($db_type == 'mysql' || $db_type == 'mysqli') ? 'username=\''.$db->escape($form_username).'\'' : 'LOWER(username)=LOWER(\''.$db->escape($form_username).'\')';

                        $result = $db->query('SELECT id, group_id, password, save_pass FROM '.$db->prefix.'users WHERE '.$username_sql) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
                        list($user_id, $group_id, $db_password_hash, $save_pass) = $db->fetch_row($result);

                        $authorized = false;

                        if (!empty($db_password_hash))
                        {
                            $sha1_in_db = (strlen($db_password_hash) == 40) ? true : false;
                            $sha1_available = (function_exists('sha1') || function_exists('mhash')) ? true : false;

                            $form_password_hash = pun_hash($form_password);    // This could result in either an SHA-1 or an MD5 hash (depends on $sha1_available)

                            if ($sha1_in_db && $sha1_available && $db_password_hash == $form_password_hash)
                                $authorized = true;
                            else if (!$sha1_in_db && $db_password_hash == md5($form_password))
                            {
                                $authorized = true;

                                if ($sha1_available)    // There's an MD5 hash in the database, but SHA1 hashing is available, so we update the DB
                                    $db->query('UPDATE '.$db->prefix.'users SET password=\''.$form_password_hash.'\' WHERE id='.$user_id) or error('Unable to update user password', __FILE__, __LINE__, $db->error());
                            }
                        }

                        if (!$authorized)
                            message($lang_login['Wrong user/pass'].' <a href="login.php?action=forget">'.$lang_login['Forgotten pass'].'</a>');

                        // Update the status if this is the first time the user logged in
                        if ($group_id == PUN_UNVERIFIED)
                            $db->query('UPDATE '.$db->prefix.'users SET group_id='.$pun_config['o_default_user_group'].' WHERE id='.$user_id) or error('Unable to update user status', __FILE__, __LINE__, $db->error());

                        // Remove this users guest entry from the online list
                        $db->query('DELETE FROM '.$db->prefix.'online WHERE ident=\''.$db->escape(get_remote_address()).'\'') or error('Unable to delete from online list', __FILE__, __LINE__, $db->error());

                        $expire = ($save_pass == '1') ? time() + 31536000 : 0;
                        pun_setcookie($user_id, $form_password_hash, $expire);

                        redirect(htmlspecialchars($_POST['redirect_url']), $lang_login['Login redirect']);
                // fin

l'erreur vient de la car avant j'avais aucune erreur sur cette page et c'est la seule modif que j'ai fait !

si tu peux jeter un coup d'oeil wink Merci

Hors ligne

#28 22-07-2006 10:19:56

vin100
Membre

Re : integration à un site web (help)

tu n'a pas besoin de mettre de PHP pour réaliser l'identification sur ton site, le formulaire suivant en simple HTML fonctionnera :

<form id="login" method="post" action="/url_forums/login.php?action=in">
    <div id="brdwelcome" class="inbox">
    
        <input name="form_sent" value="1" type="hidden" />
        <input name="redirect_url" value="/url_page.html" type="hidden" />
        
        <label><strong>Nom d'utilisateur</strong>
        <input name="req_username" size="13" maxlength="25" type="text" /></label>
        
        <label><strong>Mot de passe</strong>
        <input name="req_password" size="13" maxlength="16" type="password" /></label>
        
        <input name="login" value="S'identifier" type="submit" />
        
    </div>
</form>

il faut juste ajuster [c]action="/url_forums/login.php?action=in"[/c] qui est l'URL de la page de connexion sur ton forum et [c]value="/url_page.html[/c] qui est l'URL de redirection après identification

Hors ligne

#29 22-07-2006 11:08:12

Elmut
Membre

Re : integration à un site web (help)

neutral sur ce coup la je me suis compliqué la vie.....

En admettant que je me connecte par ce formulaire, avec "action="/url_forums/login.php?action=in"" je me connecte que sur le forum...

alors tu me conseil de modifier la page login.php pour finalemment etre connecté sur les deux ? (avec le site)

ou alors ya-t-il un autre moyen ?

Hors ligne

#30 22-07-2006 11:53:55

Lyconide
Membre

Re : integration à un site web (help)

En admettant que je me connecte par ce formulaire, avec "action="/url_forums/login.php?action=in"" je me connecte que sur le forum...

Si tu oublies pas ceci :

vin100 a écrit :

tout est fait via common.php il n'y a aucun problème, vous cherchez à compliquer le truc alors que c'est tout simple : vous mettez

define('PUN_ROOT', './forums/');
require PUN_ROOT.'include/common.php';

et voilà après il reste plus qu'à utiliser tout ce qui est à votre disposition comme expliqué sur l'aide

A partir du moment ou tu es connecté via le formulaire, et que les pages de ton site ont les 2 petites lignes qui vont bien, pas de soucis... tu es connecté aussi bien sur le forum que sur le site

Et donc, il est en aucun cas question de modifier login.php (c'est celui du forum que tu voulais modifié ?)

Hors ligne

#31 22-07-2006 12:08:44

vin100
Membre

Re : integration à un site web (help)

edit---
post croisé avec Lyconide wink
-------

non ! pourquoi faire simple quand on peut faire compliqué ?

quand tu inclu [c]common.php[/c] ce script se charge de regarder si l'utilisateur courant est identifié ou non

donc tu va inclure ce script dans toutes les pages de ton site ; donc ce script va regarder sur toutes les pages de ton site si l'utilisateur est identifié ou non

si il est pas identifié (voir la page du wiki pour savoir comment tester ça) tu va lui afficher le formulaire que je viens de donner

comme la cible du formulaire est la page de connexion des forums et que les noms des champs du formulaire sont ceux attendus par le script alors celui-ci va procéder à l'identification et rediriger vers l'adresse de redirection précisée dans le champs caché du formulaire (généralement on va rediriger sur la page du site où on as mis le formulaire) et enfin comme sur cette page comprend l'inclusion de common.php qui se charge de tester si l'utilisateur est en ligne ou non voilà la boucle est bouclé

est-ce que tu comprend ?

Dernière modification par vin100 (22-07-2006 12:09:56)

Hors ligne

#32 22-07-2006 12:57:10

Elmut
Membre

Re : integration à un site web (help)

A partir du moment ou tu es connecté via le formulaire, et que les pages de ton site ont les 2 petites lignes qui vont bien, pas de soucis... tu es connecté aussi bien sur le forum que sur le site

Et donc, il est en aucun cas question de modifier login.php (c'est celui du forum que tu voulais modifié ?)

mais avec le formulaire de vin100 ca me permet de me connecter au forum...
je ne vois pas pourquoi avec ce formulaire je serais connecté aussi à l'espace membre de mon site... ou alors il fuat que je prenne une table unique... en l'occurence celle du forum...
le probleme c'est que j'ai d'autres données pour les membre du site et donc je voulais garder les deux tables... et donc en gros faire deux connections (alors que le visiteur a l'impression dans faire qu'une...)


pour repondre à vin100 je crois avoir compris mais en fiat vous me proposer de me connecter que sur le forum... et de me baser la dessus...

si le visiteur est connecté sur le forum alors je le considere connecte également à son compte membre du site...

Ai-je bien compris ??

Hors ligne

#33 22-07-2006 14:12:34

vin100
Membre

Re : integration à un site web (help)

ah mais voilà tu nous avait pas dit que sur ton site tu avait ton propre système d'identification sur ton site

oui je crois que tu as compri

la méthode ici proposée c'est de ne pas utiliser le système de ton site mais de préferer celui du forum parce que c'est simple et efficace

si des champs suplémentaires sont nécessaire alors tu les ajoute à la table users de punbb, ils seront tous ajoutés automatiquement au tabelau $pun_user

Hors ligne

#34 22-07-2006 14:19:16

Elmut
Membre

Re : integration à un site web (help)

ah mais voilà tu nous avait pas dit que sur ton site tu avait ton propre système d'identification sur ton site

oupsss dsl je pensais que vous aviez compris .... hmm

si je veux garder les duex tables pour pas tout melanger

je peux rajouter mon systeme d'identification de mon site sur la page login.php du forum ??

et utiliser ton formulaire html

Hors ligne

#35 22-07-2006 14:39:27

Babs
Membre

Re : integration à un site web (help)

Sans rien melanger... c'est beaucoup plus dur... roll:|

Hors ligne

#36 22-07-2006 15:47:28

Elmut
Membre

Re : integration à un site web (help)

bah peut etre mais j'ai pas envie de tout melanger car si je dois tout baser sur la table user du forum alors tout mon site à refiare....

enfin les espaces membres.... car le systeme d'identification et completement different.... et j'ai pas envie de changer toutes mes fonctions...

y a-t-il pas moyen de  faire une fonction qui me permet de me connecte sur mon
systeme d'identification et sur celui du forum ?

j'ia bien reussi pour l'inscription  ( je rempli les deux tables )

je peux pas faire de mm pour la identification ?

Hors ligne

#37 22-07-2006 15:57:11

vin100
Membre

Re : integration à un site web (help)

si il y a certainement moyen après faut coder...
ceci dit c'est exactement ce qu'il ne faut pas faire avec une base de données : dupliquer les données

moi je te conseil soit de changer le système d'identification de PunBB par le tiens, soit de changer le tiens par celui de PunBB mais pas d'avoir un truc hybride mélange de deux, cela pour les perf, la qualité, la pérénité, etc. etc.

Hors ligne

#38 22-07-2006 16:10:44

Elmut
Membre

Re : integration à un site web (help)

Oui....

c'est sur que c'est pas top...

mais la je sais plus quoi faire car dans les deux cas ca va me faire des tonnes de boulots... si je garde mon site je vais couler car je connais pas le fonctionnement de punbb et si je garde punbb je vais devoir refaire tout mon site...

j'avoue que le je sais plus...

Hors ligne

#39 22-07-2006 16:22:08

vin100
Membre

Re : integration à un site web (help)

l'autre solution c'est de ne pas confondre les comptes

Hors ligne

#40 22-07-2006 16:32:24

Elmut
Membre

Re : integration à un site web (help)

vin100 a écrit :

l'autre solution c'est de ne pas confondre les comptes

laisser comme c'est en fait ? huh

Hors ligne

#41 22-07-2006 16:36:02

vin100
Membre

Re : integration à un site web (help)

bah oui si tu souhaite pas remettre les mains dedans

peutetre que ça ne te prendrais pas énormément de temps à refaire ton site ; d'ailleur il est où ce site on peut le voir ? par MP si tu préfère

Hors ligne

#42 23-07-2006 22:44:59

Elmut
Membre

Re : integration à un site web (help)

comme tu as pu le dire en MP effectivement j'ia encore beaucoup de travaille ! tongue
ca c'est sur j'e nsuis conscient...
c'est un peu pour ca que je voualis pas refaire ce que j'avais deja commencé !

bon finallement je me suis lancé quant même !
je refais tout en utilisant les tables du forum et common.php....

au début je voulais pas que mon site depend du forum... mais bon !

une fois que j'aurais mis à jour mon site je compte aussi passer aux normes w3c wink

@vin100 : j'avais pas encore pris le temps de corriger mes erreurs, si j'ai mis le logo c'était pour voir les erreurs que j'avais en cliquant dessus... je n'avais pas encore la prétention d'avoir un site aux normes ! roll

Hors ligne

#43 23-07-2006 23:19:34

vin100
Membre

Re : integration à un site web (help)

bonne décision ; bon courage smile

Hors ligne

#44 25-07-2006 18:10:37

Elmut
Membre

Re : integration à un site web (help)

bonjour,

j'ia remarqué que si on quittait le forum sans se deconnecter et qu'on revennait dessus on était toujours connecté parfois même longtemps apres...

serait -il possible de changer cela ?

de reduire la durée durant laquelle on reste connecté apres avoir quitté... ou de deconnecté automatiquement  quant il quitte le site ?

Dernière modification par Elmut (25-07-2006 18:13:27)

Hors ligne

#45 26-07-2006 19:15:36

Elmut
Membre

Re : integration à un site web (help)

ya personne pour m'aider sur ce coup la ? roll

parce que je trouve con de revenir le lendemain sur le site est qu'on soit toujours connecté... j'aimerai bien enlever ou reduire le temps durant on reste connecté alors qu'on a quitté le site...

Hors ligne

#46 26-07-2006 19:26:11

Babs
Membre

Re : integration à un site web (help)

Je ne crois pas que ce soit réglable, simplement activable ou désactivable dans le profil...

Dans la section Vie privée, Mémoriser le nom d'utilisateur et le mot de passe entre les visites. wink

Hors ligne

#47 26-07-2006 19:58:02

Elmut
Membre

Re : integration à un site web (help)

ah ok... hmm

mais quant on se connecte ya pas un cookie qui se créé (en plus de l'ajout dans la table online)?
il suffirai de reduire la durée de vie du cookie non ?

est ce que quelqu'un a une autre solution ?

Hors ligne

#48 26-07-2006 20:09:11

vin100
Membre

Re : integration à un site web (help)

dasn functions.php     

    $expire = ($save_pass == '1') ? time() + 31536000 : 0;

Hors ligne

#49 26-07-2006 20:15:29

Elmut
Membre

Re : integration à un site web (help)

ok !! merci smile

j'imagine que je reduis le chiffre derriere time() ?

31536000 = 1 an.... Ca fait long...

surtout quant le forum et le site on la mm base de donnée...

merci à vous !

Dernière modification par Elmut (26-07-2006 20:15:47)

Hors ligne

#50 26-07-2006 20:26:31

vin100
Membre

Re : integration à un site web (help)

ce un an c'est pour ceux qui ont la case cochée dans leur profil, sinon dès qu'on est deconnectéle cookie est dead

Hors ligne

Pied de page des forums