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 :

Formulaire de modification et vérification de variables


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut Formulaire de modification et vérification de variables
    Bonjour,

    Dans mon fichier "formulaire.php" on peut télécharger des images qui vont servir au formulaire de modification des données "modification.php)
    Les noms d'images téléchargée dans le formulaire sont récupérée sous forme de variables : $image1, $image2, $image3 ect...

    Le problème c'est que l'on n'est pas obligé dans le formulaire de vouloir télécharger et donc modifier les 3 images et dans ce cas, par exemple, si on en télécharge qu'une, les deux autres apparaitront vides dans modification.php, alors qu'elles devraient rester comme elles étaient enregistrée dans la base.

    Voilà le code de ma page
    modification.php
    (pour simplifier je n'ai mis dans l'exemple qu'une image: $image1)
    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
     
    <?php
         include('connect.php');
         $test=$_GET['id'];     
     
         $lalala="SELECT * FROM Agence_immobiliere WHERE Identifiant ='$test'";
     
         $resultat=mysql_query($lalala,$bd);
     
         $maligne=mysql_fetch_array($resultat);
     
        echo (" Image 1 : ".$maligne['Image1']." ");
     
    ?>
    <?php
    foreach ($_FILES["pictures"]["error"] as $key => $error) {
        if ($error == UPLOAD_ERR_OK) {
            $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
            ${'image'.$key} = $_FILES["pictures"]["name"][$key];
            move_uploaded_file($tmp_name, "Imagesagence/".${'image'.$key});
        }
    }
    ?> 
    <?php
    for ($i=1; $i>=3; $i++) {
            echo '-'.$i.' : le fichier '.${'image'.$i}.' a été enregistré<br>';
    }
    ?> 
     
    <?php
     
    echo' <form name="insertion" action="modification5.php" method="POST" ENCTYPE="multipart/form-data">';
    echo '<input type="hidden" name="id" value="'.$id.'"> ' ;
    echo'   <table border="1" align="left" cellspacing="2" cellpadding="2" width="900">';
     
    echo' <tr align="center">';
    echo'      <td>Image 1 : </td>';
     
     
    echo'      <td>'.$image1.'<br>';
    echo'      <input type="text" name="image1" value="'.$image1.'"></td>';
     
    echo'       <td></br>';
    echo'      <td><img src=/scripts/timthumb.php?src=Imagesagence/'.$image1.' &h=100&w=YY&zc=1/></td>';
    echo'   </tr>';
    echo'        <tr align="center">';
    echo'       <td colspan="2"><input type="submit" value="modifier"></td>';
    echo'       </tr>';
    echo'     </table>';
    echo'    </form> ';
    ?>
    Je pense à faire, dans modification.php, une requête du style:
    si $image1 n'est pas vide: afficher dans le formulaire de modification la valeur:
    $image1
    et sinon, la valeur:
    $maligne['Image1'] (qui correspond à ce qui se trouvait dans la base).
    Mais je ne sais pas trop où et comment mettre ça?
    Merci beaucoup par avance pour votre aide

  2. #2
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut
    Au niveau de formulaire de modification (modification.php) j'ai essayé:
    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
     
    <?php
     
    echo' <form name="insertion" action="modification5.php" method="POST" ENCTYPE="multipart/form-data">';
    echo '<input type="hidden" name="id" value="'.$id.'"> ' ;
    echo'   <table border="1" align="left" cellspacing="2" cellpadding="2" width="900">';
     
    echo' <tr align="center">';
    echo'      <td>Image 1 : </td>';
     
    if (isset($image1))
      {
        if (empty($image1))
            echo 'La variable est vide';
     
    echo'      <td>'.$maligne['Image1'].'<br>';
    echo'      <input type="text" name="image1" value="'.$maligne['Image1'].'"></td>';  
    echo'       <td></br>';
    echo'      <td><img src=/scripts/timthumb.php?src=Imagesagence/'.$maligne['Image1'].' &h=100&w=YY&zc=1/></td>';
     
    else
            echo 'La variable n'est pas vide';
    
    echo'      <td>'.$image1.'<br>';
    echo'      <input type="text" name="image1" value="'.$image1.'"></td>';  
    echo'       <td></br>';
    echo'      <td><img src=/scripts/timthumb.php?src=Imagesagence/'.$image1.' &h=100&w=YY&zc=1/></td>';
          
    echo'        <tr align="center">';
    echo'       <td colspan="2"><input type="submit" value="modifier"></td>';
    echo'       </tr>';
    echo'     </table>';
    echo'    </form> ';
    
    ?>
    j'ai essayé un truc du genre si la variable $image1 n'est pas vide afficher le formulaire avec elle, sinon afficher le formulaire avec les données déjà présentes dans la base: $maligne['Image1'].

    Mais quand j'essai ça, ça me réponds une erreur de syntaxe, comme quoi le else est mal plaçé:
    syntax error, unexpected T_ELSE

    Quelqu'un verrait comment modifier ça?

    Merci

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    1/ les accolades NE sont PAS facultatives quand plusieurs instructions doivent être exécutées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        if (empty($image1))
        {
            //... (plusieurs lignes d'instructions)
        } else {
            //...
        }
    2/ il manque un échappement (anti-slash) ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            echo 'La variable n\'est pas vide';
    3/ DANS LE PRINCIPE (ET DANS L'ORDRE d'écriture du code) de traitement + formulaire sur la même page :
    A/ PHP : Si le formulaire est posté
    => traitement du formulaire, enregistrement en BdD,...
    B/ NOUVELLE requête en BdD (pour pouvoir afficher les données UPDATEES)
    C/ Affichage du formulaire
    Ce qui signifie que ton code est mal conçu.
    Le test correct devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if($maligne['Image1']!='') {
      // on affiche l'image <img...>
      // input file (pour modifier)
      // case à cocher (pour supprimer)
    } else {
      // input file (pour ajouter)
    }
    Normalement, il faudrait tester l'existence du fichier dans le dossier => && is_file(...), mais vu que tu utilise un fichier externe timthumb.php...
    Dernière modification par Invité ; 08/05/2012 à 13h21.

  4. #4
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut
    ok ça roule!

    Merci bcp pour tes précieux conseils
    !

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

Discussions similaires

  1. [PHP 5.3] vérification de champs et avertir dans le formulaire de modification
    Par Claudine dans le forum Langage
    Réponses: 5
    Dernier message: 27/02/2014, 11h07
  2. Formulaire et modifications
    Par climz dans le forum IHM
    Réponses: 7
    Dernier message: 24/05/2006, 09h19
  3. Autant de formulaires que la valeur d'une variable
    Par suolan dans le forum Langage
    Réponses: 5
    Dernier message: 12/05/2006, 15h16
  4. problème sur un formulaire de modification
    Par puppusse79 dans le forum Access
    Réponses: 13
    Dernier message: 14/04/2006, 16h48
  5. Réponses: 3
    Dernier message: 24/02/2005, 16h48

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