Précédent   Forum des professionnels en informatique > PHP > Outils > EasyPHP
EasyPHP Forum d'entraide sur EasyPHP : installation, utilisation, etc. Avant de poster -> Cours EasyPHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/05/2007, 09h31   #1
Invité de passage
 
Inscription : mai 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 2
Points : 1
Points : 1
Par défaut [PHP/SQL]Probleme de compatibilté entre EasyPHP1.6 et Xampp1.6.1

Bonjour,

Je suis actuellement en stage (après une Licence Professionnelle) dans un centre de formation et j'ai pour tâche de remettre à jour un logiciel écrit en 2004 et qui n'a que très peu servit.
Ce logiciel fonctionne avec EasyPHP1.6 mais il faudrait le rendre compatible avec la dernière version de Xampp1.6.1 et donc corriger les bugs causés par ce changement de version. Et je n'arrive pas à en trouver la cause.

Le fonctionnement du logiciel est le suivant:
Sur une page web(nom.php) hebergée sur le serveur de l'entreprise, on entre dans le champ "Recherche par année" une année scolaire

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
	<!-- tableau de recherche par annee -->
...    
  <td><div align="center"><input type="text" name="annee" style="width:180px"><br> 
              <input type="submit" name="Submit2" value="VALIDATION" style="width:180px"></div></td>
 
<!-- tableau de mise à jour de la base de données -->
<?php 
$date = time();//recuperation de la date du pc
//$annee = date("Y",$date);//recuperation de l annee du pc   !!!variable "annee" en double - penser a décommenter plus tard!!!
$idcon=mysql_connect("localhost","root","*******") or die("connexion");
mysql_select_db("gestioncaces") or die("database");
$requete="select max(numsession) from session where annee='".$annee."';";//selectionne la session la plus grande de la table session de l'annee en cour et recuperé avant
$resultat=mysql_query($requete) or die("connexion requete");
$ligne=mysql_fetch_array($resultat) or die("lig");
$_SESSION["maxsession"]=$ligne["max(numsession)"];//la session maximum dans une session pour la récuperer dans une page
?>
après validation, le code nous renvoi sur la page annee.php sensée ré-afficher l'année entrée précédement et les références des sessions d'examens de toute l'année dans le centre de formation.

Désolé pour la retouche avec paint (simplicité). J'ai donc souligné sur cette image les endroits où le programme devrait afficher les infos récupérées dans la BDD.
En souligné, la date inscrite précédement (variable "annee").
En pointillés la liste des numéros de séssions.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
<div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="6" color="#006600"><b>Recherche par année</b></font></div><br>
 
 
<table width="260" border="0" cellspacing="0" cellpadding="0" align="center">
        <tr>
          <td valign="top">
            <table width="250" border="0" cellspacing="0" cellpadding="1" bgcolor="#006600">
              	<tr>
                	<td>
                  		<table width="248" border="0" cellspacing="0" cellpadding="6" bgcolor="#FFFFFF">
                    		<tr>
                      			<td><p><b><div align="center">Liste des sessions durant l'année <?php echo $annee;?><br><br>
 
<?php
//connexion à la base de données 
$idcon=mysql_connect("localhost","root","*******") or die("connexion");
mysql_select_db("gestioncaces") or die("database");
 
$requete="select numsession from session where annee='".$annee."' order by numsession asc";//$annee que l on recupere grace au nom donné dans la zone de texte de la page précedente
//requête qui affiche toutes les sessions pendant l'annee choisie
$resultat=mysql_query($requete) or die("execution de la requete impossible");
$ligne=mysql_fetch_array($resultat);
$_SESSION["an"]=$annee;
//parcour de $ligne pour afficher les numeros de session de l'annee choisie
while ($ligne)
{?>
  <br>
  <a href="candidat.php?session=<?php echo $ligne["numsession"]?>"><?php echo $ligne["numsession"]."<br>"?></a><?php ;
  $ligne= mysql_fetch_array($resultat);
  //création d'un lien sur les numeros de session vers la pages candidat.php grace a <a href=....
}?>
  <br>
<form action="../nom.php" method="post">
<input type="submit" value="Retour">
J'ai bien essayé de 'dérouler' le code pour touver ce qui n'allait pas entre les deux envirronnement EasyPHP1.6 en Xampp1.6.1...

Je vous remercie d'avance si certain d'entre vous peuvent m'aider.


ps: Si mon topic est placé au mauvais endroit, je m'en excuse, libre aux admins de le déplacer mais j'ai jugé que ça pouvait être un bon emplacement sur ce forum.
redbill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 11h41   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
EasyPHP 1.6 donc register_globals à On par défaut (c'était encore le cas avec la version 1.7 si je ne m'abuse) donc il ne faudrait pas écrire $annee pour une variable provenant d'un formulaire mais $_POST['annee'] (idem pour les autres).

Vous aurez également le même petit jeu de traduction à faire avec les autres méthodes :
  • URL : $_GET['foo']
  • Cookies : $_COOKIE['foo']
  • Environnement ($PHP_SELF par exemple) : $_ENV['PHP_SELF']
  • ...

Vous seriez surement tenté de remettre cette directive à On mais je vous le déconseille fortement pour diverses raisons (pratiques, sécurité et celle-ci n'existera plus à la sortie de la future version 6.0).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 11h16   #3
Invité de passage
 
Inscription : mai 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 2
Points : 1
Points : 1
merci pour la réponse qui est la bonne!
redbill est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h51.


 
 
 
 
Partenaires

Hébergement Web