Vérification login et mot de passe + envoi d'un form..

Vérification login et mot de passe + envoi d'un form.. - PHP - Programmation

Marsh Posté le 21-08-2005 à 17:07:22    

Bonjour,  
J'ai créér une page qui a pour but de demander aux utilisateurs de mon site de mete à jour leurs informations personnelles.  
J'ai donc créer une formulaire avec les champs (login et mot de passe destinés a l'identification et avec les champs classe et régime pour mettre à jour leur infos.. (je m'occupe d'un forum d'élèves...).  
 
J'ai donc créer la pag PHP suivante consistant à envoyant le resultat du forumaire par mail :  
 
Code:  
<?php  
 
 
$msg = "Login:\t$login\n";  
$msg = "Mot de passe:\t$password\n";  
$msg .= "Classe:\t$classe\n";  
$msg .= "Régime:\t$regime\n";  
 
$recipient = "mon email";  
$subject = "sujet du message";  
 
$mailheaders = "From: url<> \n";  
$mailheaders .= "Reply-To: $email\n\n";  
 
mail($recipient, $subject, $msg, $mailheaders);  
?>  
 
 
J'aimerai savoir comment faire pour vérifier le login et le mot de passe de l'utilisateur en utilisant les mêmes tables de la BDD de PHPBB et rediriger le visiteur sur une page de mon choix en cas d'erreur d'identifocation.  
Merci d'avance!


Message édité par fade2black le 02-09-2005 à 09:49:27
Reply

Marsh Posté le 21-08-2005 à 17:07:22   

Reply

Marsh Posté le 21-08-2005 à 17:51:57    

Tu ne pourras pas envoyer le mot de passe phpBB de l'utilisateur par mail car celui ci est crypté, quant au nom d'utilisateur tu devrais trouver la table en cherchant un peut dans ta base de donnée...
Par contre tu peut vérifier si un mot de passe correspond à celui présent dans la base (crypté) en le cryptant de la même façon et comparant les resultats.


Message édité par zakinster le 21-08-2005 à 17:59:03
Reply

Marsh Posté le 21-08-2005 à 17:57:37    

régle du forum :
[08] Ne recréez pas de sujet inutile si ça a un rapport avec votre sujet précédent.
 
Je trouve que cette question est totalement lié avec la précédente. Certe ce n'est pas la même question, mais on ne peut pas dire qu'il n'y a aucun rapport avec le précédant.

Reply

Marsh Posté le 21-08-2005 à 18:02:30    

De quoi parle-tu ?
Edit : je viens de lire son autre message, effectivement c'est évidement totalement lié dans la mesure ou c'est dans le cadre du même "projet" mais le contenu de la question elle-même et les réponses qu'il attend n'ont aucun rapport avec son autre message...


Message édité par zakinster le 21-08-2005 à 18:07:07
Reply

Marsh Posté le 21-08-2005 à 18:07:29    

de ceci :
http://forum.hardware.fr/hardwaref [...] 5989-1.htm
 
Ok, dans l'un il voulait savoir comment passer des infos d'une page à l'autre, mais quand on regarde bien, ses deux questions ne sont que les deux étapes d'afilé d'un seul et même événement.
 
 
C'est comme si quelqu'un demandait comment recevoir le fichier indiqué dans un formulaire et ensuite comment le copier dans un répertoire donné. ;)

Reply

Marsh Posté le 21-08-2005 à 18:20:23    

omega2 a écrit :

de ceci :
http://forum.hardware.fr/hardwaref [...] 5989-1.htm
 
Ok, dans l'un il voulait savoir comment passer des infos d'une page à l'autre, mais quand on regarde bien, ses deux questions ne sont que les deux étapes d'afilé d'un seul et même événement.
 
 
C'est comme si quelqu'un demandait comment recevoir le fichier indiqué dans un formulaire et ensuite comment le copier dans un répertoire donné. ;)


 
Comment aurais-tu fais à sa place, s'il avait posté une nouvelle réponse dans son sujet précédent, sa question ne correspondrait plus avec le titre du sujet, effectivement ça aurait été une possibilité mais ou est le mal sérieusement, est-ce que cela change réellement quelque chose s'il poste comme un nouveau sujet ou comme une nouvelle question dans un sujet.
 
Je ne sais pas ce que tu as mais si tu lis les sujets uniquement pour vérifier s'il n'y a pas manière à critiquer par rapport aux règles du forum je doute que tu sois d'un grande aide...
 
Mais bon nous nous éloignons du sujet et de sa question principale

Reply

Marsh Posté le 21-08-2005 à 18:41:05    

Excusez moi si vous trouvez que je me répète, il ets vrai que mon problème ets globalement le même mais j'espérais en postant un nouveau sujet avoir des réponses plus spécifiques...
 

Citation :

Par contre tu peut vérifier si un mot de passe correspond à celui présent dans la base (crypté) en le cryptant de la même façon et comparant les resultats.


 
L'idée me plait assez mais concretement comment faire? Du moins en même temps que l'envoi du mail...
merci!

Reply

Marsh Posté le 21-08-2005 à 18:42:38    

regardes mes interventions habituelles sur ce forum, et tu véras bien si je ne fait que critiquer. Avant de critiquer un critiqueur mieux vaut vérifier son comportement habituel. ;)
 
Quand à la question principale de cette discution, à par regarder comment ils font dans phpbb quand on s'identifie et reproduire leur façon de faire, je vois pas d'autres maniéres de vérifier les mots de passe.
Quand à l'envoie du mot de passe par mail, je vois pas où est le probléme vu qu'il n'est pas saisie crypté, c'est dans la base qu'il est stocké sous une forme crypté. il lui susfit d'utiliser la version saisaie pour l'avoir en clair dans le mail.

Reply

Marsh Posté le 21-08-2005 à 18:56:48    

Je vois ce que tu veux dire mais je n'arrive pas a organiser la page PHP de manire à ce que  
1) La page vérifie l'identité de la personne (la on chope le code de phpbb)  
2) Si c'est ok, le mail ets envoyé avk en infos login, classe, régile
 
peut on en une page faire coincider ces deux actions?
Merci :d

Reply

Marsh Posté le 21-08-2005 à 19:04:22    

oui on peut.
Avec un if (la condition qui va bien) tu peux n'envoyer le mail que quand le pseudo/mot de passe a été validé par le code phpbb.

Reply

Marsh Posté le 21-08-2005 à 19:04:22   

Reply

Marsh Posté le 21-08-2005 à 19:08:35    

Hurm..  
Et concrètement ça donne quoi?
 
Vocii le code de login de phpbb :  
 

