[PHP] Après update serveur. Script de log ne fonctionne plus

Après update serveur. Script de log ne fonctionne plus [PHP] - PHP - Programmation

Marsh Posté le 04-03-2008 à 09:56:37    

Salut a tous,
 
comme un idiot j'ai mis a jours mon serveur apache via la commande urpmi, toujours comme un idiot je n'ai pas noté les nom des package donc je ne peu les desinstaller.
 
Depuis cette mise a jours, je n'arrive plus a me connecter a mon site...etant donnée que mes anciennes version de mes sites fonctionne toujours, je me dis que la mise a jours a rendu mon serveur moins tolerent. donc il doit y avoir une erreur dans ma programmation, mais je ne la trouve pas.
 
le fichier, log.php (formulaire de connexion)

Code :
  1. <style type="text/css">
  2. <!--
  3. -->
  4. </style>
  5. <script language="javascript">
  6. function colorisation(pid)
  7. {
  8.     document.getElementById(pid).style.backgroundColor='#5DDF56';
  9. }
  10. function decolorisation(pid)
  11. {
  12.     document.getElementById(pid).style.backgroundColor='#c6d6e7';
  13. }
  14. </SCRIPT>
  15. <?PHP
  16. /*******************************************/
  17. //Utilisation de la feuille de style
  18. if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
  19. {
  20.     echo'<link href="plug_in/style.css" rel="stylesheet" type="text/css">';
  21. }
  22. else
  23. {
  24.     echo'<link href="plug_in/styleff.css" rel="stylesheet" type="text/css">';
  25. }
  26. //Connection page//
  27. echo '<html>';
  28. echo '<head>';
  29. echo '<title>Connexion a Satis !</title>';
  30. echo '</head>';
  31. echo '<body>';
  32. echo '<div align=center><img src=images/banniere.jpeg border=0>';
  33. echo '<br>';
  34. echo '<br>';
  35. echo '<br>';
  36. echo 'Munissez vous de votre code prof <b>IACA</b> !!';
  37. echo '<p>';
  38. echo '<form method="post" action="login/login.php">';
  39. echo '<table class="table3">';
  40. ?>
  41. <tr class='inf' id='name'>
  42. <td><b>Votre Nom</b></td>
  43. <td>
  44. <input type='text' name='s_name' onFocus='colorisation("name" )' onBlur='decolorisation("name" )'>
  45. </td>
  46. </tr>
  47. <tr class="inf" id="pass">
  48. <td> <b> Votre mot de passe<b></td>
  49. <td>
  50. <input type='password' name='s_pass' onFocus='colorisation("pass" )'onBlur='decolorisation("pass" )'>
  51. <?PHP
  52. echo '</td>';
  53. echo '</tr>';
  54. echo '<tr class="inf">';
  55. echo '<td colspan="2">';
  56. echo '<input type="submit" name="submit" value="login">';
  57. echo '</td>';
  58. echo '</tr>';
  59. echo '</table>';
  60. echo '</form>';
  61. echo '</body>';
  62. echo '</html>';
  63. ?>


 
le script login.php qui fait le traitement de la connexion

Code :
  1. <?php
  2. if (!headers_sent())
  3. {
  4.     session_start();
  5. }
  6. $loginOK = false
  7. if  (!empty($_POST['s_name']) && !empty($_POST['s_pass']))
  8. {
  9. include('../config.inc.php');
  10.     $db = mysql_connect($sql_server,$sql_login,$sql_pwd);
  11.     mysql_select_db($sql_db,$db);
  12.     $sql = sprintf("SELECT * FROM users WHERE name='%s'",mysql_real_escape_string($_POST['s_name']));
  13.     $req = mysql_query($sql) or die('Erreur SQL <br>'.mysql_error());
  14.    if($data = mysql_fetch_assoc($req))
  15.    {
  16.         // Normalement, on stocke pas un mot de passe, mais son md5sum.
  17.         // donc, normalement, tu fait if (md5($s_pass) == $data['pass'] )  
  18.         // Ayant préalablement enregistré dans la base de donnée non pas le mot  
  19.         // de passe, mais la aussi son md5. Car si la BDD venait a être piraté,  
  20.         // le pirate n'aurai pas les mots de passe.
  21.         // Et en réalité, pour vraiment bien faire, le mot de passe ne doit même  
  22.         // pas transiter une seule fois en clair sur le réseaux, et le md5() doit être fait à  
  23.         // la soumission du formulaire pour du javascript.
  24.         if (md5($_POST['s_pass'])==$data['pass_md5'])
  25.             {
  26.               $loginOK = true;
  27.             }
  28.             if ($loginOK)
  29.             {
  30.             $_SESSION['s_firstname'] = $data['firstname'];
  31.             $_SESSION['s_name'] = $data['name'];
  32.             $_SESSION['s_levels'] = $data['levels'];
  33.             $_SESSION['s_id'] = $data['id_user'];
  34.             echo '<div align=center>vous êtes connecté, Veuillez attendre la redirection automatique...<div><br>';
  35.             echo '<meta http-equiv="refresh" content="5; url=../index.php" >';
  36.             }
  37.             else
  38.             {
  39.             echo 'Une erreur est survenue, veuillez réessayer !';
  40.             echo '<meta http-equiv="refresh" content="2; url=../index.php" >';
  41.             }
  42.         }
  43. }
  44. if ($data['firstname']=='')
  45. {
  46. echo Grrrrrrr;
  47. }
  48. ?>
  49. <br><br />
  50. <div align=center><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="800" height="400" title="tux">
  51.   <param name="movie" value="../images/tux.swf" />
  52.   <param name="quality" value="high" />
  53.   <embed src="../images/tux.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="32" height="32"></embed>
  54. </object></div>


 
Ce que je peut dire, c'est que les varibles $data['firstname"] et ses soeurs restent désésperément vide. peut être que l'erreur est au niveau des fonctions header sent, ou session start, mais mes compétences s'arretent içi.
 
apres test, $_post['s_name'] passe bien du premier au deuxieme script
 
Merci beaucoup pour votre aide !


Message édité par kontas le 04-03-2008 à 10:00:36
Reply

Marsh Posté le 04-03-2008 à 09:56:37   

Reply

Marsh Posté le 05-03-2008 à 11:17:31    

Apres plusieurs tests je n'arrive toujours pas a résoudre ce problème,
 
j'ai essayer de remplacer les valeurs de LoginOK par des 0 et 1, mais rien n'y fait !  
 

Reply

Marsh Posté le 06-03-2008 à 10:00:25    

Dans un premier temps je me suis dis que c'etait peut etre la fonction Mysql_fletch_assoc qui etait foireuse, alors je l'ai remplacé par mysql_fletch_arry, mais rien n'y fait  
 
la ou c'est curieux, c'est que les true et false ne fonctionne pas non plus, on dirais bien que mon serveur est completement a l'ouest non ????

Reply

Marsh Posté le 06-03-2008 à 11:04:19    

C'est quoi le probleme concretement, tu n arrives pas a te logguer avec le bon user et le bon mot de passe (qui sont donc enregistrer dans la base de donnees)?
Fait des echo de $_post['s_name'] et $_post['s_pass'] puis essaye de voir ce que renvoit la query mysql avec un print_r($data);
Sinon tu dois pouvoir mettre tout ton fatras de html dans une seule balise echo, c'est un peu plus clean...

 

edit:C est bizarre si le site marcher avant la mise a jour, t as regarder si tu peux toujours te connecter a la base de donnees avec tes identifiants du config.php ?


Message édité par krifur le 06-03-2008 à 11:06:18
Reply

Marsh Posté le 06-03-2008 à 15:28:22    

Les données $_post étaient bien renseigné, et apparaissaient avec un echo, au contraire des $data..... mais en remplacant les valeurs de $LoginOK=true, par 1, les données $data apparaisaient avec un echo...
 
Mais pourtant je ne passer toujours pas la condition du Mysql_fletch_assoc.......
 
En testant plus profondement, la base de donnée etait bien accessible, fonctionnel etc.....
 
Finalement j'ai tester mon site sur un WAMP 2, et il fonctionnait parfaitement.
 
Du coup j'ai insisté sur les URPMI de mon serveur, et tous et rentré dans l'ordre, c'etait bien mon serveur qui etait dans les choux !!
 
Conclusion quand un serveur marche, vaut mieux eviter de le bidouiller ^^
 
Dans tous les cas, merci pour ton avis sur la question


Message édité par kontas le 06-03-2008 à 15:29:01
Reply

Marsh Posté le 06-03-2008 à 15:54:50    

Si le serveur etait dans les choux tu dois pouvoir observer ce qui foire par exemple dans les logs d apache ou de mysql typiquement dans /var/log/ de meme tu dois pouvoir retrouver la liste des logiciels mis a jour en cas d update parce aue bon ptet les update font foirer ta config a un moment precis mais c difficile de s en passer! enfin ca marche c le principal  :)

Reply

Marsh Posté le 06-03-2008 à 16:30:08    

oui j'avais fini par trouver un fichier de log avec le nom des paquetages désinstallés, et le nom des nouveaux.
 
j'ai désinstallé les nouveaux, puis quand j'ai voulu remettre les anciens, cet idiot ma demandé le cd que je n'ai pas......
 
mais ce matin je n'ai pas desespéré alors, j'ai relancer un URPMI et reinstaller tous ce qui concerner Apache et PHP et Mysql. Resultat, mais bases n'etait plus lisible par PhpMyAdmin, mais au moins mon serveur marche denouveau ^^.


Message édité par kontas le 06-03-2008 à 16:31:05
Reply

Sujets relatifs:

Leave a Replay

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