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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Problemes de tableaux svp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Problemes de tableaux svp

n°694854
compuman10​1
Posté le 07-04-2004 à 17:09:15  profilanswer
 

J'ai pensé à ca :
 

Code :
  1. $tab = array ($_POST['nom'],$_POST['prenom']);
  2. foreach ($tab as $val) $val = htmlentities($val);


 
Mais ca ne marche pas
 
Par contre si je fais :
 

Code :
  1. $tab = array ($_POST['nom'],$_POST['prenom']);
  2. foreach ($tab as $val) echo $val;


 
Les valeurs s'affichent.
 
En fait vous l'avez compris j'aimerai pouvoir faire un trim($val), htmlentities ...


Message édité par compuman101 le 07-04-2004 à 23:39:23

---------------
Comparez DVD Vierges, Graveurs de DVD et Boutiques en ligne
mood
Publicité
Posté le 07-04-2004 à 17:09:15  profilanswer
 

n°694870
compuman10​1
Posté le 07-04-2004 à 17:15:34  profilanswer
 
n°694877
compuman10​1
Posté le 07-04-2004 à 17:23:12  profilanswer
 
n°694888
naceroth
Posté le 07-04-2004 à 17:31:43  profilanswer
 

Tu veux effectuer la même action sur toutes les variables d'un tableau, en modifiant leur valeur ?  
 
Si oui, va voir du côté d'array_walk() :)

n°694891
compuman10​1
Posté le 07-04-2004 à 17:34:16  profilanswer
 

naceroth a écrit :

Tu veux effectuer la même action sur toutes les variables d'un tableau, en modifiant leur valeur ?  
 
Si oui, va voir du côté d'array_walk() :)


 
Merci je vais aller voir
Oui en fait je voulais constituer un tableau de variables et appliquer à ces variables des fonctions, du genre, suppression du premier espace, htmlentities...  
 
Pour faire une espece de boucle ... et appliquer tout ca à mes variables


---------------
Comparez DVD Vierges, Graveurs de DVD et Boutiques en ligne
n°694947
kalex
Posté le 07-04-2004 à 18:06:26  profilanswer
 

Code :
  1. for($n = 0; isset($tab[$n]) ; $n++){
  2. $tab[$n] = ...;
  3. }

Pour un bête tableau indexé, ça devrait suffire ?
Sinon jongle avec key() et next().

n°694966
naceroth
Posté le 07-04-2004 à 18:17:54  profilanswer
 

y a toujours des gens pour réinventer la roue :)

n°694981
kalex
Posté le 07-04-2004 à 18:26:07  profilanswer
 

naceroth a écrit :

y a toujours des gens pour réinventer la roue :)

Du genre array_walk (qui, rappelons le, ne marche qu'avec des fonctions utilisateur) ? ;)

n°694991
compuman10​1
Posté le 07-04-2004 à 18:31:12  profilanswer
 
n°694995
naceroth
Posté le 07-04-2004 à 18:35:00  profilanswer
 

kalex a écrit :

Du genre array_walk (qui, rappelons le, ne marche qu'avec des fonctions utilisateur) ? ;)


 
Certes :)
 
Mais les opérations de nettoyage de variables sont tellement courante que créer une fonction pour ça est presque un réflexe naturel :)

mood
Publicité
Posté le 07-04-2004 à 18:35:00  profilanswer
 

n°694999
kalex
Posté le 07-04-2004 à 18:38:41  profilanswer
 

Alors, je dois manquer de réflexe... :D

n°695003
compuman10​1
Posté le 07-04-2004 à 18:40:44  profilanswer
 

Code :
  1. $_POST['societe']=(isset($_POST['societe']) ? $_POST['societe'] : '');
  2.  $_POST['nom']=(isset($_POST['nom']) ? $_POST['nom'] : '');
  3.  $_POST['prenom']=(isset($_POST['prenom']) ? $_POST['prenom'] : '');
  4.  $_POST['identifiant']=(isset($_POST['identifiant']) ? $_POST['identifiant'] : '');
  5.  $_POST['adresse']=(isset($_POST['adresse']) ? $_POST['adresse'] : '');
  6.  $_POST['code_postal']=(isset($_POST['code_postal']) ? $_POST['code_postal'] : '');
  7.  $_POST['ville']=(isset($_POST['ville']) ? $_POST['ville'] : '');
  8.  $_POST['pays']=(isset($_POST['pays']) ? $_POST['pays'] : '');
  9.  $_POST['email']=(isset($_POST['email']) ? $_POST['email'] : '');
  10.  $_POST['telephone']=(isset($_POST['telephone']) ? $_POST['telephone'] : '');
  11.  $_POST['site_web']=(isset($_POST['site_web']) ? $_POST['site_web'] : '');
  12.  $_POST['jour']=(isset($_POST['jour']) ? $_POST['jour'] : '');
  13.  $_POST['mois']=(isset($_POST['mois']) ? $_POST['mois'] : '');
  14.  $_POST['annee']=(isset($_POST['annee']) ? $_POST['annee'] : '');
  15.  $_POST['competence']=(isset($_POST['competence']) ? $_POST['competence'] : '');


 
J'ai tout un bloc comme ca obligatoire ?
parce que si je fais :
 

Code :
  1. $tableau = array (
  2.    $_POST['societe'],
  3.    $_POST['nom'],$_POST['prenom'],
  4.    $_POST['identifiant'],
  5.    $_POST['adresse'],
  6.    $_POST['code_postal'],
  7.    $_POST['ville'],
  8.    $_POST['pays'],
  9.    $_POST['email'],
  10.    $_POST['telephone'],
  11.    $_POST['site_web'],
  12.    $_POST['jour'],
  13.    $_POST['mois'],
  14.    $_POST['annee'],
  15.    $_POST['competence']);


 
Il me dit que les variables ne sont pas définies


---------------
Comparez DVD Vierges, Graveurs de DVD et Boutiques en ligne
n°695008
compuman10​1
Posté le 07-04-2004 à 18:44:36  profilanswer
 

encore un soucis :D
 

Code :
  1. if(isset($_POST['submit'])){
  2.  $tableau = array (
  3.    $_POST['societe'],
  4.    $_POST['nom'],$_POST['prenom'],
  5.    $_POST['identifiant'],
  6.    $_POST['adresse'],
  7.    $_POST['code_postal'],
  8.    $_POST['ville'],
  9.    $_POST['pays'],
  10.    $_POST['email'],
  11.    $_POST['telephone'],
  12.    $_POST['site_web'],
  13.    $_POST['jour'],
  14.    $_POST['mois'],
  15.    $_POST['annee'],
  16.    $_POST['competence']);
  17.  for ($i = 0, $n = count($tableau); $i < $n; $i++)
  18.  {
  19.   $tableau[$i] = "TEST";
  20.  }
  21.  echo $_POST['societe'];


 
C'est normal qu'il m'affiche la valeur tappée dans le champ société et non "TEST"  :??: :(


Message édité par compuman101 le 07-04-2004 à 18:45:35

---------------
Comparez DVD Vierges, Graveurs de DVD et Boutiques en ligne
n°695012
compuman10​1
Posté le 07-04-2004 à 18:46:32  profilanswer
 

ouppps j'ai compris :D il faut que j'accede maintenant aux variables du tableau ... ca marche pas dans les deux sens :D


---------------
Comparez DVD Vierges, Graveurs de DVD et Boutiques en ligne
n°695015
kalex
Posté le 07-04-2004 à 18:47:38  profilanswer
 

compuman101 a écrit :

Code :
  1. $_POST['societe']=(isset($_POST['societe']) ? $_POST['societe'] : '');
  2.  $_POST['nom']=(isset($_POST['nom']) ? $_POST['nom'] : '');
  3.  $_POST['prenom']=(isset($_POST['prenom']) ? $_POST['prenom'] : '');
  4.  $_POST['identifiant']=(isset($_POST['identifiant']) ? $_POST['identifiant'] : '');
  5.  $_POST['adresse']=(isset($_POST['adresse']) ? $_POST['adresse'] : '');
  6.  $_POST['code_postal']=(isset($_POST['code_postal']) ? $_POST['code_postal'] : '');
  7.  $_POST['ville']=(isset($_POST['ville']) ? $_POST['ville'] : '');
  8.  $_POST['pays']=(isset($_POST['pays']) ? $_POST['pays'] : '');
  9.  $_POST['email']=(isset($_POST['email']) ? $_POST['email'] : '');
  10.  $_POST['telephone']=(isset($_POST['telephone']) ? $_POST['telephone'] : '');
  11.  $_POST['site_web']=(isset($_POST['site_web']) ? $_POST['site_web'] : '');
  12.  $_POST['jour']=(isset($_POST['jour']) ? $_POST['jour'] : '');
  13.  $_POST['mois']=(isset($_POST['mois']) ? $_POST['mois'] : '');
  14.  $_POST['annee']=(isset($_POST['annee']) ? $_POST['annee'] : '');
  15.  $_POST['competence']=(isset($_POST['competence']) ? $_POST['competence'] : '');


 
J'ai tout un bloc comme ca obligatoire ?
parce que si je fais :
 

Code :
  1. $tableau = array (
  2.    $_POST['societe'],
  3.    $_POST['nom'],$_POST['prenom'],
  4.    $_POST['identifiant'],
  5.    $_POST['adresse'],
  6.    $_POST['code_postal'],
  7.    $_POST['ville'],
  8.    $_POST['pays'],
  9.    $_POST['email'],
  10.    $_POST['telephone'],
  11.    $_POST['site_web'],
  12.    $_POST['jour'],
  13.    $_POST['mois'],
  14.    $_POST['annee'],
  15.    $_POST['competence']);


 
Il me dit que les variables ne sont pas définies

Ca dépend, tu veux identifier ton tableau par des nombres (0,1,2...) ou du texte (nom, prenom, ...) ?

n°695023
compuman10​1
Posté le 07-04-2004 à 18:52:03  profilanswer
 

En fait à l'origine je voulais simplement avoir une liste de variables, auquelles je pourrai appliquer les memes fonctions simplement..


---------------
Comparez DVD Vierges, Graveurs de DVD et Boutiques en ligne
n°695306
compuman10​1
Posté le 07-04-2004 à 23:21:47  profilanswer
 

je suis paumé la  :pt1cable:  
 

Code :
  1. $_POST['societe'] = "Petit essai";
  2. $tab = array ("societe" => $_POST['societe']);
  3. foreach($tab as $nom => $valeur)
  4. {
  5. $valeur = "TEST";
  6. echo $nom.' : '.$valeur.'<br>';
  7. }


J'obtiens : societe: test
 
si appres dans le code je fais  

Code :
  1. echo $tab['societe'];


 
ca affiche "Petit essai"
 
En gros j'ai l'impression qu'il y a comme des variables locales :(


Message édité par compuman101 le 07-04-2004 à 23:24:59
n°695382
naceroth
Posté le 08-04-2004 à 01:00:28  profilanswer
 

C'est pas tant qu'il y ait des variables locales que le fait que $valeur n'est pas lié à $tab.
 
Pour modifier le tableau lui même, tu devrais faire

Code :
  1. $tab[$nom]= "TEST";

n°695384
compuman10​1
Posté le 08-04-2004 à 01:06:50  profilanswer
 

naceroth a écrit :

C'est pas tant qu'il y ait des variables locales que le fait que $valeur n'est pas lié à $tab.
 
Pour modifier le tableau lui même, tu devrais faire

Code :
  1. $tab[$nom]= "TEST";




ah d'accord donc $valeur est ce que je pourrai appeller une valeur temporaire dans laquelle etait mise la valeur parcourue à l'instant N, j'avais beau effectuer des opérations dessus à l'instant N+1 elle etait écrasée
 
Est ce bien ca ?


---------------
Comparez DVD Vierges, Graveurs de DVD et Boutiques en ligne
n°695392
naceroth
Posté le 08-04-2004 à 01:32:25  profilanswer
 

En résumé :
 
l'instruction foreach travaille sur une copie du tableau, pas sur le tableau lui-même, modifier $valeur n'a donc aucun impact sur $tab :)
 
