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 :

Récupérer 2 valeurs form HTML dans array


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Par défaut Récupérer 2 valeurs form HTML dans array
    Salut à tous,

    Mon problème est assez classique mais je ne trouve pas d'exemple clair et bien expliqué pour me sortir de là. Voici donc le but :
    je créer une galerie photos avec des albums.
    Le formulaire qui me pose problème est celui permettant à l'utilisateur de modifier le nom des albums.

    J'affiche donc un formulaire avec un input pour le nouveau nom (name='data[nouveaunom]') ET un input HIDDEN pour le nom actuel.

    Sur la même page j'aimerais donc récupérer le couple ancien nom - nouveau nom en faisant une boucle.

    Voici à quoi ressemble mon formulaire


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    echo '<FORM method="POST" action="Admin.php?page=galerie_001_02">';
     
    $affnom = mysql_query("SELECT * FROM Album ORDER BY id_album")or die(mysql_error());
    		while($row4 = mysql_fetch_array($affnom)){
     
    		$album_name=$row4['album_name'];//Ancien nom avec accent
    		$ancien_nom_modifie=$row4['album_dossier'];//Ancien nom MODIFIE caractères spéciaux
     
    		echo'<p>Nom actuel : " <strong> '.$album_name.'</strong> " Nouveau nom : <INPUT type="text" name="data[nouveaunom][]" size=30></input><INPUT type="hidden" name="data[nomactuel][]" size=30 value='.$album_name.'></input></p>';
     
    		}
     
    echo '<p><INPUT type="submit" value="Confirmer"></p>';
    echo '</FORM>';
    Et voici comment j'essaie de récupérer mes valeurs :

    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
    if(isset($_POST)) 
    {
     
    		foreach($_POST['data']['nouveaunom'] as $index=>$nouveaunom)
    		{
    			if(!empty($nouveaunom))
    			{
     
    					echo  $nouveaunom.' - ';
     
    						foreach($_POST['data']['nomactuel'] as $index2=>$valeur_actuel)
    						{
     
     
    						echo  $valeur_actuel;
     
    						echo '<br/>';
    						}	
     
     
    			}
     
     
    		}
     
    }
    2 questions :

    1) est-ce que la manière dont je note data[] dans mon formulaire est correcte pour la récupération des données

    2) comment dois-je procéder au niveau des boucles foreach ?

    D'avance merci à tous.

    John

  2. #2
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    Salut,
    Non tu ne peut pas passer le tableau comme ca....met au moin un $ devant data :-)....
    Tu peux passer un tableau dans le name, mais c'est assez tordu.
    Une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //pour le form
    echo <input type=\"text\" name=\"".$Ancien."_".$Nouveau."\" value=\"".$IdForm."\" >";
     
     
    //recuperation
    foreach($_GET as $K=>$V){
        if(is_numeric($V)){
             $TabK=explode("_",$K);
             $Old=$TabK[0];
             $New=$TabK[1];
        }
    }
    Guigo

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Par défaut
    salut,

    le $IdForm il sert à quoi dans ton exemple ?

  4. #4
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    A savoir quelle repertoire est modifié...
    D'ailleur pour l'utilisateur tu peux mettre $Ancien
    (cela suppesera que tu ne peut pas avoir des repertoires ayan le meme nom, car tu fera ta modifie en fonction du nom...)

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    Cela supposera aussi que tu ne pourras pas avoir des input ayant une valeur numérique.

    Edit:

    Citation Envoyé par guigo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //pour le form
    echo <input type=\"text\" name=\"".$Ancien."_".$Nouveau."\" value=\"".$IdForm."\" >";
     
     
    //recuperation
    foreach($_GET as $K=>$V){
        if(is_numeric($V)){
             $TabK=explode("_",$K);
             $Old=$TabK[0];
             $New=$TabK[1];
        }
    }
    Je vois pas trop l'intérêt, à chaque passage sur le foreach on attribue un valeur à $Old et $New différente.

  6. #6
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    Tu peux creer des cles plus compliquées... Ca c'est pas un pb

    Un post ici qui passe un tableau dans les input, a priori ca marche bien aussi :
    http://www.developpez.net/forums/d82...ox-indefinies/

    La creation des var n'a aucun interet, c'etait juste pourmontrer comment recuperer ces valeurs...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/05/2011, 17h28
  2. Ajouter un Form HTML dans une WEBFORM
    Par Sophie84 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/04/2007, 16h47
  3. DOS - Récupérer la valeur de hostname dans une variable
    Par f1vincent dans le forum Développement
    Réponses: 2
    Dernier message: 18/10/2006, 16h43
  4. Comment récupérer la valeur de Expr1 dans une requête ?
    Par Tchupacabra dans le forum Access
    Réponses: 2
    Dernier message: 19/12/2005, 16h16
  5. Récupérer des valeurs de checkbox dans MySQL
    Par digger dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 05/09/2005, 15h58

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