$variable avec plusieurs Valeurs?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : $variable avec plusieurs Valeurs?

par dunbar » 02 sept. 2006, 20:11

Il enregistre bien dans la table mais il sont vide :boire4: :tir2:
Ils se perdent entre la page précédente et la base de donnée: ok, mais encore ??
Qu'a tu fait pour isoler le problème ?? Les conseils qu'on t'a donner sur d'autres postes, sur comment débugger un query sql, reste tout à fait d'application ici.
Ok
Merci

par dunbar » 02 sept. 2006, 20:06

:?: Je suis BANÎT :?:
D'abord on écrit "banni" et non "banît".

Ensuite, vu l'heure à laquelle tu as posté chacun des messages, il faut quand même rester relax, tout le monde ne suit pas le forum 24h/24. Patiente un peu, quelqun va te répondre.
Il fallait prendre ça au second degret :( je suis pas totalement stupide et je sais qu'à 3Heure du matin la plupart de gens dorme......

par iclo » 02 sept. 2006, 10:45

Il enregistre bien dans la table mais il sont vide :boire4: :tir2:
Ils se perdent entre la page précédente et la base de donnée: ok, mais encore ??
Qu'a tu fait pour isoler le problème ?? Les conseils qu'on t'a donner sur d'autres postes, sur comment débugger un query sql, reste tout à fait d'application ici.

par Cyrano » 02 sept. 2006, 07:20

:?: Je suis BANÎT :?:
D'abord on écrit "banni" et non "banît".

Ensuite, vu l'heure à laquelle tu as posté chacun des messages, il faut quand même rester relax, tout le monde ne suit pas le forum 24h/24. Patiente un peu, quelqun va te répondre.

par dunbar » 02 sept. 2006, 03:00

Et finalement c'est assez logique.
Puisque je déclare une variable comme ceci
$ref = xxxxxxxx$_POST['ref'][1]

Alors ma question comment je déclare les variable qui proviennent d'un Array (pour faire un INSERT) ? :x
:?: Je suis BANÎT :?:

par dunbar » 01 sept. 2006, 23:45

Bon alors voilà mon code #-o
$prestation_tvc  = array_map('addslashes', $_POST);
$prestation_tvc = Array('ref[1]', 'nom_client[1]', 'adr[1]', 'postal[1]', 'commune[1]', 'technicien[1]','ha[1]','hd[1]', 'tel[1]', 'installation[1]','com[1]','ref[2]', 'nom_client[2]', 'adr[2]', 'postal[2]', 'commune[2]', 'technicien[2]','ha[2]','hd[2]', 'tel[2]', 'installation[2]','com[2]',
'ref[3]', 'nom_client[3]', 'adr[3]', 'postal[3]', 'commune[3]', 'technicien[3]','ha[3]','hd[3]', 'tel[3]', 'installation[3]','com[3]');
print_r($_POST["ref"]);
print_r($_POST["nom_client"]);
print_r($_POST["adr"]);
print_r($_POST["postal"]);
print_r($_POST["commune"]);
print_r($_POST["technicien"]);
print_r($_POST["ha"]);
print_r($_POST["hd"]);
print_r($_POST["tel"]);
print_r($_POST["installation"]);
print_r($_POST["com"]);
//print_r ($prestation_tvc);

/********************************************
                    Récupération des données de la première ligne.
******************************************/
$date1 = mysql_real_escape_string (trim($_POST['date'][1]));
$date2 = $today = date("Y-m-j");
$user = mysql_real_escape_string($_SESSION['nom']);
$ref = ($_POST['ref']);
$nom =($_POST['nom_client']);
$adr = ($_POST['adr']);
$code = ($_POST['postal']);
$commune = ($_POST['commune']);
$address_mac = $_POST['mac'][1].":".$_POST['mac'][2].":".$_POST['mac'][3].":".$_POST['mac'][4].":".$_POST['mac'][5].":".$_POST['mac'][6];
$tech =  ($_POST['technicien']);
$heure_debut = ($_POST['ha'].":".$_POST['ha']);
$heure_fin = ($_POST['hd'].":".$_POST['hd']);
$telephone = ($_POST['tel']);
$installation = ($_POST['installation']);
$commentaire = ($_POST['com']); */
Il enregistre bien dans la table mais il sont vide :boire4: :tir2:

par dunbar » 01 sept. 2006, 22:59

Salut

Bon j'arrive à ceci
$_POST = array_map( 'mysql_real_escape_string', $_POST );
print_r($_POST["ref"]);
Mais j'ai cette erreur

Code : Tout sélectionner

Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in
Mais comment je déclare ma variable ?
Ou alors il me suffit de faire un INSERT de "ref" et il va prendre les 6 champs "ref" de mon formulaire ?
Se serais aussi simple :?:

par dunbar » 01 sept. 2006, 21:38

Si tu ne vas pas jusqu'à la doc, la doc ira-t-à-toi :!:
array_map() retourne un tableau...
Une fois cet étrange message décrypté par les différents algorythmes du service de recherche de vie extraterrestre de la nasa, il semblerait que la fonction array_map() retourne un tableau :)