Code :
  1. <?php
  2. /***************************************************************************
  3. *                                login.php
  4. *                            -------------------
  5. *   begin                : Saturday, Feb 13, 2001
  6. *   copyright            : (C) 2001 The phpBB Group
  7. *   email                : support@phpbb.com
  8. *
  9. *   $Id: login.php,v 1.47.2.16 2004/07/17 13:48:32 acydburn Exp $
  10. *
  11. *
  12. ***************************************************************************/
  13. /***************************************************************************
  14. *
  15. *   This program is free software; you can redistribute it and/or modify
  16. *   it under the terms of the GNU General Public License as published by
  17. *   the Free Software Foundation; either version 2 of the License, or
  18. *   (at your option) any later version.
  19. *
  20. ***************************************************************************/
  21. //
  22. // Allow people to reach login page if
  23. // board is shut down
  24. //
  25. define("IN_LOGIN", true);
  26. define('IN_PHPBB', true);
  27. $phpbb_root_path = './';
  28. include($phpbb_root_path . 'extension.inc');
  29. include($phpbb_root_path . 'common.'.$phpEx);
  30. //
  31. // Set page ID for session management
  32. //
  33. $userdata = session_pagestart($user_ip, PAGE_LOGIN);
  34. init_userprefs($userdata);
  35. //
  36. // End session management
  37. //
  38. // session id check
  39. if (!empty($HTTP_POST_VARS['sid']) || !empty($HTTP_GET_VARS['sid']))
  40. {
  41. $sid = (!empty($HTTP_POST_VARS['sid'])) ? $HTTP_POST_VARS['sid'] : $HTTP_GET_VARS['sid'];
  42. }
  43. else
  44. {
  45. $sid = '';
  46. }
  47. if( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) || isset($HTTP_POST_VARS['logout']) || isset($HTTP_GET_VARS['logout']) )
  48. {
  49. if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && !$userdata['session_logged_in'] )
  50. {
  51.  $username = isset($HTTP_POST_VARS['username']) ? trim(htmlspecialchars($HTTP_POST_VARS['username'])) : '';
  52.  $username = substr(str_replace("\\'", "'", $username), 0, 25);
  53.  $username = str_replace("'", "\\'", $username);
  54.  $password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';
  55.  $sql = "SELECT user_id, username, user_password, user_active, user_level
  56.   FROM " . USERS_TABLE . "
  57.   WHERE username = '" . str_replace("\\'", "''", $username) . "'";
  58.  if ( !($result = $db->sql_query($sql)) )
  59.  {
  60.   message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql);
  61.  }
  62.  if( $row = $db->sql_fetchrow($result) )
  63.  {
  64.   if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
  65.   {
  66.    redirect(append_sid("index.$phpEx", true));
  67.   }
  68.   else
  69.   {
  70.    if( md5($password) == $row['user_password'] && $row['user_active'] )
  71.    {
  72.     $autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;
  73.     $session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin);
  74.     if( $session_id )
  75.     {
  76.      $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&amp;', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";
  77.      redirect(append_sid($url, true));
  78.     }
  79.     else
  80.     {
  81.      message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__);
  82.     }
  83.    }
  84.    else
  85.    {
  86.     $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&amp;', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : '';
  87.     $redirect = str_replace('?', '&', $redirect);
  88.     if (strstr(urldecode($redirect), "\n" ) || strstr(urldecode($redirect), "\r" ))
  89.     {
  90.      message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
  91.     }
  92.     $template->assign_vars(array(
  93.      'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">" )
  94.     );
  95.     $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' .  sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx" ) . '">', '</a>');
  96.     message_die(GENERAL_MESSAGE, $message);
  97.    }
  98.   }
  99.  }
  100.  else
  101.  {
  102.   $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&amp;', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "";
  103.   $redirect = str_replace("?", "&", $redirect);
  104.   if (strstr(urldecode($redirect), "\n" ) || strstr(urldecode($redirect), "\r" ))
  105.   {
  106.    message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
  107.   }
  108.   $template->assign_vars(array(
  109.    'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">" )
  110.   );
  111.   $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' .  sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx" ) . '">', '</a>');
  112.   message_die(GENERAL_MESSAGE, $message);
  113.  }
  114. }
  115. else if( ( isset($HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] )
  116. {
  117.  if( $userdata['session_logged_in'] )
  118.  {
  119.   session_end($userdata['session_id'], $userdata['user_id']);
  120.  }
  121.  if (!empty($HTTP_POST_VARS['redirect']) || !empty($HTTP_GET_VARS['redirect']))
  122.  {
  123.   $url = (!empty($HTTP_POST_VARS['redirect'])) ? htmlspecialchars($HTTP_POST_VARS['redirect']) : htmlspecialchars($HTTP_GET_VARS['redirect']);
  124.   $url = str_replace('&amp;', '&', $url);
  125.   redirect(append_sid($url, true));
  126.  }
  127.  else
  128.  {
  129.   redirect(append_sid("index.$phpEx", true));
  130.  }
  131. }
  132. else
  133. {
  134.  $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&amp;', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";
  135.  redirect(append_sid($url, true));
  136. }
  137. }
  138. else
  139. {
  140. //
  141. // Do a full login page dohickey if
  142. // user not already logged in
  143. //
  144. if( !$userdata['session_logged_in'] )
  145. {
  146.  $page_title = $lang['Login'];
  147.  include($phpbb_root_path . 'includes/page_header.'.$phpEx);
  148.  $template->set_filenames(array(
  149.   'body' => 'login_body.tpl')
  150.  );
  151.  if( isset($HTTP_POST_VARS['redirect']) || isset($HTTP_GET_VARS['redirect']) )
  152.  {
  153.   $forward_to = $HTTP_SERVER_VARS['QUERY_STRING'];
  154.   if( preg_match("/^redirect=([a-z0-9\.#\/\?&=\+\-_]+)/si", $forward_to, $forward_matches) )
  155.   {
  156.    $forward_to = ( !empty($forward_matches[3]) ) ? $forward_matches[3] : $forward_matches[1];
  157.    $forward_match = explode('&', $forward_to);
  158.    if(count($forward_match) > 1)
  159.    {
  160.     $forward_page = '';
  161.     for($i = 1; $i < count($forward_match); $i++)
  162.     {
  163.      if( !ereg("sid=", $forward_match[$i]) )
  164.      {
  165.       if( $forward_page != '' )
  166.       {
  167.        $forward_page .= '&';
  168.       }
  169.       $forward_page .= $forward_match[$i];
  170.      }
  171.     }
  172.     $forward_page = $forward_match[0] . '?' . $forward_page;
  173.    }
  174.    else
  175.    {
  176.     $forward_page = $forward_match[0];
  177.    }
  178.   }
  179.  }
  180.  else
  181.  {
  182.   $forward_page = '';
  183.  }
  184.  $username = ( $userdata['user_id'] != ANONYMOUS ) ? $userdata['username'] : '';
  185.  $s_hidden_fields = '<input type="hidden" name="redirect" value="' . $forward_page . '" />';
  186.  make_jumpbox('viewforum.'.$phpEx, $forum_id);
  187.  $template->assign_vars(array(
  188.   'USERNAME' => $username,
  189.   'L_ENTER_PASSWORD' => $lang['Enter_password'],
  190.   'L_SEND_PASSWORD' => $lang['Forgotten_password'],
  191.   'U_SEND_PASSWORD' => append_sid("profile.$phpEx?mode=sendpassword" ),
  192.   'S_HIDDEN_FIELDS' => $s_hidden_fields)
  193.  );
  194.  $template->pparse('body');
  195.  include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
  196. }
  197. else
  198. {
  199.  redirect(append_sid("index.$phpEx", true));
  200. }
  201. }
  202. ?>

Reply

Marsh Posté le 22-08-2005 à 08:16:40    

Excuse moi, tu t'attends quand meme pas à ce qu'on fasse le travail à ta place ... si?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 22-08-2005 à 14:32:19    

Nan bien sur, je voulais simplement que vous m'indiquiez à quel endroitde cette page insérer la nouvelle condition...

Reply

Marsh Posté le 22-08-2005 à 14:44:42    

A bon ... Et toi tu ferais quoi dans tout ça?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 22-08-2005 à 14:53:12    

ecoute je ne suis pas doué du tt en php je pense que tu as eu largement l'occasion de le contaster, mais pour moi, c'est un travail titanesque de faire ça... je comprends que tu me prenne pour un flemmard qui se repose sur els autres pour faire son boulot... C'est sur ça doit te paraitre simple tout ça... Crois moi que si j'avais le moindre espoir d' arriver seul je le ferais... la je n'ai aucune idée de la manière dont il faut procéder d'où mon appel à l'aide.
Alors si tu ne veux pas m'aider, ne m'aide pas mais j'apprécireai que tu évite de poster des messages désobligeants...
merci

Reply

Marsh Posté le 22-08-2005 à 14:59:26    

Il fallait le dire plus tot!
 
Voila de quoi t'aider a mieux saisir le probleme
http://forum.hardware.fr/hardwaref [...] 6526-1.htm


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 01-09-2005 à 12:16:41    

Après de longues heures de travail, j'ai mis au point la page PHP suivante afin d'arriver à mes fins :
 

Code :
  1. <?php
  2. // On définit les varaibles
  3. $mysql_host = 'sql.free.fr';
  4. $mysql_user = 'fadetoblack';
  5. $mysql_pass = '******';
  6. $mysql_base = 'fadetoblack';
  7. // On se connect à la base de donnée
  8. $mysql_link = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
  9. mysql_select_db($mysql_base);
  10. // On effectue la requête
  11. $md_pass = md5($password);
  12. $query = "SELECT username FROM phpbb_users WHERE username=$login AND user_password=$md_pass";
  13. $result = mysql_query($query);
  14. if($array = mysql_fetch_array($result))
  15. {
  16. // La c'ets le code d'envoi du message si l'identification ets OK
  17. $msg = "Login:\t$login\n";
  18. $msg .= "Classe:\t$classe\n";
  19. $msg .= "Régime:\t$regime\n";
  20. $recipient = "";
  21. $subject = "";
  22. $mailheaders = "From: <> \n";
  23. $mailheaders .= "Reply-To: $email\n\n";
  24. mail($recipient, $subject, $msg, $mailheaders);
  25. }
  26. // La C'est le code pour rediriger le visiteur en cas de mauvaise identification
  27. else
  28. {
  29. header("Status: 301 Moved Permanently" );
  30. header("Location: erreur.htm" );
  31. exit();
  32. }
  33. ?>


 
le problème c'est que quand je teste la page, les messages d'erreur suivants apparaissent :  
 

Citation :


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/d/a/fadetoblack/reactivation.php on line 14
 
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/d/a/fadetoblack/reactivation.php:14) in /var/www/free.fr/d/a/fadetoblack/reactivation.php on line 33
 
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/d/a/fadetoblack/reactivation.php:14) in /var/www/free.fr/d/a/fadetoblack/reactivation.php on line 34


 
Comme vous l'avez constaté j'ai essayé de m'en sortir seul mais une fois encore je coince et me vois forcé de faire appel à votre aide...
Merci par avance de votre aide!

Reply

Marsh Posté le 01-09-2005 à 12:45:16    

$login est indéfini, déjà.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 01-09-2005 à 12:59:06    

T'as pas de login => la requete te retourne vide, tu ne gere pas une requete vide => t'essaie de l'extraire . Ca pete => ca affiche qqch => ca sent des headers =>ta modif de header nepeut plus se faire .


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 01-09-2005 à 17:30:12    

Oula... la j'ai pas tellement compris le dernier message, pour information, $login renvoi au formulaire de la page précédente appelé "login"...
Pourriez vous simplement me dire par où je dois commencer pour résoudre le problème, j'essairai ensuite d'avancer tout seul!
merci par avance!

Reply

Marsh Posté le 01-09-2005 à 19:11:03    

Si ça vient du formulaire de la page précédente, t'es censé récupérer ça via $_POST['login'] (ou $_GET['login']).
 
En tout cas, la première erreur t'indique un pb dans ta requête mysql.
 
Fait un echo $query pour vérifier qu'elle passe bien, et rajoute "or die(mysql_error())" après ton mysql_query.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 01-09-2005 à 19:45:20    

Voila ce que ça m'affiche la modification effectuée :  
 

Citation :

SELECT username FROM phpbb_users WHERE username=Valider AND user_password=769ba09d84a80f2a619a00efe7e40adaUnknown column 'Valider' in 'where clause'

Reply

Marsh Posté le 01-09-2005 à 19:49:03    

normal, tu lui balance le $login "brut", il faut le mettre entre ` (ansi que le mdp)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 01-09-2005 à 19:57:13    

Comme ceci?
 

Code :
  1. <?php 
  2. $mysql_host = 'sql.free.fr'; 
  3. $mysql_user = 'fadetoblack'; 
  4. $mysql_pass = '******'; 
  5. $mysql_base = 'fadetoblack'; 
  6. $mysql_link = mysql_connect($mysql_host, $mysql_user, $mysql_pass); 
  7. mysql_select_db($mysql_base); 
  8. $md_pass = md5('$password');
  9. $query = "SELECT username FROM phpbb_users WHERE username='$login' AND user_password=$md_pass"; 
  10. echo $query;
  11. $result = mysql_query($query) OR die(mysql_error()); 
  12. if($array = mysql_fetch_array($result)) 
  13. $msg = "Login:\t$login\n"; 
  14. $msg .= "Classe:\t$classe\n"; 
  15. $msg .= "Régime:\t$regime\n"; 
  16. $recipient = "@hotmail.com"; 
  17. $subject = ""; 
  18. $mailheaders = "From: <> \n"; 
  19. $mailheaders .= "Reply-To: $email\n\n"; 
  20. mail($recipient, $subject, $msg, $mailheaders); 
  21. else 
  22. header("Status: 301 Moved Permanently" ); 
  23. header("Location: erreur.htm" ); 
  24. exit(); 
  25. ?>


 
Quand je teste, j'ai ce message d'erreur qui apparait :  
 

Citation :

SELECT username FROM phpbb_users WHERE username='Valider' AND user_password=243e61e9410a9f577d2d662c67025ee9You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'e9410a9f577d2d662c67025ee9' at line 1


 
 
 

Reply

Marsh Posté le 01-09-2005 à 19:58:47    

Reply

Marsh Posté le 01-09-2005 à 19:59:43    

Code :
  1. $md_pass = md5('$password');


 
C'est pas là qu'il faut mettre les ', mais dans la requête...


Message édité par sielfried le 01-09-2005 à 19:59:54

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 01-09-2005 à 20:03:04    

D'accord excusez moi... ca donen donc ceci :  
 

Code :
  1. $md_pass = md5($password);
  2. $query = "SELECT username FROM phpbb_users WHERE username='$login' AND user_password='$md_pass'"; 
  3. echo $query;
  4. $result = mysql_query($query) OR die(mysql_error()); 
  5. if($array = mysql_fetch_array($result)) 
  6. {


 
Mais y'a toujours un message d'erreur, le voici :  
 

Citation :

SELECT username FROM phpbb_users WHERE username='Valider' AND user_password='d41d8cd98f00b204e9800998ecf8427e'
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/d/a/fadetoblack/reactivation.php:19) in /var/www/free.fr/d/a/fadetoblack/reactivation.php on line 45
 
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/d/a/fadetoblack/reactivation.php:19) in /var/www/free.fr/d/a/fadetoblack/reactivation.php on line 46

Reply

Marsh Posté le 01-09-2005 à 20:05:36    

Vire le echo maintenant...  [:mlc]  
 
Enfin bon là ça se voit que tu fait ce qu'on te dit de faire sans comprendre grand chose, tu gagnerais + de temps à te retaper un bon tuto sur le PHP/MySQL je crois.  [:spamafote]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 01-09-2005 à 20:14:42    

J'avoue que je ne comprends pas entièrement les modifications que tu me demande de faire...
Le problème c'ets qu'il faut que ma page soit opérationnelle lundi... Et je n'ai pas tellement le temps de reprendre tout depuis le début... Mais je te garanti qu'une fois que le problème sera résolu et que j'aurais un peu plus de temps je bucherais tout ça via un tutorial... Je m'excuse une fois encore si tu as l'impression que je me fais mâcher le travail,ça n'est pas forcément une fausse impression mais ne crois pas qu'elle ne fais pas culpabiliser en tout cas... Si je fais si amplement appel à vos services c'ets car je suis dans une situation un peu compliqué et que je n'ai pas vraiment le choix..
 
pour en revenir au problème, après avoir viré le echo, plus aucun message  d'erreur ne s'affiche, mais à chaque fois, je suis dirigé vers la page d'erreur destinée aux mauvais login, que celui ci soit Ok ou non...
J'ai utilisé une redirection de base pour aller à la page d'erreur :  
 

Code :
  1. header("Status: 301 Moved Permanently" ); 
  2. header("Location: erreur.htm" ); 
  3. exit(); 
  4. }


 
Je doute que ce soit très adéquoit...
merci encore de votre aide!


Message édité par fade2black le 01-09-2005 à 20:18:11
Reply

Marsh Posté le 01-09-2005 à 20:21:38    

Ca veut dire que ta requête ne renvoie aucun résultat, faut vérifier avec les données de ta base et voir ce qui cloche.
 
(C'est normal que $login vale 'Valider' ? :heink:)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 01-09-2005 à 20:34:14    

C'ets de la que venait mon erreur...
Enorme erreur dailleurs.....
je n'avais pas fait correspondre les noms des formualires avec ceux indiqués dans la page PHP........
A présent ça marche!!!!!!!!
Merci infiniment de votre aide!!!!
 
J'en profite néanmoins pour vous demander une dernière chose...
Quand ca marche, une page blanche s'affiche, où est ce que je dois rajouter une redirection pour que quand c'ets Ok, le visiteur soit redirigé vers une page pour lui confirmer que c'est ok?

Reply

Marsh Posté le 01-09-2005 à 20:43:54    

Là quand même... [:figti]
 
Si t'as compris à quoi sert ton if, tu devrais pas avoir besoin de poser la question...


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 01-09-2005 à 21:06:23    

apres la commande mail


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 02-09-2005 à 08:33:05    

C'est bon j'avais reussi en me creusant un peu la tête !
 
 
Par contre la je susi a la recherche d'un code qui permettrait de rediriger le visiteur si la valeur d'une liste déroulante est celle de défaut
 
J'ai essayé ça :  
 

Code :
  1. if $_POST['classe']='-'
  2. header("Status: 301 Moved Permanently" ); 
  3. header("Location: erreur.htm" ); 
  4. exit();


 
Mais ça ne marche pas...  Ou me suis je trompé?


Message édité par fade2black le 02-09-2005 à 09:51:07
Reply

Marsh Posté le 02-09-2005 à 10:02:48    

Merci pour ces liens mais il existe 40 000 possibilités!!
De plus, ce que tu me montre correspond à la comparaison de deux objets, la c'est aps tellemetn le cas, c'ets la comparaison d'un objet et d'une valeur...

Reply

Marsh Posté le 02-09-2005 à 10:11:19    

En lisant les exemples quelques secondes seulement tu aurais lu des choses telles que :
 

Code :
  1. if ($a > $b) {
  2.   echo "a est plus grand que b";
  3.   $b = $a;
  4. }

et

Code :
  1. $a == $b Egal TRUE si $a est égal à $b.


 
ce qui devrait te faire remarquer deux (edit: même trois) erreurs sur le code que tu essaies de faire marcher. :spamafote:


Message édité par sielfried le 02-09-2005 à 10:12:07

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 02-09-2005 à 10:32:20    

J'ai essayé de corriger en effetuant ceci :  
 

Code :
  1. if ($classe == '-')
  2. {
  3. header("Status: 301 Moved Permanently" ); 
  4. header("Location: erreur.htm" ); 
  5. exit(); 
  6. }


 
Mais apparemment ça n'est pas ça...

Reply

Marsh Posté le 02-09-2005 à 10:39:00    

l'erreur 301, c'est pour un changement définitif par exemple un changement de nom de domaine, pas pour un changement conditionel.
 
Essaye la balise "meta" de type "refresh".

Reply

Marsh Posté le 02-09-2005 à 10:41:13    

D'accord c'est fait mais le problème ets toujours présent... :(

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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