Mise en place d'une image dans l'hebergeur

Résolu
Cocob84
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014
- Modifié par jordane45 le 11/06/2014 à 09:50
Cocob84
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014
- 12 juin 2014 à 11:44
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

jordane45
Messages postés
35765
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 juin 2022
358
11 juin 2014 à 09:58
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

.

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

11 juin 2014 à 10:15
D'accord pour le if (sql=true)

"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 )"

Update fonctionnel niquel
Se qu'il fonctionne pas c'est la mise en place de l'image dans l'hebergeur peut étre mal placées dans mon code c'est ici que je bloque

Merci d'avance
0
jordane45
Messages postés
35765
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 juin 2022
358
11 juin 2014 à 10:26
Se qu'il fonctionne pas c'est la mise en place de l'image dans l'hebergeur peut étre mal placées dans mon code c'est ici que je bloque
Dans ce cas... pourquoi nous mettre les requêtes d'UPDATE ( et même... tout ce code....).


Peux tu nous mettre UNIQUEMENT le code qui te pose problème ?

Au passage...
- As tu essayé de mettre des ECHO sur tes variables pour vérifier si elles correpondent à tes attentes ??
- As tu des messages d'erreurs ?
- Tes répertoires ont ils les droits nécéssaires ?
0
Cocob84
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014

11 juin 2014 à 10:40
Oui

J'ai essayer des ECHO sur les variable comme $dossier ou encore $extension il me sort aucune valeur
j'ai aucune message d'erreur
Mais répertoires on les droits nécessaire

et le code qui pose problème et celui ci
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;
}
}
}
0
jordane45
Messages postés
35765
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 juin 2022
358
11 juin 2014 à 11:22
Et est-ce que tu as les messages :
        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>';
     }


Apparaissent ils à l'écran ?
Tu as lequel ?
0
Cocob84
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014

11 juin 2014 à 13:19
Rebonjour

j'ai aucun des deux message
0
Cocob84
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014

12 juin 2014 à 09:45
J'ai même tenté de mettre tous sur la même pages mais toujours rien
La variable File contient toujours rien.
0
jordane45
Messages postés
35765
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 juin 2022
358
12 juin 2014 à 10:09
Tu as oublié de mettre ça dans ton <FORM

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

Modifié par Cocob84 le 12/06/2014 à 10:33
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 !
0
jordane45
Messages postés
35765
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 juin 2022
358
12 juin 2014 à 10:33
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.
0
Cocob84
Messages postés
38
Date d'inscription
mercredi 10 octobre 2012
Statut
Membre
Dernière intervention
23 juin 2014

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

Modifié par Cocob84 le 12/06/2014 à 11:44
C'est bon la modification s'établi me suis mélange les variables
Merci
0