[RESOLU] PHP5 - Connexion à une base mysql (EasyPhp)

Jip Jip Jip
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 15:31

Dès le début :
<?php
include("config.php");
include("fonctions.php");

?>
<?php
	
			
		function datefr2en($mydate){
		   @list($jour,$mois,$annee)=explode('/',$mydate);
		   return @date('Y-m-d',mktime(0,0,0,$mois,$jour,$annee));
		}
		function dateen2fr($date) { 
			$split = split("-",$date); 
			$annee = $split[0]; 
			$mois = $split[1]; 
			$jour = $split[2]; 
			return "$jour"."-"."$mois"."-"."$annee"; 
		} 

		
		
/*session_start();*/
//require("config.php");
//require("fonctions.php");
//connection($serveur, $login, $password, $base);

 
 $q = "SELECT id_stagiaires, nom, prenom, poste, sexe, statut, naissance FROM stagiaires ORDER BY nom";



	// echo $q;
	$p = mysql_query($q) or die (mysql_error());
	while ($row = mysql_fetch_assoc($p)) 
		{ 
		$id[] = $row["id_salaries"];
		$nom[] = $row["nom"];
		$prenom[] = $row["prenom"];
		$poste[] =  $row["poste"];
		$statut[] =  $row["statut"];
		$naissance[] = $row["naissance"];
		$sexe[] = $row["sexe"];
		}
		$nbtotal = count($id);


	?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Liste des salariés</title>
<style type="text/css">
<!--
.Style1 {	font-size: 36px;
	font-weight: bold;
	font-style: italic;
}
-->
</style>
<style type="text/css">
<!--
.Style1 {	font-size: 36px;
	font-weight: bold;
	font-style: italic;
}
-->
</style>
<link href="style.css" rel="stylesheet" type="text/css">