$valeur est bien écrasé (enfin, réinitialisé serait peut être plus correct) à chaque passage.

n°695393
kalex
Posté le 08-04-2004 à 01:32:31  profilanswer
 

$valeur est une variable dans laquelle tu as copié la valeur d'une des variables de ton tableau (une copie quoi). D'ailleurs, n'oublie pas qu'un tableau c'est qu?une manière de représenter un groupe de variables.

n°695407
compuman10​1
Posté le 08-04-2004 à 03:01:56  profilanswer
 

merci bcp :jap:
tout fonctionne à merveille j'ai juste un ptit soucis pour vérifier une chaine de caracteres mais je vais trouver :)


---------------
Comparez DVD Vierges, Graveurs de DVD et Boutiques en ligne
mood
Publicité
Posté le   profilanswer
 


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

  [PHP] Problemes de tableaux svp

 

Sujets relatifs
[PHP : Fonction mail à problème ?] Oui oui, j'ai un problème...requete en PHP/MySQL sur deux base differentes ...
Php et bdd Access distantepasser 1 variable PHP à javascript sans utiliser echo ou autre?
php_xslt - C est quoi?Quel est le port par default du serveur apache dans easy php
[C] problemes de lecture dans un fichier des noms de fichiers à ouvrir[PHP] Liste des variables globales.
[PHP] Peut on passer des tableau dans $_SESSION ?[php] include fichier xml/xsl
Plus de sujets relatifs à : [PHP] Problemes de tableaux svp


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