Pb EasyPhp1.6-->EasyPhp1.8

Fermé
HAMAGE Messages postés 3 Date d'inscription samedi 9 avril 2005 Statut Membre Dernière intervention 3 novembre 2006 - 9 avril 2005 à 22:42
 HAMAGE - 10 avril 2005 à 21:46
Bonjour chers internautes programmeurs.

J'ai installé recemment EasyPHP1.8, ce qui m'a permis de résoudre mes problèmes d'ouverture de serveurs Apache et MySQL que j'avais avec EasyPhp1.6.
Cependant, les scripts qui fonctionnaient très bien sous EasyPhp1.6 ne fonctionnent plus maintenant; j'ai des messages d'erreurs liés aux variables utilisées qui ne sont pas définies, mais aussi d'autres messages m'indiquant que la connection à la Base De Données ne peut se faire.
Je veux joins, ci dessous, le script de la page d'accueil de mon site; pourriez vous y apporter les corrections afin que celui-ci puisse "tourné" sur EasyPhp1.8.
La correction de ce script m'aiderait beaucoup pour celles que je devrai mener dans les scripts appellés.
Je vous remercie d'avance beaucoup.
C'est une antraide sympa que je connais depuis peu dans le monde de la programmation et des programmeurs...Merci

/******************************************************/
<html>
<head>
<title>Document sans-titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF">
<p><BR><BR></p>
<table width="100%" border="1">
<tr bgcolor="#FFFF00">
<th colspan="2" height="66">
<blockquote>
<div align="center">
<p align="center"><font size="5"><b>BONJOUR, BIENVENUE DANS L'ESPACE</b></font></p>
<p><font size="+3">GESTION DES ABSENCES</font></p>

<!--- Affichage de l'heure et de la date --->
<p align="right"
<?php
$heure = strtotime(now);
echo "<p>" . date("d/m/Y H:i:s") . "</p>";
?>
</p>
</div>
</blockquote>
</th>
</tr>


<Form name="AccueilCombine" >
<tr bordercolor="#0000FF" bgcolor="#00CCCC">
<td colspan="2">
<div align="center"><font size="4">Veuillez saisir votre numéro de
matricule :</font>
<input type="text" name="MATRICULE" >
</div>
</td>
</tr>
</form>
<script>
document.AccueilCombine.MATRICULE.focus();
</script>



<!--- En fonction du numéro de matricule saisi, nous allons chercher dans le BD
le nom et le prénom de l'agent correspondant afin de les transmettre dans le
programme "DemandeAbsence" --->




<?php
//Définition de la connexion à la base de données :

$dbhost = "localhost";
$dbuname = "root";
$dbpass = "";
$dbname = "GestionAbs";
$dbtype = "MySQL";

//Connexion à la base de données :
$link = mysql_connect($dbhost,$dbuname,$dbpass);

//Sélection de la base de données :
$db = mysql_select_db($dbname,$link);

//Définition des variables $nom et $prenom pour affichage dans DemandeAbsence.php :
$nom = "SELECT nom_agent,prenom FROM agent WHERE n__matricule = '$_POST'[MATRICULE] ";
$prenom = "SELECT prenom FROM agent WHERE n__matricule = '$_POST'[MATRICULE] ";

//Execution des requêtes:
$result1 = mysql_db_query($dbname,$nom);
$result2 = mysql_db_query($dbname,$prenom);

$nb=mysql_num_fields($result1);
$nbligne=mysql_num_rows($result1);


//Afficher le contenu de la table
$num=mysql_num_rows($result1);

for ($j=0;$j<$num;$j++)
{
$ligne=mysql_fetch_array($result1);

for($k=0;$k<$nb;$k++)

{
$fn=mysql_field_name($result1,$k);
$nom = $ligne[0];
$prenom = $ligne[1];
}
}
mysql_close();
?>

<Form Action="ConsultationCompteurs.php" Method="POST">
<tr bordercolor="#0000FF">
<td width="22%" bgcolor="#99FF00">
<p align="center">
<BR><BR>
<? echo '<input type="hidden" name="matricule" value= "'.$MATRICULE.'" >';
echo '<input type="hidden" name="nom" value= "'.$nom.'" >';
echo '<input type="hidden" name="prenom" value= "'.$prenom.'" >';?>
<input type="submit" value="Consultation des compteurs" name="B1"></p>
</form>

<Form Action="DemandeAbsenceSimplifie4.php" Method="POST">
<p align="center">
<BR><BR>
<? echo '<input type="hidden" name="nom" value= "'.$nom.'" >';
echo '<input type="hidden" name="prenom" value= "'.$prenom.'" >';?>
<input type="submit" value="Demande d'une Absence" name="B1"></p>
</form>


