Mise en place d'une image dans l'hebergeur [Résolu]

Signaler
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014
-
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014
-
Bonjour

J'ai fais un formulaire d'insertion de données qui vont directement dans la BDD et aussi une insertion d'image qui va dans l'hébergeur.
Le client souhaite aussi modifier c'est données et c'est plan
Donc il faut que quand je modifie les données et le plan doit se upload aussi

Donc j'ai essayer sa il m'effectue bien la modification des données mais pas l''insertion du plan dans l'hébergeur Merci D'avance

Le formulaire :


<p><center>Veuillez saisir les information suivante : </center></p>
<p><center>Attention éviter les accents et les apostrophes</center></p>

<?php

mysql_connect("", "");//Connexion a Mysql
mysql_select_db("");

$id = $_GET["idBatimentsrepertories"] ;

//requête SQL:
$sql = "SELECT Batimentsrepertories.Num, Batimentsrepertories.Type, Batimentsrepertories.SousType,Batimentsrepertories.Adresse,Batimentsrepertories.Commune, Batimentsrepertories.Groupement, Batimentsrepertories.Compagnie,Batimentsrepertories.Centre,Batimentsrepertories.CodePostal,Batimentsrepertories.Risque, Consigne.Consigne, Consigne.PlanSimple, Consigne.PlanETARE, Consigne.DateAjout, Consigne.DateMaj FROM Batimentsrepertories,Consigne WHERE Batimentsrepertories.Num = Consigne.Num AND Consigne.Num = '$id' ";


//exécution de la requête:
$requete = mysql_query($sql);


//affichage des données:
if( $result = mysql_fetch_object( $requete ) )
{
?>
<center>
<form name="insertion" action="Modification3.php" method="POST">
<center>
<table>
<input type="hidden" name="Num" value="<?php echo($id) ;?>">


<tr align="center">
<td>N°INSEE</td>
<td><input type="text" name="Num" value="<?php echo($result->Num) ;?>"></td>
</tr>
<tr align="center">
<td>Type</td>
<td><input type="text" name="Type" value="<?php echo($result->Type) ;?>"></td>
</tr>
<tr align="center">
<td>SousType</td>
<td><input type="text" name="SousType" value="<?php echo($result->SousType) ;?>"></td>
</tr>
<tr align="center">
<td>Adresse</td>
<td><input type="text" name="Adresse" value="<?php echo($result->Adresse) ;?>"></td>
</tr>
<tr align="center">
<td>Commune</td>
<td><input type="text" name="Commune" value="<?php echo($result->Commune) ;?>"></td>
</tr>
<tr align="center">
<td>Groupement</td>
<td><input type="text" name="Groupement" value="<?php echo($result->Groupement) ;?>"></td>
</tr>
<tr align="center">
<td>Compagnie</td>
<td><input type="text" name="Compagnie" value="<?php echo($result->Compagnie) ;?>"></td>
</tr>
<tr align="center">
<td>Centre</td>
<td><input type="text" name="Centre" value="<?php echo($result->Centre) ;?>"></td>
</tr>
<tr align="center">
<td>CodePostal</td>
<td><input type="text" name="CodePostal" value="<?php echo($result->CodePostal) ;?>"></td>
</tr>
<tr align="center">
<td>Risque</td>
<td><input type="text" name="Risque" value="<?php echo($result->Risque) ;?>"></td>
</tr>

<tr align="center">
<td>Consigne</td>
<td><input type="text" name="Consigne" value="<?php echo($result->Consigne) ;?>"></td>
</tr>

<tr align="center">
<td>Date d'ajout</td>
<td> <input onclick="ds_sh(this);" name="DateAjout" value="<?php echo($result->DateAjout) ;?>"
readonly="readonly" style="cursor: text" ></td>
</tr>

<tr align="center">
<td>Date de mise a jour </td>
<td><input onclick="ds_sh(this);" name="DateMaj" value="<?php echo($result->DateMaj) ;?>"
readonly="readonly" style="cursor: text" ></td>
</td>

<tr align="center">
<td>Plans simplifiées</td>

<td><input type="file" name="PlanSimple" value="<?php echo($result->PlanSimple) ;?>"/></td>
<td><a href="#?w=500" rel="popup_name" class="poplight"><?php echo ($result->PlanSimple) ;?></a></td>

</td>
</tr>

<tr align="center">
<td> Plan Etare </td>
<td><input type="file" name="PlanETARE" value="<?php echo($result->PlanETARE) ;?>"/></td>
<td><a href="#?w=500" rel="popup_name1" class="poplight"><?php echo ($result->PlanETARE) ;?></a></td>
</tr>

<tr align="center">
<td> </td>
<td><input type="submit" name="envoyer" value="Modifier"></td>
</tr>

</table>
<br>
<a href="Contenus.php" class="bouton">Retour</a>
</center>
</form>

<?php

}
?>

et Voici la page de modification et upload du plan

<?php

   mysql_connect("", "");//Connexion a Mysql
   mysql_select_db("");
 
  //récupération des valeurs des champs:
  //nom:
  $num     = $_POST["Num"] ;
  $type    = $_POST["Type"] ;
  $sous    = $_POST["SousType"] ;
  $adre    = $_POST["Adresse"] ;
  $com     = $_POST["Commune"] ;
  $grou    = $_POST["Groupement"] ;
  $comp    = $_POST["Compagnie"] ;
  $cen     = $_POST["Centre"] ;
  $code    = $_POST["CodePostal"] ;
  $risqu   = $_POST["Risque"] ;
  $consi   = $_POST["Consigne"] ;
  $dateajo = $_POST["DateAjout"] ;
  $datemaj = $_POST["DateMaj"] ;
  $plansi  = $_POST["PlanSimple"] ;
  $planet  = $_POST["PlanETARE"] ;

  //récupération de l'identifiant de la personne:
  $id      = $_POST["Num"] ;
  
<code c>
if(!empty($_POST["envoyer"]))
{

if(!empty($_FILES["PlanSimple"]))
{

$dossier = $_SERVER["DOCUMENT_ROOT"] . "/Images/";
$fichier = basename($_FILES['PlanSimple']['name']);
//$taille = filesize($_FILES['Etare']['name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.pdf');
$extension = strrchr($_FILES['PlanSimple']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = '<p><center>Vous devez uploader un fichier de type .png, .gif .jpg .jpeg .pdf </center></p>';
}
//Upload du fichier dans le file Manager de One.com
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['PlanSimple']['tmp_name'],$dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo '<p><center>Upload effectué avec succès !</center></p>';
          
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo '<p><center>Echec de l\'upload !</center></p>';
     }

}
else
{
     echo $erreur;
}
}

if(!empty($_FILES["PlanETARE"]))
{

$dossier = $_SERVER["DOCUMENT_ROOT"] . "/Images/";
$fichier1 = basename($_FILES['PlanETARE']['name']);
//$taille = filesize($_FILES['Etare']['name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.pdf');
$extension = strrchr($_FILES['PlanETARE']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = '<p><center>Vous devez uploader un fichier de type .png, .gif .jpg .jpeg .pdf </center></p>';
}
//Upload du fichier dans le file Manager de One.com
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier1 = strtr($fichier1, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier1 = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier1);
     if(move_uploaded_file($_FILES['PlanETARE']['tmp_name'],$dossier . $fichier1)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo '<p><center>Upload effectué avec succès !</center></p>';
          
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo '<p><center>Echec de l\'upload !</center></p>';
     }

}
else
{
     echo $erreur;
}
}
}


//création de la requête SQL:
 
   $sql = "UPDATE Batimentsrepertories
            SET num     = '$num'    , 
            type        = '$type'   ,
            soustype    = '$sous'   ,
            adresse     = '$adre'   ,
            commune     = '$com'    ,
            groupement  = '$grou'   ,
            compagnie   = '$comp'   ,
            centre      = '$cen'    ,
            codepostal  = '$code'   ,
            risque      = '$risqu'  
            WHERE Num   = '$id' "   ;
             mysql_query($sql);
            
    $sql = "UPDATE Consigne
          Set num    = '$num'  ,
          consigne   = '$consi' ,
          plansimple   = 'Images/$plansi' ,
          planetare   = 'Images/$planet' ,
          dateajout  = '$dateajo' ,
          datemaj    = '$datemaj'
          WHERE Num  = '$id' " ;
           mysql_query($sql);

 
 
  //affichage des résultats, pour savoir si la modification a marchée:
  if($sql == true)
  {
    echo("La modification a été correctement effectuée") ;
  }
  else
  {
    echo("La modification à échouée") ;
  }
