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

Langage PHP Discussion :

Passage de paramètres dans une fonction


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 76
    Points : 33
    Points
    33
    Par défaut Passage de paramètres dans une fonction
    Bonjour tout le monde,

    Voila 24h que je me prends la tete sur une erreur. Voici mon code :

    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
    function recupMdp ($loggin,&$bonMdp,&$prenomUser,&$nomUser,&$adUser) {
    $req="SELECT pass FROM utilisateur where email='".$loggin."'";
    $resultat=mysql_query($req) or die (mysql_error());
    while ($mdp=mysql_fetch_array($resultat)){
    $bonMdp= $mdp[0]; }
     
    $req="SELECT prenom FROM utilisateur where email='".$loggin."'";
    $resultat=mysql_query($req);
    while ($prenom=mysql_fetch_array($resultat)){
    $prenomUser= $prenom[0]; }
     
    $req="SELECT nom FROM utilisateur where email='".$loggin."'";
    $resultat=mysql_query($req);
    while ($nom=mysql_fetch_array($resultat)){
    $nomUser= $nom[0]; }
     
     
    $req="SELECT adresse FROM utilisateur where email='".$loggin."'";
    $resultat=mysql_query($req);
    while ($adresse=mysql_fetch_array($resultat)){
    $adUser= $adresse[0]; 
    }
     }
    et j'apelle dans ma page la fonction

    recupMdp($loggin,$bonMdp,$prenomUser,$nomUser,$adUser);

    Mon probleme c'est que j'ai le warning suivant


    Warning: Missing argument 5 for recupMdp(), called in C:\wamp\www\site\AP2\index.php on line 33 and defined in C:\wamp\www\site\AP2\traitement.php on line 12


    index étant la page ou j'apelle la fonction et traitement.php ma page de traitement ou j'ai toutes mes fonctions que j'ai appel avec un include.

    Apparemment donc le cinquieme argument a une erreur, je ne comprends pas car j'ai fait exactement la meme chose avec les quatres premiers. D'ailleurs quand je test avec 4 arguments ca marche.
    Quand je test avec un echo dans la fonction ca marche mais dans la page ou j'apelle la fonction, la valeur ne passe pas.

    Help me plz :p
    Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Bonjour,

    Pourrais-tu nous montrer le code ou tu définis la 5eme valeur et appelle la fonction ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 76
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par Mickael2604 Voir le message
    recupMdp($loggin,$bonMdp,$prenomUser,$nomUser,$adUser);
    Voila ou j'apelle la fonction. Apres je n'utilise que $adUser pour la mettre dans une variable de session et dans un echo.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 76
    Points : 33
    Points
    33
    Par défaut
    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
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
     
    <html>
    <head>
    <!-- Appel de la feuille de style -->
    <link rel="stylesheet" type="text/css" href= "style.css">
    <title>  Jeuxdubois.com </title>
    </head>
    <body>
    <?php
    session_start();
     
    /*Inclusion du fichier de traitement des requetes */
     
    include('traitement.php');
     
    /*Connexion a la base de donnée*/ 
     
    connect();
     
    /* Destruction de session */
    if (isset($_POST['destroySession'])) {
    Session_destroy ();
    header('Location: index.php');
    }
     
    /* Si il y a eu des informations remplie dans le formulaire */
    if ( isset($_POST['loggin']) and isset($_POST['pass'])) {
    /* recupéartion des variables post */
     
    $loggin = $_POST['loggin'];
    $pass = $_POST['pass'];
     
    /* récupération du bon mot de pass dans la bdd */
    recupMdp($loggin,$bonMdp,$prenomUser,$nomUser,$adUser);
    /* Test si le mdp est bon */
    if ( $pass==$bonMdp) {  
    $_SESSION['pass']=$pass;
    $_SESSION['prenomUser']=$prenomUser ;
    $_SESSION['nomUser']=$nomUser;
    $_SESSION['mail']=$loggin;
    $_SESSION['adUser']=$adUser;
    }
    else { 
    echo"Mot de passe ou adresse incorect";
     
     }
    }
     
     
    /* si les variables sont deja dans les sessions */
    //if( isset($_SESSION['prenomUser']) and isset($_SESSION['nomUser']) and isset($_SESSION['prenomUser']) and isset($_SESSION['mail']) and isset($_SESSION['adresseUser']) ) {
    $prenomUser=$_SESSION['prenomUser'];
    $nomUser=$_SESSION['nomUser'];
    $pass=$_SESSION['prenomUser'];
    $mail=$_SESSION['mail'];
    $adUser=$_SESSION['adUser'];
    ?>
    <!-- Bloc permettant de se logguer -->
    <FORM action="index.php" method="POST">
    <fieldset id="logging">
     
    <?php
    /* On mets les infos client dans le bloc de log */
    if( isset($_SESSION['prenomUser']) and !empty($_SESSION['prenomUser']) and isset($_SESSION['nomUser']) and !empty($_SESSION['nomUser']) and isset($_SESSION['prenomUser']) and !empty($_SESSION['prenomUser']) and isset($_SESSION['mail']) and !empty($_SESSION['mail']) ) {
    echo " Vous etes connecté en tant que ";
    echo "<br>";
    echo $prenomUser;
    echo " ";
    echo $nomUser;
    /* bouton permettant de fermer la session */
    ?>
    <br>
    <FORM action='index.php' method='POST'>
    <input type='hidden' size="12" name="destroySession">
    <INPUT type="submit" value="Fermer la session">
    <?php
    }
    else{
    /* On affiche le formulaire pour se loguer */
    ?>
    <label for="loggin" class="labelLogin">E-mail</label><input type='text' size="12" name="loggin">
    <br>
    <label for="pass" class="labelLogin" >Pass </label><INPUT type="password" size="12" name="pass">
    <INPUT type="submit" value="Valider">
    <br>
    <a href="nouveauUser.php" class="link"> Creer un compte </a>
    <?php
    }
    ?>
    </fieldset>
    </form>
     
    <h1> Bienvenue sur  Jeuxdubois.com </h1>
     
    <!-- Menu -->
    <ul id="navigation">
    	<li><a href="index.php" title="Rechercher un produit">Rechercher un produit</a></li>
    	<li><a href="panier.php" title="Mon panier">Mon panier</a></li>
    	<li><a href="gestionCompte.php" title="Gestion de mon compte">Gestion de mon compte</a></li>
    	<li><a href="admin.php" title="Espace admin">Espace admin</a></li>
    </ul>
     
     
     
     
    <!-- Contenu de la pager-->
    <div class="blocMilieu"> 
    <h2> Vos informations de compte </h2>
    <br><br><br>
    <?php
    echo " Nom :";
    echo $nomUser;
    echo "<br>";
    echo " Prénom :";
    echo $_SESSION['prenomUser'];
    echo "<br>";
    echo " adresse :";
    echo $adUser;
    echo "<br>";
     
    ?>
    </div>
     
    </body>
    </html>
    SI c'est le code entier que vous vouliez le voila ^^

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    ou sont définis $prenomUser,$nomUser et $adUser avant que tu les passes a ta fonction ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 76
    Points : 33
    Points
    33
    Par défaut
    Je ne les ai pas déclarer, a vrai dire j'ai toujours appris qu'en php, cela ne valait pas le coup de definir les variables car c'est implicite.
    Que dois-je mettre alors $adUser=""; ?


    Edit: Ca ne marche toujours pas

  7. #7
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    salut,
    ca n'a peut-etre rien a voire, mais le session_start() ne doit-il pas etre avant tout code (meme html) ?
    et moi, pour mes fonctions, je fais ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function ma_fonction($var1,$var2,$var3){bla bla}
    je ne mets pas de '&' entre les differentes variables de la fonction. (je sais pas si ca changera quelque chose :/ )
    c'est quand je veux actualiser la variable du program que je mets un &
    par exemple : ma_fonction(&$ma_var);
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

Discussions similaires

  1. [Flex3] [AS3] Passage de paramètres dans une fonction
    Par Grimpozarbre dans le forum Flex
    Réponses: 2
    Dernier message: 26/01/2011, 09h08
  2. Réponses: 6
    Dernier message: 31/05/2008, 15h45
  3. Réponses: 3
    Dernier message: 20/03/2006, 17h46
  4. Réponses: 9
    Dernier message: 13/05/2005, 03h13

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