<BR><BR><BR><BR>



<Form Action="AccueilCombine.php" Method="POST">
<div align="center">
<A HREF="AccueilCombine.php"><input type="SUBMIT" value="Retour" ></A>
</div>
</form>

<td width="78%">
<div align="center">
<form method="POST" action="AccueilCombine.php">
<p><BR><BR></p>
<p><BR><BR></p>




<?php

//Définition de la connexion à la base de données :

$dbhost = "localhost";
$dbuname = "root";
$dbpass = "";
$dbname = "Momo";
$dbtype = "MySQL";

//Connexion à la base de données :
$link = mysql_connect($dbhost,$dbuname,$dbpass);

//Sélection de la base de données :
$db = mysql_select_db($dbname,$link);

//Définition de la requête :
$sql = "SELECT nom_agent,prenom,sexe FROM agent WHERE n__matricule = '$MATRICULE' ";
$sexe = "SELECT sexe FROM agent WHERE n__matricule = '$MATRICULE' ";

//Définition des variables $nom et $prenom pour affichage dans DemandeAbsence.php :
$nom = "SELECT nom_agent FROM agent WHERE n__matricule = '$MATRICULE' ";
$prenom = "SELECT prenom FROM agent WHERE n__matricule = '$MATRICULE' ";

//Execution des requêtes:
$result1 = mysql_db_query($dbname,$sql);
$result2 = mysql_db_query($dbname,$sexe);

$nb=mysql_num_fields($result1);
$nbligne=mysql_num_rows($result1);


//Afficher le contenu de la table
$num=mysql_num_rows($result1);

for ($j=0;$j<$num;$j++)
{
$ligne=mysql_fetch_array($result1);

for($k=0;$k<$nb;$k++)

{
$fn=mysql_field_name($result1,$k);
$nom = $ligne[0];
$prenom = $ligne[1];
$sexe= $ligne[2];
}
}
if($sexe=="m"){
echo " <h2> Bonjour Monsieur </h2>";
echo " <h2> $prenom $nom </h2>";
echo " <h2> Il vous est possible de consulter vos compteurs d'absences </h2>";
echo " <h2> et d'émettre une demande d'absence </h2>";
}
else{
if($sexe=="f"){
echo " <h2> Bonjour Madame </h2>";
echo " <h2> $prenom $nom </h2>";
echo " <h2> Il vous est possible de consulter vos compteurs d'absences </h2>";
echo " <h2> et d'émettre une demande d'absence </h2>";

}

}
mysql_close();
?>



</td>
</tr>

</table>

</body>
</html>

3 réponses

Bonjour.
/Définition des variables $nom et $prenom pour affichage dans DemandeAbsence.php : 
$nom = "SELECT nom_agent,prenom FROM agent WHERE n__matricule = '$_POST'[MATRICULE] "; 
$prenom = "SELECT prenom FROM agent WHERE n__matricule = '$_POST'[MATRICULE] "; 

//Execution des requêtes: 
$result1 = mysql_db_query($dbname,$nom); 
$result2 = mysql_db_query($dbname,$prenom); 
Remplace mysql_db_query par mysql_query.
A quoi sert la 2e requête puisque $prenom est déjà dans la 1re requête.
$nbligne=mysql_num_rows($result1);
A quoi sert cette variable ????

Idem pour ce qui concerne la 2e BdD.
0
Pour compléter ma réponse, l'ensemble du script me parait avoir été compliqué.
Pour le plaisir de faire compliqué quand on peut faire simple ???
Revois la logique car beaucoup de choses me paraissent inutiles.
0
Merci Ric pour ta réponse.
Il est certainement vrai qu'on peut faire plus simple, mais ceci est mon premier programme !...
Les différents messages d'erreurs que me retournait EasyPHP ont maintenant en grande partie disparu, simplement en précédent les commandes mysql_num_fields ou mysql_num_rows par exemple, par un @.
Aussi je me demande si l'erreur existe toujours ou si elle est simplement non signalée? Quand penses-tu?
Enfin, dans le script suivant, quelles sont les modifications necessaires a apporter pour que le contenu des diverses variables soit pris en compte?

Merci encore pour votre aide!!

@ bientot

/*******************************************/


<? echo '<input type="hidden" name="matricule" value= "'.$MATRICULE.'" >';
echo '<input type="hidden" name="nom" value= "'.$nom.'" >';
echo '<input type="hidden" name="prenom" value= "'.$prenom.'" >';?>
0