Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1506 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Page PHP pour réactiver des comptes sur un forum

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Page PHP pour réactiver des comptes sur un forum

n°1918312
fade2black
Posté le 25-08-2009 à 20:57:22  profilanswer
 

Bonjour à tous,
 
j'ai un forum phpBB hébergé par Free, et je voudrais créer une page qui permette aux utilisateurs de réactiver leur compte tout en mettant à jour leurs données. En gros, je leur demande de rentrer leur nom d'utilisateur, leur mot de passe, leur ville d'étude et leur niveau d'étude. Je veux que ces 4 champs soient obligatoires, que si le login et le pwd concordent pas, ça tombe sur une page d'erreur, et que si tout est bon, ça m'envoit un mail avec les infos.
 
Mon frère a déjà fait ça pour son forum phpBB hébergé par OVH, et ça marche... Il a d'ailleurs été aidé sur HFR, cf http://forum.hardware.fr/hfr/Progr [...] 5645_1.htm
 
J'ai publié les mêmes fichiers (pages HTML + PHP) sur mon espace FTP Free en changeant les identifiants, et voici le message d'erreur :
 
Warning: session_start() [function.session-start]: open(/mnt/166/sda/2/7/m1mathsgen/sessions/sess_fe93c681d3fc7099765d134466ce2f7b, O_RDWR) failed: No such file or directory (2) in /mnt/166/sda/2/7/m1mathsgen/phpBB3/reactivation.php on line 3
 
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/166/sda/2/7/m1mathsgen/phpBB3/reactivation.php:3) in /mnt/166/sda/2/7/m1mathsgen/phpBB3/reactivation.php on line 3
 
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/166/sda/2/7/m1mathsgen/phpBB3/reactivation.php:3) in /mnt/166/sda/2/7/m1mathsgen/phpBB3/reactivation.php on line 3
[phpBB Debug] PHP Notice: in file /includes/session.php on line 990: Cannot modify header information - headers already sent by (output started at /reactivation.php:3)
[phpBB Debug] PHP Notice: in file /includes/session.php on line 990: Cannot modify header information - headers already sent by (output started at /reactivation.php:3)
[phpBB Debug] PHP Notice: in file /includes/session.php on line 990: Cannot modify header information - headers already sent by (output started at /reactivation.php:3)
[phpBB Debug] PHP Notice: in file /includes/session.php on line 1776: Cannot modify header information - headers already sent by (output started at /reactivation.php:3)
 
Warning: Cannot modify header information - headers already sent by (output started at /mnt/166/sda/2/7/m1mathsgen/phpBB3/reactivation.php:3) in /mnt/166/sda/2/7/m1mathsgen/phpBB3/includes/functions.php on line 3760
 
Warning: Cannot modify header information - headers already sent by (output started at /mnt/166/sda/2/7/m1mathsgen/phpBB3/reactivation.php:3) in /mnt/166/sda/2/7/m1mathsgen/phpBB3/includes/functions.php on line 3762
 
Warning: Cannot modify header information - headers already sent by (output started at /mnt/166/sda/2/7/m1mathsgen/phpBB3/reactivation.php:3) in /mnt/166/sda/2/7/m1mathsgen/phpBB3/includes/functions.php on line 3763
 
Warning: Cannot modify header information - headers already sent by (output started at /mnt/166/sda/2/7/m1mathsgen/phpBB3/reactivation.php:3) in /mnt/166/sda/2/7/m1mathsgen/phpBB3/includes/functions.php on line 3764

 
 
Qui ne peut être analysé qu'avec la page HTML sur http://m1mathsgen.free.fr/phpBB3/reactivation.htm , et le code de la page PHP :  
 

Code :
  1. <?php
  2. session_start();
  3. define('IN_PHPBB', true);
  4. define('IN_SITE', true);
  5. $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
  6. $phpEx = substr(strrchr(__FILE__, '.'), 1);
  7. include($phpbb_root_path . 'common.' . $phpEx);
  8. $user->session_begin();
  9. $auth->acl($user->data);
  10. $user->setup('');
  11. //$connect = mysql_connect('localhost', 'root', '');
  12. //mysql_select_db('dev_bb3',$connect);
  13. $db2 = mysql_connect('localhost', 'm1mathsgen', '******' );
  14. mysql_select_db('m1mathsgen',$db2);
  15.    $login = $_POST['login'];
  16.    $niveau = $_POST['niveau'];
  17.  
  18.    $sql = 'UPDATE phpbb_users SET user_type="0" WHERE username="'.addslashes($_POST['login']).'"';
  19. $req = mysql_query($sql) or die('Erreur SQL !
  20. '.$sql.'
  21. '.mysql_error());
  22. if ($_POST['niveau'] == "-" )
  23. {
  24.      $sql3 = 'UPDATE phpbb_users SET user_type="1" WHERE username="'.addslashes($_POST['login']).'"';
  25. $req = mysql_query($sql3) or die('Erreur SQL !
  26. '.$sql3.'
  27. '.mysql_error());
  28.    header("Location: erreur2.htm" );
  29.  
  30.    exit;
  31. }
  32. if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password']))
  33. {
  34.    $username   = request_var('login', '', true);
  35.    $password   = request_var('password', '', true);
  36.    $result = $auth->login($username, $password);
  37.  
  38.    if ($result['status'] == LOGIN_SUCCESS)
  39.    {
  40.  
  41. $msg = "Login:\t$login\n";
  42. $msg .= "Niveau:\t$niveau\n";
  43. $recipient = "admin";
  44. $subject = "Reactivation d'un compte d'utilisateur";
  45. $mailheaders = "From: <admin@> \n";
  46. $mailheaders .= "Reply-To: $sender_email\n\n";
  47. mail($recipient, $subject, $msg, $mailheaders);
  48.       header("Location: ok.htm" );
  49.    }
  50.    else
  51.    { 
  52.      $sql2 = 'UPDATE phpbb_users SET user_type="1" WHERE username="'.addslashes($_POST['login']).'"';
  53. $req = mysql_query($sql2) or die('Erreur SQL !
  54. '.$sql2.'
  55. '.mysql_error());
  56.    header("Location: erreur.htm" );
  57.       exit;
  58.  
  59.    }
  60. }
  61. else
  62. {
  63.    header("Location: erreur2.htm" );
  64.       exit;
  65. }
  66. ?>


 
Comment se fait-il que ça ne marche pas chez moi ? Vous voyez le problème ?
 
Merci d'avance pour vos réponses, ça fait plusieurs heures qu'on est sur ce problème et là on ne sait plus quoi faire !
 
Florent


Message édité par fade2black le 18-06-2012 à 18:27:19
mood
Publicité
Posté le 25-08-2009 à 20:57:22  profilanswer
 

n°1918316
esox_ch
Posté le 25-08-2009 à 21:21:02  profilanswer
 

Il y a un problème avec la gestion des sessions .. Il essaie d'ouvrir un fichier qui n'existe pas.. Regarde où est-ce que le site configure les sessions


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1918324
fade2black
Posté le 25-08-2009 à 21:33:26  profilanswer
 

Merci pour ta réponse, mais je suis totalement débutant en PHP, et même en programmation ; en particulier, je ne comprends pas bien ce que tu me demandes. Si ça peut t'avancer, j'ai un fichier session.php à l'adresse http://m1mathsgen.free.fr/phpBB3/includes/session.php
C'est ce que tu voulais savoir ?

n°1918326
esox_ch
Posté le 25-08-2009 à 21:37:52  profilanswer
 

Bein je sais pas, peux tu coller ici le code dans session.php?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1918327
fade2black
Posté le 25-08-2009 à 21:41:24  profilanswer
 

Y'a 2233 lignes, je peux pas tout mettre ici ; tu veux que je le découpe en plusieurs messages ?


Message édité par fade2black le 25-08-2009 à 21:43:21
n°1918329
esox_ch
Posté le 25-08-2009 à 21:54:17  profilanswer
 

Colle juste les lignes pertinentes ..


Message édité par esox_ch le 25-08-2009 à 21:54:42

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1918330
fade2black
Posté le 25-08-2009 à 21:56:31  profilanswer
 

Cf plus loin, le fichier est disponible sur http://m1mathsgen.free.fr/session.rar ; le code est trop long pour être posté.


Message édité par fade2black le 25-08-2009 à 22:08:02
n°1918332
fade2black
Posté le 25-08-2009 à 21:59:34  profilanswer
 

ca suffit ou tu veux les 1000 lignes d'après ?

n°1918334
fade2black
Posté le 25-08-2009 à 22:07:00  profilanswer
 

Tu sais quoi, le mieux c'est que je t'envoies carrément le fichier lui-même ; on peut le trouver sur http://m1mathsgen.free.fr/session.rar

n°1918335
esox_ch
Posté le 25-08-2009 à 22:09:08  profilanswer
 

oui mais non désolé .. je vais pas faire tout le boulot pour toi.
Soit tu t'y mets aussi , genre t'essaies de comprendre l'erreur, tu regardes dans la doc pour savoir d'où ça peut venir & co, et là après on t'aide.
Soit tu vas dans un forum de support phpbb ..
C'est les règles du forum.


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le 25-08-2009 à 22:09:08  profilanswer
 

n°1918336
fade2black
Posté le 25-08-2009 à 22:13:16  profilanswer
 

Oui oui je comprends bien que vous ne pouvez pas tout faire ; mais là, on ne part pas de zéro, la page est déjà créée. Ok c'est pas moi qui l'ait faite, mais peu importe. Elle marche sur un forum, et pas sur un autre. J'imagine donc qu'il n'y a pas 50 modifications à effectuer pour que ce soit bon, c'est pourquoi je me suis permis de poster ici. Maintenant peut-être que je me trompe et qu'il y a un sacré boulot, si vous pouviez alors juste m'aiguiller sur le type de problème que je rencontre, ça serait déjà bien !

n°1918340
esox_ch
Posté le 25-08-2009 à 23:11:47  profilanswer
 

Salut,
 
Donc ton problème vient du fait que les variables de session semblent être configurées pour pointer vers un dossier inexistant. Probablement que ce dossier existait chez ton hébérgeur précédent et plus sur celui-ci. Ce qu'il faut faire c'est trouver où est-ce qu'il défini ce chemin et supprimer cette ligne pour qui utilise le système "normal" .


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1918345
stealth35
Posté le 26-08-2009 à 00:03:58  profilanswer
 

ta activé le php 5 chez free ?

 

et faut aussi creer un dossier nommer  "sessions"  a la racine de ton site


Message édité par stealth35 le 26-08-2009 à 00:04:47
n°1918351
fade2black
Posté le 26-08-2009 à 00:52:37  profilanswer
 

Merci à vous deux,  
 
alors avec ce dossier sessions à la racine, effectivgement, tous les messages d'erreurs disparaissent. Cependant, quand par exemple je mets "envoyer" sans remplir le formulaire, au lieu de tomber sur la page d'erreur prévue, je tombe sur l'index du forum ; idem quand je mets "envoyer" après avoir rempli le formulaire. bref, c'est ce qui se passe dans tous les cas. Une idée ? Je vais voir comment activer le php5.

n°1918482
fade2black
Posté le 26-08-2009 à 11:39:46  profilanswer
 

pour activer le php5, jai créé un fichier appelé htaccess.htaccess comportant une unique ligne "php 1" ; c'est ce qu'il fallait faire ? En tout cas, le problème reste le même que dans mon précédent post.

n°1919474
l0g4n
Expert en tout :o
Posté le 28-08-2009 à 20:54:08  profilanswer
 

Ah non, php 1 sa ne sert à rien  :D  
Pense plutôt à "AddType x-mapp-php5 .php"
Et pis le fichier, c'est juste ".htaccess" hein :o


Message édité par l0g4n le 28-08-2009 à 20:54:38

---------------
Fort et motivé. Sauf parfois.
n°1919508
stealth35
Posté le 28-08-2009 à 23:59:12  profilanswer
 

c'est peu etre bete ouai mais c'est bien  "php 1" pour activer le php5 sous free,  chez d'autre ca va etre du SET_ENV, chaqu'un son truc, j'avoue que je php 1 c'est pas tres explicite mais c'est comme ca

n°1919992
fade2black
Posté le 31-08-2009 à 17:07:28  profilanswer
 

Ok, j'ai mis un fichier .htaccess à la racine du site (et pas htaccess.htaccess ; en fait je n'arrivais pas à créer un fichier .htaccess comme ça, mais en renommant avec Filezilla ça marche).
Mais il ne se passe toujours pas ce qu'il devrait se passer ; quoique je fasse sur le formulaire http://m1mathsgen.free.fr/phpBB3/reactivation.htm , quand je met "envoyer", je tombe sur l'index de mon forum alors que je devrais tomber sur l'une des 3 pages suivantes :
http://m1mathsgen.free.fr/phpBB3/ok.htm  
http://m1mathsgen.free.fr/phpBB3/erreur.htm  
http://m1mathsgen.free.fr/phpBB3/erreur2.htm  
suivant ce qu'on a tapé dans les champs...

n°1919998
stealth35
Posté le 31-08-2009 à 17:13:22  profilanswer
 

ta regarder si la version de php de free est compatible avec ta version de phpBB ?

n°1920002
fade2black
Posté le 31-08-2009 à 17:18:48  profilanswer
 

Non, comment puis-je le voir ?
 
Mon forum marchait très bien jusqu'à maintenant, et marche toujours très bien ; c'est juste cette page de réactivation en php qui me pose problème.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Page PHP pour réactiver des comptes sur un forum

 

Sujets relatifs
[WAMP]code PHP non interprétéPHP - fonction escapeshellcmd()
Programmation asp : enregistrement page en htmlPhp et référencement
comment se servir d'une valeur from une autre page?Creation page Web
"aplatir" une image en PHP GD[Résolu] Placer le code source d'une page web en buffer (Winnet)
Récupérer une page en iso-8859-1, je deviens fou[PHP] Listing de fichier, trier par date
Plus de sujets relatifs à : Page PHP pour réactiver des comptes sur un forum


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR