IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème utilisation de fonctions php [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Par défaut Problème utilisation de fonctions php
    Bonjour,
    Je suis nouveau sur le forum.

    Voila ma situation:
    Je suis chargé de réalisé un Intranet web (php/mysql).
    J'ai ce fichier "fonctions.php" dans lequel je met des fonctions que j'utilise dans les autres pages du site :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    <?php
    session_start() ; // initialisation
     
    //Connexion au serveur
    $connexion=mysql_connect('localhost','test','')or die("Désolé, connexion impossible au serveur");
     
    //selection et connexion de la bdd
    mysql_select_db('pcm2009',$connexion) or die ("Désolé, connexion à la base impossible");
     
    function is_user($login, $pass, $ip)
    {
    	$logg = "SELECT * FROM agent WHERE adresse_ip_ag='$ip'";
    	$query = mysql_query($logg);	
    	if (mysql_num_rows($query) == 1)
    	{
    		$row = mysql_fetch_array($query);
    		$password_r = $row['PASSWORD_AG'];
    		$login_r = $row['LOGIN_AG'];
     
    		if($pass == $password_r && $login == $login_r)
    		{
    			return 1;
    		}
    		else return 0;
    	}
    	else return 0;
    }
     
    function liste_d($champ,$table,$condition,$name,$value,$affiche)
    {
    	$query = mysql_query("select $champ from $table where $condition");
    	echo '<select name="'.$name.'">';
    	while ($result = mysql_fetch_assoc($query)) {
    		echo '<option value="'.$result[$value].'">'.$result[$affiche].'</option>';
    	}
    	echo '</select>';
    }
     
    function get_year()
    {
    	$date = date("Y");
    	return $date;
    }
     
    function get_other_year($diff)
    {
    	$date = date("Y");
    	$date=$date+$diff;
    	return $date;
    }
     
    function enr_date($jour,$mois,$annee)
    {
    	$j=1;
    	echo '<select name="'.$jour.'">';
    	while($j <= 31)
    	{
    		echo'<option value="'.$j.'">'.$j.'</option>';
    		$j++;
    	}
    	echo'</select>';
     
    	echo '<select name="'.$mois.'">';
    	echo'<option value="01">Janvier</option>';
    	echo'<option value="02">Février</option>';
    	echo'<option value="03">Mars</option>';
    	echo'<option value="04">Avril</option>';
    	echo'<option value="05">Mai</option>';
    	echo'<option value="06">Juin</option>';
    	echo'<option value="07">Juillet</option>';
    	echo'<option value="08">Août</option>';
    	echo'<option value="09">Septembre</option>';
    	echo'<option value="10">Octobre</option>';
    	echo'<option value="11">Novembre</option>';
    	echo'<option value="12">Décembre</option>';
    	echo'</select>';
     
    	$i=get_year();
    	echo '<select name="'.$annee.'">';
    	while($i < get_other_year(15))
    	{
    		echo'<option value="'.$i.'">'.$i.'</option>';
    		$i++;
    	}
    	echo'</select>';	
    }
     
    function nouvelle_ref_dossier()
    {
    	$an='toto';
    	$req = "SELECT COMPTEUR_DO FROM DOSSIER WHERE ANNEE_DO='$an'";
    	$query = mysql_query($req);	
    	if (mysql_num_rows($query) == 1)
    	{
    		$row = mysql_fetch_array($query);
    		$compteur = $row['COMPTEUR_DO'];
    		$compteur++;
    	}
    	else
    	{
    		$compteur = 1;
    	}
    	$result=$compteur." PCM ".substr($an,2);
    	return $result;
    }
    ?>
    Et voici une page où j'utilise 2 de ces fonctions ( liste_d() enr_date() et nouvelle_ref_dossier() ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    <?php
    require("fonctions.php");
     
    if (isset($_SESSION['password_ag']))
    {
    }
    else
    {
    header("Location: index.php");
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
       <head>
            <title>Intranet PCM</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <meta http-equiv="Content-Language" content="fr" />
               <meta http-equiv="Content-Script-Type" content="text/javascript" />
               <meta http-equiv="Content-Style-Type" content="text/css" />
            <meta name="DC.Language" scheme="RFC3066" content="fr" />
            <link rel="stylesheet" href="style.css" type="text/css" media="screen" title="Normal" />
       </head>
     
    <body>
    	<?php
    	require("menuhorizontal.php");
    	?>
     
    	<div id="connexion">
    	<?php
    	require("blocsession.php");
    	?> 
    	</div>
     
    	<?php
    	require("menuvertical.php");
    	?>
     
    	<div id="contenu">
    	<h2>Création d'un dossier d'affaire</h2>
     
    	<form class="f" method="post" action="ZZZZ.php">
    		<p>Test</p>
    		<p><?php nouvelle_ref_dossier();?>
    		<p>Thème :</p>
    		<?php liste_d("num_th, nom_th","theme","existe_th=1","theme",'num_th','nom_th')?> 
    		<p>Chargé d'affaire :</p>
    		<?php liste_d("num_ag, nom_ag, prenom_ag","agent","existe_ag=1 and statut_ag='statut'","charge_affaire",'num_ag','nom_ag')?>
    		<p>Secrétaire :</p>
    		<?php liste_d("num_ag, nom_ag, prenom_ag","agent","existe_ag=1 and statut_ag='secretaire'","secretaire",'num_ag','nom_ag')?>
    		<p>Programme :</p>
    		<input type="text" name="programme" size="15" maxlength="15"/>
    		<p>Objet (200 caractères maximum) :</p>
    		<textarea name="objet" cols="68" rows="4" /></textarea>
    		<p>Demandeur :</p>
    		<input type="text" name="demandeur" size="80" maxlength="80"/>
    		<p>Adresse :</p>
    		<input type="text" name="adresse" size="100" maxlength="100"/>
    		<p>Code postal :</p>
    		<input type="text" name="code_postal" size="10" maxlength="11"/>
    		<p>Ville :</p>
    		<input type="text" name="ville" size="80" maxlength="80"/>
    		<p>Pays :</p>
    		<input type="text" name="pays" size="60" maxlength="60"/>
    		<p>Date du délai :</p>
    		<?php enr_date("delai_jour","delai_mois","delai_annee") ?>
    		<p>Remarque (150 caractères maximum) :</p>
    		<textarea name="remarque" cols="58" rows="4" /></textarea>
    		<p>Tarif :</p>
    		<input type="text" name="pays" size="8" maxlength="8" value="0"> €</input>
    		<br><br>
    		<input type="submit" name="validation" value="Valider" />
    		<input type="reset" value="Annuler" />
    	</form>
    	</div>
     
    </body>
    </html>
    Seulement, les fonctions liste_d() et enr_date() fonctionnent parfaitement, mais j'ai donc créé dernièrement la fonction nouvelle_ref_dossier(), mais elle ne fonctionne pas.

    Par curiosité, j'ai essayé de créer une autre fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function plus_un($i)
    {
    $i=$i+1;
    return $i;
    }
    que j'ai appelé dans la page d'en haut par:
    En espérant qu'elle me retourne "6", mais rien.

    J'ai effacé mes traces dans mes navigateurs, j'ai renommé le nom du dossier de mon site dans le repertoire 'www'. J'ai même essayé sur un autre ordinateur, toujours rien.

    Que me conseillez-vous ? Avez-vous une idée ?
    J'espère avoir été clair dans l'explication de mon problème.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Par défaut Simple oublie du "echo"
    On m'a fait remarquer que j'avais omis de mettre le "echo" devant ma fonction.
    Problème résolu.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 20
    Par défaut
    Une fonction d'incrémentation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    function plus_un( $i) {
      echo $i= $i + 1;
    }
     ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    // Affiche l'incrémentation à partir de:
    plus_un(5);
    //donc 5+1=6
    ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Problème de syntaxe avec variable utilisée dans fonction PHP et MySQL
    Par redvivi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/03/2008, 21h07
  2. [PHP-JS] Problème appel de fonction php
    Par Didibzh dans le forum Langage
    Réponses: 10
    Dernier message: 12/06/2007, 16h55
  3. Probléme avec la fonction php "session_start()"
    Par freetibet1 dans le forum Langage
    Réponses: 2
    Dernier message: 04/05/2007, 11h37
  4. [XSLT] Utiliser une fonction PHP à partir de la feuille de style XSL
    Par sayou84 dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 25/04/2007, 13h35
  5. Réponses: 10
    Dernier message: 10/02/2006, 14h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo