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 :

Editer une image en PHP/MYSQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut Editer une image en PHP/MYSQL
    Bonjour,

    J'essaye depuis hier de modifier une image qui a été enregistrée dans la base de donnée mais aucun résultat pour le moment.

    Mon problème viendrait de cette ligne ; Notice: Undefined index: id

    Pour le reste tout fonctionne, merci à vous pour une éventuelle aide.

    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
    <?php
     
    // Connexion à la base de donnée
     
    include('config_bd.php');
     
     
     
    // Vérifications des inputs
     
    if(isset($_POST['upload'])){
        move_uploaded_file($_FILES["image"]["tmp_name"],"images/" .basename($_FILES['image']['name']));
     
        $nom = htmlspecialchars($_POST['nom']);
        $image = htmlspecialchars($_FILES['image']['name']);
     
     
     
        if(empty($nom) || empty($image)){
     
            if(empty($nom)) {
                echo "<font color='red'>Le champ nom est vide.</font><br/>";
            }
     
            if(empty($image)) {
                echo "<font color='red'>Le champ image est vide.</font><br/>";
            }
     
        }else{
            $update = mysqli_query($mysqli, "UPDATE clubs SET nom='$nom',image='$image'WHERE id='$id'");
     
     
            echo "<font color='green'>L'entrée a été enregistré!.";
            echo "<br/><a href='view.php'>Consulter</a>";
     
               }
     
        }
     
     
    $id = $_GET['id'];
     
    $select = mysqli_query($mysqli, "SELECT * FROM clubs WHERE id='$id' ");
     
    while($res = mysqli_fetch_array($select)){
     
        echo "<div id='img_div'>";
        echo "<p>" .$res['nom']."</p>";
        echo "<img src='images/" .$res['image']."'>";
        echo "</div>";
    }
     
    ?>
     
    <!DOCTYPE html>
    <html lang="fr">
     
        <head>
            <meta charset="utf-8">
            <title>Titre de la page</title>
            <link rel="stylesheet" href="style1.css">
            <script src="script.js"></script>
        </head>
     
        <body>
            <form method="post" action="edit.php" enctype="multipart/form-data">
                    <input type="text" name="nom" >
     
                    <input type="file" name="image"><br /><br />
     
                    <input type="submit" name="upload" value="Upload Image">
                    <input type="hidden" name="id" value=<?php echo $_POST['id'];?>>
     
     
                </form>
     
        </body>
     
    </html>

  2. #2
    Membre actif Avatar de monaka
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Par défaut
    salut belle soirée pour toi j'espères.

    bref avec ton formulaire



    <input type="hidden" name="id" value=<?php echo $_POST['id'];?>>
    value=????

  3. #3
    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
    Dans le code que tu nous montres c'est $_GET['id'] au lieu de $_POST['id'].
    De plus le $id de la ligne 30 n'est pas défini.

    Au passage ce n'est surtout pas htmlspecialchars() qu'il faut utiliser pour la requête mais mysqli_real_escape_string()

    Pour la syntaxe du formulaire, il manque des " à la valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="id" value="<?php echo $_POST['id'];?>">
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Bonsoir à tous,

    Merci pour ton aide Sabotage, j'ai réussi !!
    Est-ce que mon code te semble être correcte ?

    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
    <?php
     
    include_once("config_bd.php");
     
    if(isset($_POST['update']))
    {   
     
        $pk_club = mysqli_real_escape_string($mysqli, $_POST['pk_club']);
        $nom_club = mysqli_real_escape_string($mysqli, $_POST['nom_club']);
        $image = mysqli_real_escape_string($mysqli, $_FILES['image']['name']);
        move_uploaded_file($_FILES["image"]["tmp_name"],"images/" .basename($_FILES['image']['name'])); 
     
        if(empty($nom_club) || empty($image)) { 
     
            if(empty($nom_club)) {
                echo "<font color='red'>Le nom est vide.</font><br/>";
            }
     
            if(empty($image)) {
                echo "<font color='red'>L'image est vide.</font><br/>";
            }       
        } else {    
     
            $result = mysqli_query($mysqli, "UPDATE clubs SET nom_club='$nom_club',image='$image' WHERE pk_club=$pk_club");
     
     
            header("Location: vue_club.php");
        }
    }
     
     
     
    $pk_club = $_GET['pk_club'];
     
     
    $result = mysqli_query($mysqli, "SELECT * FROM clubs WHERE pk_club=$pk_club");
     
    while($res = mysqli_fetch_array($result))
    {
        $nom_club = $res['nom_club'];
        $image = $res['image'];
    }
    ?>
    <html>
    <head>  
     
    </head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <body>  
     
        <form name="form1" method="post" action="edit_club.php" enctype="multipart/form-data">
            <table border="0">
                <tr> 
                    <td>Nom:</td>
                    <td><input type="text" name="nom_club" value="<?php echo $nom_club;?>"></td>
                </tr>
     
                <tr> 
                    <td>Upload:</td>
                    <td><input type="file" name="image" value="<?php echo $image;?>"></td>
     
                </tr>
     
                    <td><input type="submit" name="update" class="bouton_bleu" value="Update"></td>
                    <td><input type="hidden" name="pk_club" value=<?php echo $_GET['pk_club'];?>></td>
                </tr>
            </table>
        </form>
    </div>
    </body>
    </html>

  5. #5
    Membre actif Avatar de monaka
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Par défaut
    salut, avant de rentrer dans les détails, on est d’accord qu'a chaque rechargement de la page tes champs de formulaire n'auront valeur (value)

    aussi le php s'exécuté premièrement $_POST['pk_club'] est null, donc les requêtes avec cette condition n'aboutiront pas

    revoyons donc tout cela

    Merci pour ton aide Sabotage, j'ai réussi !!


    <input type="hidden" name="id" value="<?php echo $_POST['id'];?>">
    ligne 65

    if(empty($typeSport_club))
    attention

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/12/2014, 10h55
  2. [ImageMagick] Apposer un logo à une image en PHP - Problème de couleurs
    Par Saiyan dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 25/07/2006, 18h17
  3. Réponses: 6
    Dernier message: 14/06/2006, 22h31
  4. Afficher une image avec PHP
    Par a_zouggari dans le forum Langage
    Réponses: 2
    Dernier message: 22/04/2006, 18h02
  5. [MySQL] Déconnexion d'une B.D. Php&MySQL?
    Par Invité dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/09/2005, 11h23

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