<style type="text/css">
<!--
.Style2 {font-size: 24px}
.Style7 {
	font-size: 14px;
	font-family: Arial, Helvetica, sans-serif;
}
.Style15 {color: #003579}
.Style17 {
	font-size: 11px;
	font-style: italic;
	color: #000000;
	font-weight: bold;
}
.Style19 {font-size: 18px; font-weight: bold; color: #7E86B7; }
.Style21 {font-size: 11px}
.Style49 {	font-family: Arial, Helvetica, sans-serif;
	font-size: 9px;
	font-weight: bold;
	color: #000099;
}
-->
</style>
</head>

<body><br>

<table align="left"><tr><td><a href="/salaries/index.htm"><img src="data/accueil.png" width="40" border="0"></a></td><td><span class="Style49">ACCUEIL</span></td>
</tr></table>
<table align="right"><tr><td><a href="javascript:history.back();"><img src="data/precedent.png" width="40" border="0"></td><td><span class="Style49">PREC.</span></td>
</tr></table>

<table width="30%"  border="0" cellspacing="0" cellpadding="0" align="center">
    <tr>
      <td><div align="center"><span class="Style1 Style2 Style2"><span class="Style7">Liste des salari&eacute;s </span></span></div></td>
    </tr>
    <tr>
      <td><div align="center"><span class="Style1 Style2 Style2"><img border="0" src="data/lignes026.gif" width="115" height="2"></span></div></td>
    </tr>
</table><br><br>


    <center><table width="80%"  border="0" cellspacing="0" cellpadding="0">
  <?php
  for ($i=0;$i<$nbtotal;$i++)
				{
	?>
	  
    <tr>
      <td width="20">
	    <div align="right">
	      
           <img src="data/<? echo $sexe[$i]?>.jpg" width="50" height="50" align="top" alt="Homme/Femme"><br>
	      
	      
        </div></td>
      <td>
	    <div align="right"><table id="<? echo $numero; ?>" width="100%"  border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><br><span class="Style15"><?php echo $nom[$i];?>&nbsp;&nbsp; <?php echo $prenom[$i];?></span>
	    <br><span class="Style17">
	  <?php echo $poste[$i]; ?>&nbsp;&nbsp;<span class="Style19">/</span>&nbsp;&nbsp;<?php echo $statut[$i];?>&nbsp;&nbsp;<span class="Style19">/</span>&nbsp;&nbsp; <?php echo $naissance[$i];?>
</span>
	    <hr color="003579" size="1">
	    <span class="Style17">      </span></td>
            <td width="30"><a href="salaries_voir.php?id_salaries=<?php echo $id[$i];?>"><img src="data/loupe.png" align="bottom" border="0" alt="Voir la fiche complète du salarié"></a></td>
          </tr>
        </table>
	    </div>
      </td>
      <td>&nbsp;</td>
    </tr>
  

<?php }
?> 
</table> </center>
  
</body>
</html>

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 15:35

non,
quelle a ligne appelles tu connexion() ?

Jip Jip Jip
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 16:03

Cette fonction est dans le fichier fontions.php :
<?
$connect = '' ;
function connection($srv,$log,$pwd,$nom_base)
{
global $connect ;
$connect=mysql_connect($srv,$log,$pwd) or die ("connexion echoué");
mysql_select_db($nom_base,$connect) or die ("connexion a la base echoué");
}


function afficherequete($req)
          {
         $reqres = mysql_query($req) or die ("requete erronée");
         print "<table>";
         while ($ligne = mysql_fetch_array($reqres))
          {
        print "<tr>";
               for ($i=0;$i<mysql_num_fields($reqres);$i++)
                        {
                      print "<td>$ligne[$i] </td>";
                        }
                      print "</tr>";
        }
        print "</table>";
        print "<br>";
 }

 function deconnexion()
 {
 mysql_close();
 }

function finish(){
   window.close();
}

function redirige($url,$sec)
	{
	die('<meta http-equiv="refresh" content='.$sec.';URL='.$url.'>');
	
	}
	
	
 function requete($req)
         {
         global $connect ;
                   $result=mysql_query($req) ;

                   if (!$result) {
                        echo"<hr>" ;
                        echo ("<font color=red>requette échouée : $req</font><br>");
                        echo mysql_error($connect);
                        echo"<hr>" ;
                        return(false);
                   }
                   else {
                       // echo ("requette réussie : $req<br>");
                        return($result);
                   }

          }
 function requeteaffich($req)
         {
         global $connect ;
                   $result=mysql_query($req) ;

                   if (!$result) {
                        echo"<hr>" ;
                        echo ("<font color=red>requette échouée : $req</font><br>");
                        echo mysql_error($connect);
                        echo"<hr>" ;
                        return(false);
                   }
                   else {
                       echo ("requette réussie : $req<br>");
                        return($result);
                   }

          }
		  
?>

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 16:08

oui mais tu l'appelles jamais
function coucou()
{
    echo 'hello';
}

coucou() //hello

Jip Jip Jip
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 17:01

C'est ce que je me disais justement, mais bon ca ne change pas grand chose car la connexion se trouve dans config.php, j'ai mis en commentaire le include fonctions.php commme ca l'erreur devient plus clair on va dire :

Code : Tout sélectionner

Warning: mysql_query() [function.mysql-query]: Accès refusé pour l'utilisateur: 'JP'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP-5.3.2\www\gestion_presence\stagiaires_liste.php on line 34 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Program Files\EasyPHP-5.3.2\www\gestion_presence\stagiaires_liste.php on line 34 Accès refusé pour l'utilisateur: 'JP'@'@localhost' (mot de passe: NON)

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 17:19

tu dois appeler connexion() avant ton mysql_query

Jip Jip Jip
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 17:50

Y a un truc que je comprends plus là, dans le fichier stagiaires_liste.php, il commence bien par regarder les includes puis il exécute le code dans la page non ?

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 17:51

créer des fonctions ca les exécutes pas, les inclure non plus, il faut les appeler.

Jip Jip Jip
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 18:27

Je crois que j'ai un autre problème, mes include ne marche pas, j'ai mis la phase de connexion directement dans stagiaires_liste.php et ca marche nickel.

Par contre quand je fais la fonction et que je l'appelle ca me met l'erreur "undefined fonction ...."

Impossible donc de faire ce foutu include, j'ai essayé avec un autre fichier, pareil, enfin j'ai essayé avec require, idem...

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 18:29

montre ce que t'as fais

Jip Jip Jip
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 18:33

Merci en tout cas de perdre ton temps avec moi, je suis bien conscient que je suis un boulet ! :oops:

alors le fichier config.php le voila
	$srv = "localhost";
	$log = "root";
	$pwd= "";
	$base = "gestion_presence";
	

function connexion($srv,$log,$pwd,$nom_base)
{
$connect=mysql_connect($srv,$log,$pwd) or die ("connexion echoué");
mysql_select_db($base,$connect) or die ("connexion a la base echoué");
}
Et le début de stagiaires_liste.php :
include("config.php");
//include("fonctions.php");

connexion();
et ca me donne donc

Code : Tout sélectionner

Fatal error: Call to undefined function connexion() in C:\Program Files\EasyPHP-5.3.2\www\gestion_presence\stagiaires_liste.php on line 5

Jip Jip Jip
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 18:34

Ne fais pas gaffe à base et nom_base, je me suis trompé dans les copier coller ! lol

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 18:43

normale ta fonction connexion attend des paramètres donc faut les mettre...

Jip Jip Jip
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 18:46

Comment faire alors vu que les paramètres sont dans le fichier config.php ?

J'aimerais qu'en une ligne me connecter à la base, si je commence à mettre les parametres dans chaque page php ca va etre coton quand je vais changer le login ou mot de passe !

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 18:47

tu les remets ca change rien, non mais sinon tu fait pas de fonction et c'est réglé