?>



Merci d'avance

2 réponses

Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
351
Bonjour,


Déjà :
if($sql == true)

$sql contient ta requête (une chaine de caractères).... pas l'indication concernant la "bonne" réalisation de ta requête.

Il faut plutôt que tu fasses :
$result = mysql_query($sql);
$nbRows = mysql_num_rows($result);

if($nbRows >0) {

// le reste de ton code




Ensuite :
il m'effectue bien la modification des données mais pas l''insertion
Tu veux dire quoi ? Qu'il fait bien l' UPDATE mais pas l' INSERT ? ( en même temps... je ne vois pas ta requête d' INSERT )



Si ton souci se trouve dans l' INSERTION ( ou la mise à jour) des données dans la BDD... la première chose à faire est de tester la requête DIRECTEMENT dans la BDD (via PHPMyadmin ou un logiciel comme HeidiSql.) pour s'assurer qu'elle fonctionne correctement. L'as tu fait ?

Regardes ici éventuellement :
http://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql

.

Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014

J'obtient ceci

Variables POST
Array ( [Num] => 2 [Type] => [SousType] => [Adresse] => [Commune] => [Groupement] => [Compagnie] => [Centre] => [CodePostal] => 0 [Risque] => [Consigne] => [DateAjout] => 2014-06-11 [DateMaj] => 0000-00-00 [PlanSimple] => Collines.jpg [PlanETARE] => Coucher de soleil.jpg [envoyer] => Modifier )
Variables FILE
Array ( )
TEST : Envoyer : OK
La modification a été correctement effectuée
Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
351
Et donc...
Tu vois bien que FILES ne contient rien.....
Variables FILE
Array ( )
.
>Tu y avais mis une fichier ?
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014

oui , c'étais Colline.jpg et Coucher de soleil.jpg
Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
351
Que tu as mis depuis ton PC (en faisant parcourir) ou bien qui se sont affichés ( via le ECHO que tu as mis dans Value ) car déjà présents dans ta BDD ?
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014

Je les ais mis depuis le pc en faisant parcourir
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014

J'ai même tenté de mettre tous sur la même pages mais toujours rien
La variable File contient toujours rien.
Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
351
Tu as oublié de mettre ça dans ton <FORM

enctype="multipart/form-data"
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014

c'est ce que j'étais entrein de regarder oui sa marche le upload dans l'hébergeur le souci c'est que sa me remplace pas le nom de l'image dans la table
je recherche pourquoi

J'ai comme sortie ceci

Variables POST
Array ( [Num] => 231 [Type] => fsd [SousType] => fsdfsdfs [Adresse] => sfsd [Commune] => [Groupement] => [Compagnie] => [Centre] => [CodePostal] => 0 [Risque] => sfsdf [Consigne] => fdsf [DateAjout] => 2014-06-12 [DateMaj] => 2014-06-18 [envoyer] => Modifier )

Variables FILE
Array ( [PlanSimple] => Array ( [name] => Collines.jpg [type] => image/jpeg [tmp_name] => /customers/0/f/a/sdis84000.fr/tmp/phpNRVt6s [error] => 0 [size] => 28521 ) [PlanETARE] => Array ( [name] => Coucher de soleil.jpg [type] => image/jpeg [tmp_name] => /customers/0/f/a/sdis84000.fr/tmp/phpKQaVGt [error] => 0 [size] => 71189 ) )
TEST : Envoyer : OK

Upload effectué avec succès !

Upload effectué avec succès !
Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
351
oui sa marche le upload dans l'hébergeu
OK. (donc la question initiale est résolue ? ... pense à clore le sujet en cliquant sur le lien "Marquer comme résolu" sous le titre de ta question.)

le souci c'est que sa me remplace pas le nom de l'image dans la table
C'est une "nouvelle" question.
Il te faudra ouvrir une nouvelle discussion.
Mais déjà.. tu peux ajouter des Echo sur tes variables $sql pour voir à quoi ressemblent les requêtes générées dans ton code.... puis à les tester directement dans ta BDD pour voir pourquoi ça ne fonctionne pas.
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014

D'accord merci pour l'aide je vais déja test sa
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014

C'est bon la modification s'établi me suis mélange les variables
Merci