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 :

Je n'arrive pas à parcourir mon tableau $_POST


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut Je n'arrive pas à parcourir mon tableau $_POST
    Bonjour tout le monde,

    Je passe ces valeurs à AJAX en POST :

    matricule=+21055+&cours_73=+73+&cours_74=+74+&total_ECTS=+5
    les valeurs sont bien reçues par PHP car mon var_dump me montre les valeurs.

    Je parcours mon tableau $_POST afin de mettre les valeurs dans un tableau et le nombre de cours dans une variable mais rien ne s'ajoute :

    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
     
    $ECTS = 0;
    $i=0;
     
    foreach ($_POST as $cle=>$valeur) 
    	{
    		if(substr($cle,1,5 == "cours"))
    		{
    			$tableau_cours[$i] = $valeur;
    			$i++;
    		}
    		elseif(substr($cle,1,5 == "total"))
    		{
    			$ECTS = $valeur;
    		}		
    	}
    Je fais un var_dump après le foreach et voici le résultat :


    nombre d ects = 0
    array(0) {
    }
    Voyez-vous ce qui ne fonctionne pas ?

    Merci d'avance.

    beegees

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 369
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 369
    Billets dans le blog
    17
    Par défaut
    Plutôt substr($cle, 0, ...
    http://fr.php.net/substr

  3. #3
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Plutôt substr($cle, 0, ...
    http://fr.php.net/substr
    Salut,

    Merci pour ta réponse.

    Ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(substr($cle,0,4 == "cours"))
    		{
    			$tableau_cours[$i] = $valeur;
    			$i++;
    		}
    		elseif(substr($cle,0,4 == "total"))
    		{
    			$ECTS = $valeur;
    		}
    ne change rien

    Qu'en penses-tu ?

    Merci encore.
    beegees

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 369
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 369
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par beegees Voir le message
    ne change rien

    Qu'en penses-tu ?
    Que tu n'as pas lu la doc de substr( )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if(substr($cle,0,4 == "cours"))
    Tu compares les 4 premiers caractères de $cle avec "cours" = ça ne peut jamais concorder.

    D'ailleurs pourquoi dois-tu faire cela ? Tu peux créer un tableau $_POST['cours'] à partir du formulaire en y mettant des champs comme <input type="text" name"cours[]" value="74">

  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
    Par défaut
    Tu peux debugger facilement un probleme de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if(substr($cle,0,4 == "cours"))
    		{
    			$tableau_cours[$i] = $valeur;
    			$i++;
    		}
    		elseif(substr($cle,0,4 == "total"))
    		{
    			$ECTS = $valeur;
    		}
                   else { 
                        echo substr($cle,0,4) . '<br/>' ;
                    }
    Tu verras immédiatement pourquoi tu ne rentres pas dans tes if.

    au passage il serait plus economique de determiner une fois ce que vaut substr($cle,0,4) et de faire des tests sur le resultat.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Bonjour,

    Merci à vous deux pour vos réponses.

    Il y a deux informations que j'ai besoin :

    1) le numéro de cours choisis par l'étudiant => peut en avoir plusieurs => va dans un tableau
    2) le nombre d'ECTS du ou de tous les cours choisit

    Avec ce 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
    foreach ($_POST as $cle=>$valeur) 
    	{
    		//echo $cle;
    		if(substr($cle,0,5 == "cours"))
    		{
    			$tableau_cours[$i] = $valeur;
    			$i++;
    		}
    		elseif(substr($cle,0,5 == "total"))
    		{
    			$ECTS = $valeur;
    		}
    		else 
    		{ 
                echo substr($cle,0,5) . '<br/>' ;
    		}		
    	}
    je n'entre pas dans mon if ni dans le else if :

    matri<br/>cours<br/>total<br/>
    J'obtiens pourtant "cours" et "total"

    Je ne comprends plus rien.

    Merci d'avance pour votre aide.

    beegees

  7. #7
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 369
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 369
    Billets dans le blog
    17
    Par défaut
    Tiens je viens de voir que tes substr( ) sont mal formés : tu fais substr($cle, 0, 5 == 'total') au lieu de substr($cle, 0, 5) == 'total'

  8. #8
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Tiens je viens de voir que tes substr( ) sont mal formés : tu fais substr($cle, 0, 5 == 'total') au lieu de substr($cle, 0, 5) == 'total'
    Re,

    Merci, tu es un "Champ", ça fonctionne maintenant.

    Bon Dimanche et merci aussi au grand "Sabotage".

    beegees

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

Discussions similaires

  1. j arrive pas à remplir mon tableau de String
    Par poulette3000 dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 29/10/2007, 19h52
  2. j'arrive pas à coloré mon string grid
    Par redouane71 dans le forum Delphi
    Réponses: 5
    Dernier message: 24/08/2006, 16h30
  3. Je n'arrive pas à acceder à mon fichier c'est La cata
    Par polianita dans le forum Access
    Réponses: 13
    Dernier message: 17/08/2006, 15h44
  4. Réponses: 9
    Dernier message: 12/05/2006, 10h06
  5. Je n'arrive pas à terminer mon formulaire en PHP
    Par snakejl dans le forum Langage
    Réponses: 12
    Dernier message: 10/05/2006, 23h35

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