Page PHP pour réactiver des comptes sur un forum

Page PHP pour réactiver des comptes sur un forum - PHP - Programmation

Marsh Posté le 25-08-2009 à 20:57:22    

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
Reply

Marsh Posté le 25-08-2009 à 20:57:22   

Reply

Marsh Posté le 25-08-2009 à 21:21:02    

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
Reply

Marsh Posté le 25-08-2009 à 21:33:26    

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 ?

Reply

Marsh Posté le 25-08-2009 à 21:37:52    

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
Reply

Marsh Posté le 25-08-2009 à 21:41:24    

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
Reply

Marsh Posté le 25-08-2009 à 21:54:17    

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
Reply

Marsh Posté le 25-08-2009 à 21:56:31    

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
Reply

Marsh Posté le 25-08-2009 à 21:59:34    

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

Reply

Marsh Posté le 25-08-2009 à 22:07:00    

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

Reply

Marsh Posté le 25-08-2009 à 22:09:08    

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
Reply

Marsh Posté le 25-08-2009 à 22:09:08   

Reply

Marsh Posté le 25-08-2009 à 22:13:16    

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 !

Reply

Marsh Posté le 25-08-2009 à 23:11:47    

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
Reply

Marsh Posté le 26-08-2009 à 00:03:58    

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
Reply

Marsh Posté le 26-08-2009 à 00:52:37    

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.

Reply

Marsh Posté le 26-08-2009 à 11:39:46    

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.

Reply

Marsh Posté le 28-08-2009 à 20:54:08    

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.
Reply

Marsh Posté le 28-08-2009 à 23:59:12    

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

Reply

Marsh Posté le 31-08-2009 à 17:07:28    

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...

Reply

Marsh Posté le 31-08-2009 à 17:13:22    

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

Reply

Marsh Posté le 31-08-2009 à 17:18:48    

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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed