Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
809 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] pb de variable dans une fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] pb de variable dans une fonction

n°862599
attentio
Posté le 01-10-2004 à 22:31:52  profilanswer
 

bonjour a tous !
 
bon j'ai un ptit pb avec une variable dans une fonction . je vous explique : si elle se trouve a l'interieur de ma fonction le calcul se passe bien mais apres G plein de problemes. donc je voudrais la sortir de ma fonction mais il n'arrive pas a identifier la variable $livraison
 
actuellement C comme ca

Code :
  1. //page prinipal.php
  2. afficher_livraison($livraison);


 

Code :
  1. //fonctions.php
  2. function afficher_livraison($livraison)
  3. {
  4. $_SESSION['prix_general']=$livraison+$_SESSION['prix_total'];
  5. echo $livraison ;
  6. echo $_SESSION['prix_total'];
  7. echo $_SESSION['prix_general'];
  8. }


ca marche mais bon des galeres a la suite : :??:   ... je ne sais pas pourquoi.
donc en fait je voudrais sortir la declaration $_SESSION['prix_general']
comme ceci :

Code :
  1. //page prinipal.php
  2. $_SESSION['prix_general']=$livraison+$_SESSION['prix_total'];
  3. afficher_livraison($livraison);


 

Code :
  1. //fonctions.php
  2. function afficher_livraison($livraison)
  3. {
  4. echo $livraison ;
  5. echo $_SESSION['prix_total'];
  6. echo $_SESSION['prix_general'];
  7. }


mais le pb C qu'il ne reconnait pas la variable $livraison sur la page principale
 
 
merci de votre aide


Message édité par attentio le 24-03-2005 à 21:10:56

---------------
L'ordinateur a de la mémoire mais aucun souvenir ...
mood
Publicité
Posté le 01-10-2004 à 22:31:52  profilanswer
 

n°862617
Profil sup​primé
Posté le 01-10-2004 à 22:56:59  answer
 

un "return $livraison" :)

n°862648
attentio
Posté le 01-10-2004 à 23:26:18  profilanswer
 

et je le place ou et comment le return

n°862652
Profil sup​primé
Posté le 01-10-2004 à 23:30:42  answer
 

ben à la fin

Code :
  1. function blabla(){
  2. blabla
  3. return $livraison;
  4. }
  5. echo blabla();

n°862659
attentio
Posté le 01-10-2004 à 23:39:49  profilanswer
 

j'ait ça mais ça marche pas

Code :
  1. function afficher_livraison($livraison)
  2. {
  3. return $livraison;
  4. echo $livraison ;
  5. echo $_SESSION['prix_total'];
  6. echo $_SESSION['prix_general'];
  7. }

n°862670
Profil sup​primé
Posté le 01-10-2004 à 23:47:11  answer
 

elle sert a rien ta fonction la :/
 
en gros tu fait une fonction qui se base sur livraison et ensuite tu le reaffiche

n°862671
naceroth
Posté le 01-10-2004 à 23:47:44  profilanswer
 

C'est pas vraiment ce qu'il t'a dit non plus tu sais :D
 
Le return est à la FIN de la fonction (même si je vois pas le rapport entre la question et la réponse :D)

n°862674
Profil sup​primé
Posté le 01-10-2004 à 23:51:51  answer
 

naceroth a écrit :

C'est pas vraiment ce qu'il t'a dit non plus tu sais :D
 
Le return est à la FIN de la fonction (même si je vois pas le rapport entre la question et la réponse :D)

chui claqué je comprend pas ce qu'il veut faire :D

n°862683
naceroth
Posté le 01-10-2004 à 23:59:40  profilanswer
 

Il veut afficher des infos avec une fonction, mais sortir le calcul de la dites fonction :)
 
Sinon attentio, question idiote, t'as affecté une valeur à ta variable $livraison ? ou bien tu confonds le paramètre (de la fonction) et une variable du script principal qui porte pas le même nom ?

n°862686
attentio
Posté le 02-10-2004 à 00:03:48  profilanswer
 

revoila l'abruti de service, si moi bien comprendre toi moi devoir faire ca ... nan??

Code :
  1. //page prinipal.php  
  2. $_SESSION['prix_general']=$livraison+$_SESSION['prix_total'];
  3. afficher_livraison($livraison);


 

Code :
  1. //fonctions.php
  2. function afficher_livraison($livraison) 
  3. echo $livraison ; 
  4. echo $_SESSION['prix_total']; 
  5. echo $_SESSION['prix_general']; 
  6. }
  7. return $livraison;


 
merci de votre patience

mood
Publicité
Posté le 02-10-2004 à 00:03:48  profilanswer
 

n°862688
attentio
Posté le 02-10-2004 à 00:06:12  profilanswer
 

... en tout ca si je fais un echo $livraison il m'affiche bien ma valeur

n°862689
naceroth
Posté le 02-10-2004 à 00:08:25  profilanswer
 

Moi conseille toi voir manuel, parce que moi dire à la fin, pas après la fonction, toi avoir exemple 16-1 qui devrait aider toi :)
 
Plus sérieusement, répond aux autres questions, parce que le return a pas grand chose à voir avec ton problème :)

n°862690
attentio
Posté le 02-10-2004 à 00:18:24  profilanswer
 

ok !
la valeur de ma variable est la suivante

Code :
  1. $livraison = calculer_livraison($_SESSION['caddy'], $id_pays );

 

n°862693
attentio
Posté le 02-10-2004 à 00:21:02  profilanswer
 

... et je veux en effet simplement sortir mon calcul de ma fonction : C tout ce que je veux faire ...et que ca marche aussi !!!
 
merci

n°862694
naceroth
Posté le 02-10-2004 à 00:21:31  profilanswer
 

(mouarf, j'ai rien dit pour le return :D)
 
Y a un return à ta fonction calculer_livraison ?

n°862695
attentio
Posté le 02-10-2004 à 00:25:23  profilanswer
 

nan yan na jamais eu !!! c'est chacal_one333 qui m'a dit d'en mettre un

n°862696
naceroth
Posté le 02-10-2004 à 00:29:51  profilanswer
 

Ben pour le coup, fallait l'écouter (à la fonction calculer_livraison hein), tu mets un return $lavariablequicalculelerésultat juste avant le } qui ferme la fonction :)

n°862698
attentio
Posté le 02-10-2004 à 00:34:31  profilanswer
 

si C celle la dont tu parle

Code :
  1. $_SESSION['prix_general']=$livraison+$_SESSION['prix_total'];


C celle que je veux justement sortir de la fonction et mettre sur la page principale qui appelle la fonction.
 
desolé, ... je ne dois pas etre tres clair
 
merci

n°862699
naceroth
Posté le 02-10-2004 à 00:38:47  profilanswer
 

Bon, on va faire rapide, tapes nous la fonction calculer_livraison().
 
(je lui parle de calculer_livraison, il me sort un calcul venant d'afficher_livraison, et pourtant, c'est pas faute d'avoir mis le nom de la fonction en gras :sarcastic: )

n°862700
attentio
Posté le 02-10-2004 à 00:43:28  profilanswer
 

houps desolé ...

Code :
  1. <?
  2. function calculer_livraison($caddy,$id_pays)
  3. {
  4.   //  
  5.   $prix = 0.0;
  6.   if(is_array($caddy))
  7.   {
  8.     $conn = db_connect();
  9.     foreach($caddy as $ref => $quantite)
  10.     { 
  11. //recherche de l'identifiant du pays
  12. $req_pays="select zone from pays where pays_id='$id_pays'";
  13. $resultat_pays = mysql_query($req_pays) or die('Erreur SQL : '.mysql_error());
  14. $row = mysql_fetch_row($resultat_pays);
  15. //print_r($row);  
  16. $selection_pays = $row[0];
  17. //  livraison au prix normal
  18. if((isset($_POST['choix'])) and ($_POST['choix']=='prix_normal'))
  19.  {
  20. $req_liv_norm="select normal from livraison where livraison_id='$selection_pays'";
  21. $resultat_liv_norm = mysql_query($req_liv_norm) or die('Erreur SQL : '.mysql_error());
  22. $row_normal = mysql_fetch_row($resultat_liv_norm); 
  23. $coef_normal = $row_normal[0];
  24.  }
  25. //  livraison au prix express
  26. if((isset($_POST['choix'])) and ($_POST['choix']=='prix_express'))
  27.  {
  28. $req_liv_exp="select express from livraison where livraison_id='$selection_pays'";
  29. $resultat_liv_exp = mysql_query($req_liv_exp) or die('Erreur SQL : '.mysql_error());
  30. $row_express = mysql_fetch_row($resultat_liv_exp); 
  31. $coef_express = $row_express[0];
  32.  }
  33. $query = "select prix_livraison from articles where ref='$ref'";
  34.    
  35.       $result = mysql_query($query);
  36.       if ($result)
  37.       {
  38.         $prix_livraison = mysql_result($result, 0, 'prix_livraison');
  39.  if((isset($_POST['choix'])) and ($_POST['choix']=='prix_normal'))
  40.    {
  41.  $prix_pays =$prix_livraison*$coef_normal;
  42.    }
  43.   if((isset($_POST['choix'])) and ($_POST['choix']=='prix_express'))
  44.       {
  45.  $prix_pays =$prix_livraison*$coef_express;
  46.    }
  47.         $prix +=$prix_pays*$quantite;
  48.       }
  49.     }
  50.   }
  51.   return $prix;
  52. }
  53. ?>

n°862704
naceroth
Posté le 02-10-2004 à 00:52:04  profilanswer
 

Dit, la ligne 55 c'est quoi ? Oh, un return \o/ 20 minutes de perdues :D
 
Mais du coup, je vois plus où se situe ton problème...Tu définis bien $livraison avant de l'utiliser ? (ou en français tu as bien qqch du style :

Code :
  1. $livraison = ...;
  2. ...
  3. $_SESSION['prix_general']=$livraison+$_SESSION['prix_total'];


n°862707
attentio
Posté le 02-10-2004 à 01:14:38  profilanswer
 

bon ... je reprends tout depuis le debut ... je vais faire comme chez le psy ...
j'ai  

Code :
  1. $_SESSION['prix_general']=$livraison+$_SESSION['prix_total'];


qui me permet d'additionner  $livraison (frais de livraison selon la zone de livraison) avec prix_total (le prix total du panier-> C un site de E commerce )
jusque la pas de probleme, j'ai placé ca dans ma fonction afficher_livraison ... ca roule.
MAIS le gros soucis C (je ne sais pas pourquoi)lorsque je fais page precedante dans mon navigateur et que je reviens sur cette meme page ... ca marche plus !!!! . Du coup, je me suis aperçu que ca venait de cette addition . c'est voila le pourquoi du comment que maintenant, je veux me debarrasser de cette declaration de variable de session de la fonction et la placer sur ma page principale qui appelle celle ci .
 
voilou mes soucis ... si ca peut aider (surtout moi)

n°862724
Profil sup​primé
Posté le 02-10-2004 à 02:16:05  answer
 

naceroth a écrit :

Ben pour le coup, fallait l'écouter  

ouha l'ot eh? [:antp:9]

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] pb de variable dans une fonction

 

Sujets relatifs
Parser une page web en phpcomment ouvrir un fichier php
[PHP] variable $_POSTPHP de 4.2 a 4.3.8 accent
PDF à partir d'une page PHP[PHP] déclarration array (dans PhpFAQtory) depuis new version php
[PHP] [Nb] Fonction noms de fichiers d'un dossier > variable ?[PHP] Récuperer une variable d'une fonction...
[PHP] variable predefinie $_POST['ma_variable'] et fonction mail()(PHP) comment executer une fonction PHP stockee dans une variable?????
Plus de sujets relatifs à : [PHP] pb de variable dans une fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR