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 :

Problème récupération variable [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Problème récupération variable
    Bonjour à tous,

    j'ai un soucis avec mon formulaire. Je souhaite ajouter le lien d'une photo dans ma base de données mais aussi l'année de la photo.
    Pour ça j'ai deux pages, mon index et une page transfert.

    Le soucis c'est que je n'arrive pas a récupérer la valeur de l'année j'ai un message d'erreur "Notice: Undefined index: annee in ***********************on line 38


    Voici le code de l'index
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	<title>Photos</title>
    </head>
    <body>
     
    <?php
     
    	// code bannière haut de page
    	$title = 'Les photos';
    	include ($_SERVER["DOCUMENT_ROOT"].'/inc/banniere.php');
    		// code menu gauche
    	include ($_SERVER["DOCUMENT_ROOT"].'/inc/menu.php');
     
    		$title = "Les promotions";
    		    // Page faisant appel aux sessions
     
        // Vérification de l'autorisation
        session_start();
     
        // Vérification de l'autorisation
       if (!isset($_SESSION['login'])) {
            // Si l'utilisateur n'est pas autorisé il est reconduit
            // sur le formulaire d'identification
     include ($_SERVER["DOCUMENT_ROOT"].'/connexion/index.php');
      include ($_SERVER["DOCUMENT_ROOT"].'/pasconnect.php');
      // header("Location: ../pasconnect.php");
            die();
        }  
     
        include ($_SERVER["DOCUMENT_ROOT"] . '/connexion/menugauche.php');
    		?>
     
    <div id="corps">	
    <h1><?php echo $title ?></h1>
    <h2>Les photos</h2>
    <?php
     
    // on se connecte à la base
    include ($_SERVER["DOCUMENT_ROOT"].'/inc/connect.php');
    // requête de selection de toutes les actualités		
    $requete= "SELECT annee, id FROM photo group by annee";
     
    //on evnvoie la requete a php pour ca on utilise mysql query qui prend en paramètre la requete a exécuter
    $resultat = mysql_query($requete) or die ('ERREUR'.mysql_error());
    while ($tableau = mysql_fetch_assoc($resultat)){
     
    // Récupération des valeurs dans la table
    $annee = $tableau['annee'];
    $id = $tableau['id'];
     
     
    // affichage des promotions 
    echo '<ul><li><a href="photo.php?num='.$annee.'">Promotion '.$annee.' </a></li><br /></ul>';
    }
    ?>
    </div>
     
    <div id="corps">
    <h2> Ajouter une photo</h2>
    <?php
     
    $requete= "SELECT annee FROM promotion group by annee";
     
    //on evnvoie la requete a php pour ca on utilise mysql query qui prend en paramètre la requete a exécuter
    $resultat = mysql_query($requete) or die ('ERREUR'.mysql_error());
     
     
    echo '<form name="formulaire_envoi_fichierpdf" enctype="multipart/form-data" method="post" action="transfertphoto.php">
        <p><font face="Verdana">
        <input type="file" name="fichier_choisi" size="20"><br>
        <br>
    	
      Année de la promotion : <select name="promotion">';
    while ($tableau = mysql_fetch_assoc($resultat)){
    $annee = $tableau['annee'];
     
    		echo '<option value ='.$annee.' selected>'.$annee.'</option>';
    }
    	echo'</optgroup>
    
    </select>
    	
        <input type="submit" name="bouton_submit" value="Envoyer">
        </font></p>
    	
      </form>';
     
     
     
    ?>
    </div>
     
    	<?php
    		// code bas de page
    		include ($_SERVER["DOCUMENT_ROOT"].'/inc/bas.php');
    	?>
    	</body>
    </html>

    Et voici ma page de transfert

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    <?php
    session_start();
       if (!isset($_SESSION['login'])) {
            // Si l'utilisateur n'est pas autorisé il est reconduit
            // sur le formulaire d'identification
           header("Location: ../pasconnect.php");
            die();
     
        }  
    		include ($_SERVER["DOCUMENT_ROOT"].'/inc/connect.php');
      //------
      // Upload du fichier
      //------
     
      $tailleMax =2000000;
     
     
      //on vérifies que le champ est bien rempli:
     
      if(!empty($_FILES["fichier_choisi"]["name"])){
     
      	//nom du fichier choisi:
      	$nomFichier    = $_FILES["fichier_choisi"]["name"] ;
     
      	//nom temporaire sur le serveur:
      	$nomTemporaire = $_FILES["fichier_choisi"]["tmp_name"] ;
     
      	//type du fichier choisi:
      	$typeFichier   = $_FILES["fichier_choisi"]["type"] ;
     
      	//poids en octets du fichier choisi:
      	$poidsFichier  = $_FILES["fichier_choisi"]["size"] ;
     
      	//code de l'erreur si jamais il y en a une:
      	$codeErreur    = $_FILES["fichier_choisi"]["error"] ;
    	// Récupération du login pour l'insertion dans la table
    	$login = $_SESSION['login'];
    	$annee=$_POST['annee'];
     
     
     
      	//chemin qui mène au dossier qui va contenir les fichiers upload:
      	$chemin = "C:\Program Files (x86)\EasyPHP-5.3.6.0\www\img\\"; // !!!A CHANGER!!!
     
     
     
      	if ($tailleMax > $poidsFichier) {
     
      		if(copy($nomTemporaire, $chemin.$nomFichier)){ //il upload
     
      			//------
      			// Ajout dans la DB !!!
      			//------
     
     
      			@MYSQL_CONNECT($host,$user,$password);
     
      			@mysql_select_db($database);
     
      			$result=@mysql_query(
    				"INSERT INTO Photo UPDATE membres SET img_nom='".$nomFichier."' where login='".$login."'") ;
    				"INSERT INTO photo (img_nom, annee)
        VALUES ('$nomFichier', '$annee')";
     
     
      			if(!$result){
      			}
     
      			echo("<br>   Fichier uploadé !<br>") ;
      			echo   "<a href=TON_FORMULAIRE.htm>Retour</a>";
     
      		}
     
      		else{
      			echo("<br>   Upload échoué") ;
      			echo   "<a href=TON_FORMULAIRE.html>Retour</a>";
    	  		}
     
      	}
      	else{
      		echo("<br>   Le fichier est trop gros, il ne peut pas dépasser 2Mo<br>") ;
      		echo   "<a href=TON_FORMULAIRE.html>Retour</a>";
     
     
      	}
     
      }
     
      else{
      	echo("<br>   Il faut choisir un fichier !<br>") ;
      	echo   "<a href=TON_FORMULAIRE.html>Retour</a>";
      }
     
     
     
      ?>
    Merci d'avance pour votre aide

  2. #2
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    Il faut nommer le champ correspondant à l'aide de l'attribut name.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<option value ='.$annee.' name="annee" selected>'.$annee.'</option>';

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    non Eric2a, c'est sur le select qu'on met le "name" !

    il faut ici remplacer (ligne 77) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Année de la promotion : <select name="promotion">';
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Année de la promotion : <select name="annee">';

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 271
    Points : 491
    Points
    491
    Par défaut
    Ton select tu la nomé promotion ligne 77
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="promotion">
    et dans le script PHP ligne 38 tu le récupere sous le nom annee
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $annee=$_POST['annee'];
    Tu devrais prendre le meme nom. C'est pour cela tu as "Notice: Undefined index: annee in ***********************on line 38

  5. #5
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Citation Envoyé par jreaux62
    non Eric2a, c'est sur le select qu'on met le "name" !
    Bah oui ! Qu'est ce qui m'a prit

    Merci pour la prompte correction jreaux62.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Eric2a Voir le message
    Merci pour la prompte correction jreaux62.
    Ca arrive, même aux meilleurs ...

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup c'était bien ça, je mettais mon name pas au bon endroit je me suis focalisée sur le name après option.


    Merci encore bonne soirée

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

Discussions similaires

  1. [MySQL] probléme récupération variable
    Par Jérém08 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 30/10/2009, 15h58
  2. [Smarty] Problème récupération variable dans un for
    Par slaxsystem dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 02/05/2007, 17h10
  3. Réponses: 29
    Dernier message: 02/04/2007, 09h42
  4. Problèmes récupération variable
    Par bouchette63 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/06/2006, 10h44
  5. [MySQL] Problème récupération variable pour requête SQL !!
    Par mLk92 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/06/2006, 16h08

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