Donc, le résultat de array_map( 'mysql_real_escape_string', $_POST['com']) est un tableau, et il y a ainsi de grandes chances pour que $commentaire dans lequel tu stockes ce tableau, soit également un ... tableau ! ;)
... un tableau contenant tous les éléments du tableau arr1 (NdPiou: arr1 est le tableau passé en paramètre),
après leur avoir appliqué la fonction callback (NdP: dont le nom est passé en paramètre également)
La fonction print_r() te permet de voir ce que contient ce tableau. Il est ainsi plus facile de trouver le ou les bons index pour faire appel à le ou les éléments désirés du tableau :)
Si j'ai été à la doc rassure toi mais je comprend pas sorry :oops:
Mais bon je vais me débrouiller. :wink:

par Ryle » 01 sept. 2006, 16:45

Si tu ne vas pas jusqu'à la doc, la doc ira-t-à-toi :!:
array_map() retourne un tableau...
Une fois cet étrange message décrypté par les différents algorythmes du service de recherche de vie extraterrestre de la nasa, il semblerait que la fonction array_map() retourne un tableau :)

Donc, le résultat de array_map( 'mysql_real_escape_string', $_POST['com']) est un tableau, et il y a ainsi de grandes chances pour que $commentaire dans lequel tu stockes ce tableau, soit également un ... tableau ! ;)
... un tableau contenant tous les éléments du tableau arr1 (NdPiou: arr1 est le tableau passé en paramètre),
après leur avoir appliqué la fonction callback (NdP: dont le nom est passé en paramètre également)
La fonction print_r() te permet de voir ce que contient ce tableau. Il est ainsi plus facile de trouver le ou les bons index pour faire appel à le ou les éléments désirés du tableau :)

par dunbar » 01 sept. 2006, 16:25

Au delà de ce que fait une fonction et des paramètres nécessaire à son exécution, la dernière chose importante à savoir, c'est ce qu'elle retourne :)

Donc retour sur la doc de array_map() et re-lecture de la description de cette fonction ;)

De manière générale, lorsque tu affiches une variable et qu'au lieu du résultat attendu du vois apparaitre "Array", cela signifie généralement que ta variable est un tableau, alors que ce qui t'interesse est très probablement juste ses cellules.
print_r() et var_dump() te permettent de voir facilement ce que contient un tableau (valeurs et index) :)
:gla: Ok j'y retourne :arrow:
Je bloque tu n'aurais pas envie de me donner un pt truc en plus :?:

par dunbar » 01 sept. 2006, 15:33

Au delà de ce que fait une fonction et des paramètres nécessaire à son exécution, la dernière chose importante à savoir, c'est ce qu'elle retourne :)

Donc retour sur la doc de array_map() et re-lecture de la description de cette fonction ;)

De manière générale, lorsque tu affiches une variable et qu'au lieu du résultat attendu du vois apparaitre "Array", cela signifie généralement que ta variable est un tableau, alors que ce qui t'interesse est très probablement juste ses cellules.
print_r() et var_dump() te permettent de voir facilement ce que contient un tableau (valeurs et index) :)
:gla: Ok j'y retourne :arrow:

par Ryle » 01 sept. 2006, 15:27

Au delà de ce que fait une fonction et des paramètres nécessaire à son exécution, la dernière chose importante à savoir, c'est ce qu'elle retourne :)

Donc retour sur la doc de array_map() et re-lecture de la description de cette fonction ;)

De manière générale, lorsque tu affiches une variable et qu'au lieu du résultat attendu du vois apparaitre "Array", cela signifie généralement que ta variable est un tableau, alors que ce qui t'interesse est très probablement juste ses cellules.
print_r() et var_dump() te permettent de voir facilement ce que contient un tableau (valeurs et index) :)

par dunbar » 01 sept. 2006, 15:15

Je suis d'accord avec Ryle, regarde mieux le principe d'array_map()

Tu avais un tableau $_POST contenant des commentaires. Tu voulais appliquer à chacun de ces commentaires (chaque cellule en fait) la fonction mysql_real_escape_string().

array_map() appliquera cette fonction donc à chaque cellule du tableau. Tu n'as pas besoin d'utiliser une fonction en plus ni des variables $a, $b, ou $truc.
Oui j'étudie,
alors le résultat j'arrive à ceci.
$commentaire = array_map( 'mysql_real_escape_string', $_POST['com']);
Mon soucis es tdans dans ma table il m'indique Array et non pas le commentaire :?: et pourquoi qu'il me pourrie la vie :wink: non blague à part quelle est mon erreur :?: (enfin pas le code hein :wink: plutôt une direction :roll: )

Parce ce que non somme bien d'accord ? Ma variable $commentaire = array_map ----- les $_POST['com'] j'ai quand même bien compris le principe non :?: :?:

par ouckileou » 01 sept. 2006, 13:08

Je suis d'accord avec Ryle, regarde mieux le principe d'array_map()

Tu avais un tableau $_POST contenant des commentaires. Tu voulais appliquer à chacun de ces commentaires (chaque cellule en fait) la fonction mysql_real_escape_string().

array_map() appliquera cette fonction donc à chaque cellule du tableau. Tu n'as pas besoin d'utiliser une fonction en plus ni des variables $a, $b, ou $truc.

par Ryle » 01 sept. 2006, 12:19

Tu as l'air de beaucoup tenir à ton array_map(), mais as-tu regardé la doc pour savoir à quoi il servait et comment l'utiliser ?

Il attend un nom de fonction et un tableau en paramètre, ce qui n'a pas grand chose à voir avec ce que tu lui passes :)