Passerelle Forum/Site

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans ce forum.

Modérateur: Equipe

[Réglé] Passerelle Forum/Site

Messagede Katoshy » 11 Mar 2008 à 22:26

Bonjour j'ai parcouru beaucoup de sujets concernant ce problème mais je n'est pas réussi à trouver mon problème ^^'
je précise en vérifiant je suis bien toujours en md5() donc voilà mon code : login.php
Code: Tout sélectionner
<?
$db = mysql_connect('---------', '---------', '---------');
mysql_select_db('---------',$db);

if(isset($_POST) && !empty($_POST['username']) && !empty($_POST['user_password'])) {
  extract($_POST);
  $req = mysql_query("SELECT username,user_password from phpbb_3users ") or die ("erreur sql ".mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['user_password'] != $user_password) {
    echo '<p>Mauvais login / password. Merci de recommencer</p>';
    include('login.html');
    exit;
  }
  else {
    session_start();
    $_SESSION['user_password'] = $username;
   
    echo 'Vous etes bien logué';
   header('Location: mapage.php');
  }   
}
else {
  echo '<p>Vous avez oublié de remplir un champ.</p>';
   include('login.html');
   exit;
}


?>


En résultat toujours une erreur car mauvais passe ce qui est normal mais où placer cette fonction md5() ?
merci d'avance :)
Dernière édition par Katoshy le 16 Mar 2008 à 22:50, édité 1 fois.
Katoshy
Posteur néophyte
Posteur néophyte
 
Messages: 49
Inscription: 06 Oct 2007 à 15:12

Re: Passerelle Forum/Site

Messagede ksar » 11 Mar 2008 à 23:16

SAlut,

ici je pense

Code: Tout sélectionner
  if($data['user_password'] != md5($user_password)) {


MAis ça marchera pas sur phpBB3

@+
Total in Love de phpBB :mrgreen:
Avatar de l’utilisateur
ksar
Roi des posts
Roi des posts
 
Messages: 591
Inscription: 24 Oct 2007 à 10:00
Localisation: IDF
Avertissements: 2

Re: Passerelle Forum/Site

Messagede Oyo » 11 Mar 2008 à 23:16

Salut,

Code: Tout sélectionner
if($data['user_password'] != md5($user_password))


.:Edit:.
Utilise à la place de md5() la fonction native de phpBB 3: phpbb_hash()
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

U-Web | Mods phpBB | Monstres Créatifs | Oyo's folio | PrestaDev
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15200
Inscription: 12 Fév 2003 à 19:02
Localisation: Paris

Re: Passerelle Forum/Site

Messagede Katoshy » 12 Mar 2008 à 07:55

c'est bien ce que je pensais
Fatal error: Call to undefined function phpbb_hash() in /home/katoshy/site/la_guilde/login.php on line 14
voilà ce qu'on me met pour phpbb_hash()
et concernant le md5 il continu à m'afficher que le mot de passe où le login n'est pas bon donc je suppose qu'il n'arrive toujours pas à convertir mon mot de passe pour le comparer au passe de la base de donnée. mais je pense que mon phpbb fonctionne sous md5() j'ai bien regardé le fichier auth_db et c'est du md5().

dois-je l'insérer dans mon formulaire avec le champs de texte mot de passe? où est-ce bien ce fichier login qui reçoit les infos du formulaire et dois transformer le mot de passe?
Katoshy
Posteur néophyte
Posteur néophyte
 
Messages: 49
Inscription: 06 Oct 2007 à 15:12

Re: Passerelle Forum/Site

Messagede ErnadoO » 12 Mar 2008 à 09:39

Normal c'est une fonction phpBB3, si tu ne la déclares pas, ça risque pas de amrcher ;)

Pour cela il te faut utiliser le système de sessions de phpBB2, en plaçant ces lignes en haut du fichier:
Code: Tout sélectionner
define('IN_PHPBB', true);
define('IN_SITE', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
session_start();
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/site')
phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB3 en toute tranquillité
phpBB-Maintenance.com: Installation, mise à jour et transfert de votre forum à votre place

Dead zone: LA référence francophone sur la série télé Dead zone: photos, résumés, captures, videos, forum.

Fleuriste à Saint-Maur: Livraison de fleurs dans le 93 et 94.
Avatar de l’utilisateur
ErnadoO
Administrateur et resp. des codeurs
Administrateur et resp. des codeurs
 
Messages: 23768
Inscription: 21 Juin 2003 à 12:42
Localisation: Brest/Paris

Re: Passerelle Forum/Site

Messagede ksar » 12 Mar 2008 à 10:27

ErnadoO a écrit:Normal c'est une fonction phpBB3, si tu ne la déclares pas, ça risque pas de amrcher ;)

Pour cela il te faut utiliser le système de sessions de phpBB2, en plaçant ces lignes en haut du fichier:
Code: Tout sélectionner
define('IN_PHPBB', true);
define('IN_SITE', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
session_start();
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/site')


Heu ErnadoO se que tu as donner est uniquement valable en phpBB3!

Et notre amis ne nous a toujours pas dit clairement en quel version de phpBB il est..

@+
Total in Love de phpBB :mrgreen:
Avatar de l’utilisateur
ksar
Roi des posts
Roi des posts
 
Messages: 591
Inscription: 24 Oct 2007 à 10:00
Localisation: IDF
Avertissements: 2

Re: Passerelle Forum/Site

Messagede ErnadoO » 12 Mar 2008 à 10:41

Je me base sur le fait que Katoshy n'ai pas protésté quand Oyo lui a suggéré phpbb_hash(), qui est une fonction phpbb3
phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB3 en toute tranquillité
phpBB-Maintenance.com: Installation, mise à jour et transfert de votre forum à votre place

Dead zone: LA référence francophone sur la série télé Dead zone: photos, résumés, captures, videos, forum.

Fleuriste à Saint-Maur: Livraison de fleurs dans le 93 et 94.
Avatar de l’utilisateur
ErnadoO
Administrateur et resp. des codeurs
Administrateur et resp. des codeurs
 
Messages: 23768
Inscription: 21 Juin 2003 à 12:42
Localisation: Brest/Paris

Re: Passerelle Forum/Site

Messagede Oyo » 12 Mar 2008 à 13:50

C'est ce que j'allais dire en faite mais tu m'a pris de cours Ern, enfin pas eu le temps de venir avant..
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

U-Web | Mods phpBB | Monstres Créatifs | Oyo's folio | PrestaDev
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15200
Inscription: 12 Fév 2003 à 19:02
Localisation: Paris

Re: Passerelle Forum/Site

Messagede Katoshy » 12 Mar 2008 à 14:00

je suis en phpbb3 mais bizarrement comme je l'ais dis avant quand je vais dans le fichier auth/auth_db.php contient la fonction md5() et non phpbb_hash normal?!
sinon je vais tester et je te dirais merci :)
Katoshy
Posteur néophyte
Posteur néophyte
 
Messages: 49
Inscription: 06 Oct 2007 à 15:12

Re: Passerelle Forum/Site

Messagede ErnadoO » 12 Mar 2008 à 14:06

ça c'est dans le cas ou le membre se connecte pour la 1er fois sur un phpBB3 convertis depuis phpBB2, afin de comparer avec le hash md5 présent dans le champ user_password, suite à quoi le pass est réencodé avec phpbb_hash() (c'est d'ailleurs la ligne juste en dessous dans autg_db.php)
phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB3 en toute tranquillité
phpBB-Maintenance.com: Installation, mise à jour et transfert de votre forum à votre place

Dead zone: LA référence francophone sur la série télé Dead zone: photos, résumés, captures, videos, forum.

Fleuriste à Saint-Maur: Livraison de fleurs dans le 93 et 94.
Avatar de l’utilisateur
ErnadoO
Administrateur et resp. des codeurs
Administrateur et resp. des codeurs
 
Messages: 23768
Inscription: 21 Juin 2003 à 12:42
Localisation: Brest/Paris

Re: Passerelle Forum/Site

Messagede Katoshy » 12 Mar 2008 à 14:16

Donc nouveau code ^^
Code: Tout sélectionner
<?
$db = mysql_connect('------------', '------------', '------------');
mysql_select_db('------------',$db);

session_start();
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/site');

define('IN_PHPBB', true);
define('IN_SITE', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

if(isset($_POST) && !empty($_POST['username']) && !empty($_POST['user_password'])) {
  extract($_POST);
  $req = mysql_query("SELECT username,user_password from phpbb_3users ") or die ("erreur sql ".mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['user_password'] != phpbb_hash($user_password)) {
    echo '<p>Mauvais login / password. Merci de recommencer</p>';
    include('login.html');
    exit;
  }
  else {
    session_start();
    $_SESSION['user_password'] = $username;
   
    echo 'Vous etes bien logué';
   header('Location: mapage.php');
  }   
}
else {
  echo '<p>Vous avez oublié de remplir un champ.</p>';
   include('login.html');
   exit;
}

?>

et message d'erreur : Fatal error: Call to a member function session_begin() on a non-object in /home/katoshy/site/la_guilde/login.php on line 6

Et merci pour l'info concernant md5() :)
Dernière édition par Katoshy le 12 Mar 2008 à 14:39, édité 1 fois.
Katoshy
Posteur néophyte
Posteur néophyte
 
Messages: 49
Inscription: 06 Oct 2007 à 15:12

Re: Passerelle Forum/Site

Messagede ksar » 12 Mar 2008 à 14:35

Katoshy a écrit:et message d'erreur : Fatal error: Call to a member function session_begin() on a non-object in /home/katoshy/site/la_guilde/login.php on line 6

Et merci pour l'info concernant md5() :)


Essaye ça :

Code: Tout sélectionner
<?

define('IN_PHPBB', true);
define('IN_SITE', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

$db = mysql_connect('localhost', '****', '********);
mysql_select_db('katoshy',$db);

session_start();
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/site');

if(isset($_POST) && !empty($_POST['username']) && !empty($_POST['user_password'])) {
  extract($_POST);
  $req = mysql_query("SELECT username,user_password from phpbb_3users ") or die ("erreur sql ".mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['user_password'] != phpbb_hash($user_password)) {
    echo '<p>Mauvais login / password. Merci de recommencer</p>';
    include('login.html');
    exit;
  }
  else {
    session_start();
    $_SESSION['user_password'] = $username;
   
    echo 'Vous etes bien logué';
   header('Location: mapage.php');
  }   
}
else {
  echo '<p>Vous avez oublié de remplir un champ.</p>';
   include('login.html');
   exit;
}

?>


mais ça risque de planter car phpBB déclare une connection BD avec le pointeur $db.

@+
Total in Love de phpBB :mrgreen:
Avatar de l’utilisateur
ksar
Roi des posts
Roi des posts
 
Messages: 591
Inscription: 24 Oct 2007 à 10:00
Localisation: IDF
Avertissements: 2

Re: Passerelle Forum/Site

Messagede Katoshy » 12 Mar 2008 à 14:47

je confirme ça plante ^^
Warning: include(./forum/common.php) [function.include]: failed to open stream: No such file or directory in /home/katoshy/site/la_guilde/login.php on line 7

Warning: include() [function.include]: Failed opening './forum/common.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/katoshy/site/la_guilde/login.php on line 7

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/katoshy/site/la_guilde/login.php:7) in /home/katoshy/site/la_guilde/login.php on line 12

Fatal error: Call to a member function session_begin() on a non-object in /home/katoshy/site/la_guilde/login.php on line 13
Katoshy
Posteur néophyte
Posteur néophyte
 
Messages: 49
Inscription: 06 Oct 2007 à 15:12

Re: Passerelle Forum/Site

Messagede ErnadoO » 12 Mar 2008 à 14:56

ksar a écrit:mais ça risque de planter car phpBB déclare une connection BD avec le pointeur $db.

Désolé mais c'est tout a fait possible de se connecter à une seconde base en plein milieu d'une page phpBB, je l'ai fais pour phppp-services.
De plus, une classe peut être instanciée plusieurs fois.

Donc en fait, le problème de Katoshy n'a rien à voir, c'est juste que le script ne trouve pas le fichier forum/common.php il faut evidemmer spécifier le bon chemin vers le fichier common.php utilisé par phpBB3
phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB3 en toute tranquillité
phpBB-Maintenance.com: Installation, mise à jour et transfert de votre forum à votre place

Dead zone: LA référence francophone sur la série télé Dead zone: photos, résumés, captures, videos, forum.

Fleuriste à Saint-Maur: Livraison de fleurs dans le 93 et 94.
Avatar de l’utilisateur
ErnadoO
Administrateur et resp. des codeurs
Administrateur et resp. des codeurs
 
Messages: 23768
Inscription: 21 Juin 2003 à 12:42
Localisation: Brest/Paris

Re: Passerelle Forum/Site

Messagede Katoshy » 12 Mar 2008 à 15:08

haaaaa ok je n'avais pas vu qu'il fallait faire un adressage depuis le forum je vais tenter tout de suite et je tient au courant je suppose que pour sortir du site et eller au forum je dois travailler le code de cette manière :

$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '././forum/';
Katoshy
Posteur néophyte
Posteur néophyte
 
Messages: 49
Inscription: 06 Oct 2007 à 15:12

Suivante

Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités

Liens : phpBB.biz • phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB-Services.com • phpBB-Conseils.com • phpBB3 Styles • phpBB podpora • phpBB Portugal • Tapatalk • Net Avenir • PromoBenef • Ticket Gagnant •