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

PHP & Base de données Discussion :

probléme Undefined index


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 33
    Points : 13
    Points
    13
    Par défaut probléme Undefined index
    bonjour tous le monde me revoila. Après avoir essayé plusieurs fois j'ai réussi à uploader mon image dans le dossier "photos" et à enregistrer le nom de l'image dans la base de donnée mais voila un autre problème se pose: l'affichage de l'image. je réussi à recupérer toutes les infos enregistré dans la base de données mais j'ai un undefined index dans la ligne echo de l'image. je joint les codes upload et affichage en espérant trouver de l'aide dans le forum

    code upload
    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
    <?php
    // Parametres mysql à remplacer par les vôtres
    define('DB_SERVER', 'localhost'); // serveur mysql
    define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
    define('DB_SERVER_PASSWORD', ''); // mot de passe
    define('DB_DATABASE', 'partners'); // nom de la base
    // Connexion au serveur mysql
    $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, 
    DB_SERVER_PASSWORD) 
    or die('Impossible de se connecter : ' . mysql_error());
    // sélection de la base de données
    mysql_select_db(DB_DATABASE, $connect);
    $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis:
    <br/><br/>";
    $msg_ok = "Votre annonce a bien été ajoutée.<br/><br/>";
    $message = $msg_erreur;
    // vérification des champs 
    if (empty($_POST['ville'])) 
      $message .= "La ville<br/>";
    if (empty($_POST['quartier'])) 
      $message .= "Le quartier<br/>";
    if (empty($_POST['surface'])) 
      $message .= "La Surface<br/>";
    if (empty($_POST['prix'])) 
      $message .= "Le prix<br/>";
     
    $pic=($_FILES['photo_1']['name']); 
    $dossier = 'photos/'; 
    $fichier = basename($_FILES['photo_1']['name']); 
    $taille_maxi = 1000000; 
    $taille = filesize($_FILES['photo_1']['tmp_name']); 
    $extensions = array('.png', '.gif', '.jpg', '.jpeg'); 
    $extension = strrchr($_FILES['photo_1']['name'], '.'); 
    //Début des vérifications de sécurité... 
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau 
    { 
    $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...'; 
    } 
    if($taille>$taille_maxi) 
    { 
    $erreur = 'Le fichier est trop gros...'; 
    } 
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload 
    { 
    //On formate le nom du fichier ici... 
    $fichier = strtr($fichier, 
    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
    'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); 
    $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); 
    if(move_uploaded_file($_FILES['photo_1']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné... 
    { 
    echo '<br/><br/>photo ajouté avec succès !'; 
    } 
    else //Sinon (la fonction renvoie FALSE). 
    { 
    echo '<br/><br/>Echec de l\'upload !'; 
    } 
    } 
    else 
    { 
    echo $erreur; 
    } 
     
    // si un champ est vide, on affiche le message d'erreur
    if (strlen($message) > strlen($msg_erreur)) {
     
      echo $message;
     
    // sinon c'est ok 
    } else {
     
      foreach($_POST as $index => $valeur) {
        $$index = mysql_real_escape_string(trim($valeur));
      }
     
      $sql = "INSERT INTO annonce VALUES ('', '".$type_bien."', '".$type_ope."', 
        '".$ville."', '".$quartier."', '".$surface."', '".$nombre_chambre."',
        '".$prix."', '".$pic."')";
      $res = mysql_query($sql);
     
      if ($res) {
        echo $msg_ok;
      } else {
        echo mysql_error();
      }
     
    }
    ?>
    code affichage données en gras la ligne avec l'erreur undefined 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
     <?php
    try
    {
        // On se connecte à MySQL
        $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
        $bdd = new PDO('mysql:host=localhost;dbname=partners', 'root', '', $pdo_options);
        
        // On récupère tout le contenu de la table jeux_video
        $reponse = $bdd->query('SELECT * FROM annonce');
        
        // On affiche chaque entrée une à une
        while ($donnees = $reponse->fetch())
        {
        ?>
            <p>
            <strong>Type de bien :</strong>   <?php echo $donnees['type_bien']; ?><br />
            <strong>Type d'Opération :</strong>   <?php echo $donnees['type_ope']; ?> <br /> <strong>Ville :</strong>   <?php echo $donnees['ville']; ?> <br /> <strong>Quartier :</strong>   <?php echo $donnees['quartier']; ?><br />
            <strong>Surface :</strong>   <?php echo $donnees['surface']; ?> <br />
           <strong>Nombre de Chambre :</strong>   <?php echo $donnees['nombre_chambre']; ?> <br /><strong>Prix :</strong>   <?php echo $donnees['prix']; ?> CFA <br /><strong>Prix :</strong>   <?php echo "<img src='photos/{$_FILES['photo_1']['name']}'/>" ; ?> CFA
            </p>
        <?php

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2012
    Messages : 131
    Points : 242
    Points
    242
    Par défaut
    salut,

    remplace
    $_FILES['photo_1']['name']
    par
    $donnees['pic']
    si pic est un champ de la table annonce

  3. #3
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Points : 778
    Points
    778
    Par défaut
    Ou entre tu dans la base de donnes le nom du fichier photo nécessaire dans img src?
    Spécialiste des questions bêtes

    ”If you can't explain it simply, you don't understand it” (Ce que tu ne peux pas expliquer simplement, tu ne le comprends pas) Albert Einstein

    Si une reponse vous plait ou vous a aidé n'hesitez pas a voter pour

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 33
    Points : 13
    Points
    13
    Par défaut
    bonjour Selmouadin et merci pour ta réponse rapide. le champ de la table annonce qui enregistre le nom de la photo après l'upload est photo1 mais quand je fais <?php echo "<img src='photos/{$donnees['photo1']}'/>" ; ?> j'ai pas d'erreur indefined index ou variable comme d'habitude mais rien ne s'affiche. tous les autres champs sont affiché correctement avec un echo sauf celui où le nom de la photo est enregistré.
    EIN-LESER si je comprend bien ta question tu demande dans quel champ de la table annonce est ajouté le nom de l'image uploadé? si c'est bien cela, il s'agit du champ PHOTO1
    $pic=($_FILES['photo_1']['name']); pic me permet de définir la variable parce que j'avais une erreur indefined variable lors de l'upload de la photo

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/10/2011, 21h30
  2. [PHP-JS] Problème Notice: Undefined index
    Par Sniper94-2 dans le forum Langage
    Réponses: 1
    Dernier message: 19/04/2007, 17h45
  3. Réponses: 8
    Dernier message: 03/04/2007, 11h01
  4. Problème d'index avec load data file
    Par bruno782 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 09/03/2005, 13h11
  5. Problème d'index
    Par claude dans le forum SQL
    Réponses: 6
    Dernier message: 04/08/2003, 16h55

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