Forum Rover MG Communauté Francophone

  • 28 Avril 2024, 02:17:13
  • Bienvenue, Invité
Merci de vous connecter ou de vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session

Auteur Sujet: question php pour rover820i  (Lu 4214 fois)

max

  • Administrateur
  • *
  • Évaluation: +31/-0
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 17682
  • Groupe des Dictateurs Admins Rover/MG
question php pour rover820i
« le: 02 Avril 2004, 10:26:04 »

voila je t'ecris parce que j'ai un problème.
dans un de mes sites j'ai un module de téléchargements por mon CMS et j'ai un problème.
en gros je mets la description de mon dl, le titre et sois je peux uploader le fichier par IE, soit je peux donner une URL direct si j'ai déjà uploadé le fichier (http...)
ensuite en bas de page je peux mettre une image de preview que en uploadant l'image de mon disque dur, or j'aimerais qu'il me donne la possibilité comme le fichier en dl de rentrer une URL (http...jpg)

<?php

//--------------
//identification
//--------------

   
session_start&#40;&#41;;
   
if &#40;!session_is_registered&#40;SESSION_USER&#41;&#41; &#123;
     
header&#40;"Location&#58; ../outils/erreur.php?ec=2"&#41;;
     
exit&#40;&#41;;
   
&#125;


/*****************************************************************************************
                        Artiphp 2.0.0 - module download
               copyright &#58; Ronald Guérin - webmaster@artiloo.com
                            http&#58;//www.artiloo.com
                      Dernière mise à jour &#58; 13 novembre 2003
******************************************************************************************/

/*****************************************************************************************
 Artiphp, portail CMS pour la création de sites dynamiques 

 Copyright &#40;C&#41; 2003 Ronald Guérin - webmaster@artiloo.com 

 Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier 
 conformément aux dispositions de la Licence Publique Générale GNU, telle que publiée 
 par la Free Software Foundation ; version 2 de la licence, ou encore &#40;à votre choix&#41; 
 toute version ultérieure. 

 Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; 
 sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION A UN OBJET PARTICULIER. 
 Pour plus de détail, voir la Licence Publique Générale GNU . 

 Vous devez avoir reçu un exemplaire de la Licence Publique Générale GNU en même temps que 
 ce programme ; si ce n'est pas le cas, écrivez à la Free Software Foundation Inc., 
 675 Mass Ave, Cambridge, MA 02139, Etats-Unis. 

 Pour plus d'informations sur Artiphp &#58;
 http&#58;//www.artiloo.com - webmaster@artiloo.com
******************************************************************************************/
error_reporting&#40;0&#41;;

//----------------------------------------------------------------------
//autorisation d'ouverture de cette page uniquement aux status autorisés
//----------------------------------------------------------------------

   
if &#40;$SESSION_STATUT!="artadmin"&#41; &#123;  
     
header&#40;"Location&#58; ../outils/erreur.php?ec=2"&#41;;
     
exit&#40;&#41;;
   
&#125;


//connection à la base
//--------------------
 
include&#40;"../artzone/connect.php"&#41;;
 
include&#40;"../artzone/menumod.php"&#41;;
 
include&#40;"../outils/identification2.php"&#41;;   //  zone membre
 
include&#40;"../outils/foncpost2.php"&#41;;
//------------------------------------------------

   
$requete="select nomCategorie from ".$extension."categorieDown where id_categorie=$categorie";
   
$result=mysql_query&#40;$requete, $link&#41;;
   
$catvisu=mysql_fetch_object&#40;$result&#41;;
   
$catvisu->nomCategorie stripslashes&#40;$catvisu->nomCategorie&#41;;

   
$modif="Ajoutez un nouveau Fichier dans la categorie &#58; <br><font size=\"2\" style=\"color&#58;red\">".$catvisu->nomCategorie."</font>";
   
$datedossierdate &#40;"y-m-d H&#58;i&#58;s"&#41;;
   
$datevisibledate &#40;"d/m/Y"&#41; ;


//--------------------------------
//affichage des données a modifier
//--------------------------------

  
if &#40;$id_download&#41; &#123;
   
$requete="select * from ".$extension."download where id_download=$id_download";
   
$result=mysql_query&#40;$requete, $link&#41;;
   
$dossier=mysql_fetch_object&#40;$result&#41;;
   
$modif="Modifiez le fichier &#58; <font style=\"color&#58;red\"> ".$dossier->titreDownload."</font> du <font style=\"color&#58;red\">" .$dossier->dateDownvis."</font>  dans la categorie &#58; <br><font  style=\"color&#58;red\" size=\"2\">".$catvisu->nomCategorie."</font>";

    
/****suivant le traitement de texte &#40;Ie ou NS&#41;***********/
    
if&#40;$nav=='2'&#41; &#123;
   
$dossier->texteDownload=eregi_replace&#40;'<br[[&#58;space&#58;&#93;&#93;*/?[[&#58;space&#58;&#93;&#93;*>', "", $dossier->texteDownload&#41;;
    
&#125;
    /********************************************************/
      
$dossier->chapoDownload=eregi_replace&#40;'<br[[&#58;space&#58;&#93;&#93;*/?[[&#58;space&#58;&#93;&#93;*>', "", $dossier->chapoDownload&#41;;

  // decodage du texte
  
$dossier->titreDownload stripslashes&#40;$dossier->titreDownload&#41;;
  
$dossier->chapoDownload stripslashes&#40;$dossier->chapoDownload&#41;;
  
$dossier->texteDownload stripslashes&#40;$dossier->texteDownload&#41;;
  //------------------

     
if &#40;$dossier->imgDownload !=""&#41; &#123;
     
$formphoto="Image actuelle &#58; <br>";
     
$formphoto .="<img src=\"../images/".$dossier->imgDownload."\"></p>"
     
$formphoto .="Changer d'image<br>";
     &
#125;
  
&#125;


   //----------------------------------------------------
   //upload du fichier
   //------------------
   
if &#40;$fichier !=""&#41;&#123;
     // Security &#40;phpSecure.info&#41;
     
if &#40; &#40;isset&#40;$_REQUEST["fichier_type"&#93;&#41;&#41; OR &#40;isset&#40;$_REQUEST["fichier_name"&#93;&#41;&#41; &#41;&#123;
     
die&#40;"<br>"&#41;;
     
&#125;
     // End
     
$repfichier "../download/down/";
     
$tabTypeFichier split &#40;"/", $fichier_type&#41;;
     
$typeFichier $tabTypeFichier[1&#93;;

     
if &#40;$typeFichier != "x-zip-compressed" && $typeFichier != "octet-stream"&#41; &#123;
         
$meserreur10 ="<br>Votre fichier image n'est pas un format reconnu &#40;zip, rar&#41;";


     &
#125; else &#123;
         
$nomfichier "".$fichier_name."";
         
$destination "../download/down/".$nomfichier."";

         if &
#40;! move_uploaded_file &#40;$fichier, $destination&#41;&#41; &#123;
            
$meserreur10 ="<br>Votre fichier n'a pu être transféré !";
         &
#125; else &#123;
            
header&#40;"Location&#58; downloadsaisie.php"&#41;;
            
exit&#40;&#41;;
         
&#125;
    
&#125;
   
&#125;
   //-----------------------------------------------------

   //visualisation des fichiers du dossier down
   //-----------------------------------------------------
   
if &#40;$dossier->lienDownload&#41; &#123;
   
$selected="selected";
   
$auteurselect[$dossier->lienDownload&#93;=$selected;
   
&#125;
     
$page.="<select name=\"lien\" size=\"1\">\n";

$handle=opendir&#40;"../download/down/"&#41;;
        
while &#40;false!==&#40;$file = readdir&#40;$handle&#41;&#41;&#41; &#123;
         
if&#40;&#40;$file != ".."&#41; && &#40;$file != "."&#41;&#41; 
 &#123;
         
$page.="<option value=\"".$file."\"  ".$auteurselect[$file&#93;.">".$file."</option>\n";
         
&#125;
        
&#125;
     
$page.="</select>\n";
   
//-----------------------------------------------------


//--------------------
//formulaire de saisie
//--------------------
   //------------------
   //upload de la photo
   //------------------
   
if &#40;$image !=""&#41;&#123;
     // Security &#40;phpSecure.info&#41;
     
if &#40; &#40;isset&#40;$_REQUEST["image_type"&#93;&#41;&#41; OR &#40;isset&#40;$_REQUEST["image_name"&#93;&#41;&#41; &#41;&#123;
     
die&#40;"<br>"&#41;;
     
&#125;
     // End
     
$repimage "../images/";
     
$tabTypeImage split &#40;"/", $image_type&#41;;
     
$typeImage $tabTypeImage[1&#93;;

     
if &#40;$typeImage != "pjpeg" && $typeImage != "x-jpeg" && $typeImage != "jpeg" && $typeImage != "gif" && $typeImage != "x-png"&#41; &#123;
         
$meserreur2 ="<br>Votre fichier image n'est pas un format reconnu &#40;jpg, png ou gif&#41;";
         
$insertimage=="";

     &
#125; else &#123;
         
$nomimage "".$image_name."";
         
$destination "../images/".$nomimage."";

         if &
#40;! move_uploaded_file &#40;$image, $destination&#41;&#41; &#123;
            
$meserreur2 ="<br>Votre fichier image n'a pu être transféré !";
            
$insertimage=="";
         &
#125; else &#123;
            
$insertimage=", imgDownload='$nomimage' ";
         &
#125;
    
&#125;
   
&#125;
   //-------------------------

 /*si un champ n'est pas renseigné, message d'erreur*/

  
if &#40;! $titre || ! $texte || ! $categorie || ! $choix || &#40;! $lien && ! $lien2&#41;&#41; &#123;
   
$meserreur="<font style=\"color&#58;red\"><br>les champs sont obligatoires, sauf l'image</font>";
  
 
/*si on recupere id_download, c'est une mise à jour*/

  
&#125; elseif &#40;$id_download&#41; &#123;  

   /*******************************************/
   
if &#40;$nav=='2'&#41; &#123;
     
$texte nl2br&#40;$texte&#41;;
   
&#125;
   /*******************************************/
     
$titre nl2br&#40;$titre&#41;;
     
$chapo nl2br&#40;$chapo&#41;;
     
$texte doscode&#40;$texte&#41;;

  
$titre addslashes&#40;$titre&#41;;
  
$chapo addslashes&#40;$chapo&#41;;
  
$texte addslashes&#40;$texte&#41;;

  
if &#40;$choix=="1"&#41; &#123;
   
$requete="update ".$extension."download set titreDownload='$titre', dateDownload='$datedossier', chapoDownload='$texte', lienDownload='$lien', id_cat='$categorie', dateDownvis='$datevisible$insertimage where id_download='$id_download'";
  &
#125; else &#123;
   
$requete="update ".$extension."download set titreDownload='$titre', dateDownload='$datedossier', chapoDownload='$texte', lienDownload='$lien2', id_cat='$categorie', dateDownvis='$datevisible$insertimage where id_download='$id_download'";
  &
#125;

   
$result=mysql_query&#40;$requete, $link&#41;;
   
$titre="";
   
$lien="";
   
$datedownload="";
   
$texte="";
   
$image="";
   
header &#40;"Location&#58;downloadconfirm.php?categorie=$categorie"&#41;;

 /*sinon, c'est un ajout*/
  
  
&#125; else &#123;

  
$titre addslashes&#40;$titre&#41;;
  
$chapo addslashes&#40;$chapo&#41;;
  
$texte addslashes&#40;$texte&#41;;
  
$texte doscode&#40;$texte&#41;;

   /*******************************************/
   
if &#40;$nav=='2'&#41; &#123;
     
$texte nl2br&#40;$texte&#41;;
   
&#125;
   /*******************************************/

     
$titre nl2br&#40;$titre&#41;;
     
$chapo nl2br&#40;$chapo&#41;;

  
if &#40;$choix=="1"&#41; &#123;
   
$requete="INSERT into ".$extension."download set titreDownload='$titre', dateDownload='$datedossier', dateDownvis='$datevisible', chapoDownload='$texte', lienDownload='$lien', id_cat='$categorie'$insertimage";
  &
#125; else &#123;
   
$requete="INSERT into ".$extension."download set titreDownload='$titre', dateDownload='$datedossier', dateDownvis='$datevisible', chapoDownload='$texte', lienDownload='$lien2', id_cat='$categorie'$insertimage";
  &
#125;

   
$result=mysql_query&#40;$requete, $link&#41;;
   
$titre="";
   
$lien="";
   
$datedownload="";
   
$texte="";
   
$image="";
   
header &#40;"Location&#58;downloadconfirm.php?categorie=$categorie"&#41;;

  
&#125; 


//---------------------------------------------------------------------------
mysql_free_result&#40;$result&#41;;
//---------------------------------------------------------------------------

//---------------
//champ categorie
//---------------
  
if &#40;$dossier->id_cat&#41; &#123;
  
$selected="selected";
  
$lieuselect[$dossier->id_cat&#93;=$selected;
  
&#125;
   
$listecat.="<select name=\"categorie\" size=\"1\">\n";

   
$requete="select nomCategorie, id_categorie, id_parentcat from ".$extension."categorieDown where id_parentcat='0'";
   
$result=mysql_query&#40;$requete, $link&#41;;
   
while &#40;$cat=mysql_fetch_object&#40;$result&#41;&#41; &#123;
    
$cat->nomCategorie stripslashes&#40;$cat->nomCategorie&#41;;

    
$listecat.="<option value=\"".$cat->id_categorie."\"   ".$lieuselect[$cat->id_categorie&#93;.">".$cat->nomCategorie."</option>\n";
    
$sscat=$cat->id_categorie;
      
$requete="select * from ".$extension."categorieDown where id_parentcat=$sscat order by id_parentcat desc";
      
$result2=mysql_query&#40;$requete, $link&#41;;
      
while &#40;$cat=mysql_fetch_object&#40;$result2&#41;&#41; &#123;
      
$cat->nomCategorie stripslashes&#40;$cat->nomCategorie&#41;;

       
$listecat.="<option value=\"".$cat->id_categorie."\"  ".$lieuselect[$cat->id_categorie&#93;."> - ".$cat->nomCategorie."</option>\n";
      
&#125;

//---------------------------------------------------------------------------
mysql_free_result&#40;$result2&#41;;
//---------------------------------------------------------------------------

   
&#125;
   
$listecat.="</select></p>\n";



//------------
//mise en page
//------------

$milieu="$menumodule";

$milieu .="<p><b><font size=\"2\" color=\"red\">la Gestion des downloads </font></b> [ <a href=\"downloadindex.php\">Accueil download</a> &#93;<br><hr size=\"1\" color=\"#000080\">\n";


// possibilité de download
$milieu .="<b>Télécharger votre fichier vers votre site</b> &#40;extensions reconnues &#58; zip, rar&#41;\n";
$milieu .="$meserreur10<br>\n";

$milieu .="<form action=\"downloadsaisie.php\" method=\"POST\" enctype=\"multipart/form-data\">\n";
$milieu .="$imgform<br>\n";
//$milieu .="<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"1500000\">\n";
$milieu .="<input name=\"fichier\" type=\"file\" size=\"50\"><br>\n";
$milieu .="<input type=\"submit\" value=\"Envoyer\" name=\"B1\"></p>\n";
$milieu .="</form><hr size=1>\n";
//-----------------------------


$milieu .="<p><form NAME=\"form\" method=\"POST\" action=\"downloadsaisie.php\" enctype=\"multipart/form-data\">\n";
$milieu .="<p><strong>$modif</strong>".$meserreur."".$meserreur2."</p><p>\n";

$milieu .="<b>Categorie</b><br>\n";
$milieu .="$listecat<br>\n";

$milieu .="<b>Nom</b><br>\n";
$milieu .="<input type=\"text\" name=\"titre\" value=\"".$dossier->titreDownload."".$titre."\" size=\"50\"></p><p>\n";

/***************************************************/
/** zone de texte **********************************/
/***************************************************/
  
$nomtxt="<b>Description du fichier</b>"// nom de la textearea
  
$texte="$dossier->chapoDownload"// affichage de texte dans le textearea
  
$lienNS="downloadsaisie.php?id_download=$dossier->id_download&nav=2";  // lien vers editeur netscape
  
$lienIE="downloadsaisie.php?id_download=$dossier->id_download";  // lien vers editeur internet explorer

  
include&#40;"../outils/foncpost10.php"&#41;;
  
$milieu .="<br>$menu";

/***************************************************/


$milieu .="<input type=\"radio\" name=\"choix\" value=\"1\" checked> \n";
$milieu .="<b>Sélectionner le fichier sur votre site</b><br>\n";
$milieu .="&&&&&&&&\n";
$milieu .="$page<p>\n";

$milieu .="<input type=\"radio\" name=\"choix\" value=\"2\"> \n";
$milieu .="<b>Fichier externe à votre site</b> <br>&#40;http&#58;//www.site.com/chemin/nom_fichier.ext&#41;<br>\n";
$milieu .="&&&&&&&&\n";
$milieu .="<input type=\"text\" name=\"lien2\" value=\"".$dossier->lienDownload."".$lien2."\" size=\"50\"></p><p>\n";

$milieu .="<b>Image de présentation </b><br>\n";
$milieu .="$formphoto\n";
$milieu .="<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"150000\">\n";
$milieu .="<input name=\"image\" type=\"file\" size=\"50\" value=\"$image\" ><br>\n";

$milieu .="<input type=\"hidden\" name=\"id_download\" value=\"$dossier->id_download\">\n";
$milieu .="<input type=\"hidden\" name=\"datedownload\" value=\"$dossier->dateDownload\">\n";
$milieu .="<input type=\"hidden\" name=\"nav\" value=\"$nav\">\n";
$milieu .="<input type=\"submit\" value=\"Envoyer\" name=\"B1\">\n";
$milieu .="<input type=\"reset\" value=\"Effacer\" name=\"B2\"></p>\n";
$milieu .="</form>\n";

 include&
#40;"../artzone/modulelien.php"&#41;; //module de gestion de lien

//------------
//le template
//------------

 
include&#40;"../templates/temp$SESSION_SKIN.html"&#41;; 
 
echo $arti;
mysql_close&#40;&#41;;
?>
IP archivée

Rover820i

  • Administrateur
  • *
  • Évaluation: +821/-21
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 83254
  • Groupuscule des admins méchants et terrifiants
question php pour rover820i
« Réponse #1 le: 02 Avril 2004, 12:28:44 »

Ca demande plusieurs modifications :

- Ajouter un champ dans ta base de données (champ url_compl_img)
- Modifier la requête d'affichage des des fichiers dans la partie publique (rajouter, dans le SELECT, tout à la fin avant le FROM, le champ "url_compl_img")
- Modifier ton script d'upload, en ajoutant un champ texte du type :
<input type="text" name="url_compl_img">
- Modifier les requêtes d'insertion / modification de ta partie ADMIN afin de prendre en compte la possibilité de saisir un URL complet.

Comme c'est du code préfabriqué ça peut être un peu chaud mais c'est faisable.

En fait les requêtes de la partie ADMIN sont celles-ci :

 if ($choix=="1") {
   $requete="update ".$extension."download set titreDownload='$titre', dateDownload='$datedossier', chapoDownload='$texte', lienDownload='$lien', id_cat='$categorie', dateDownvis='$datevisible' $insertimage where id_download='$id_download'";
  } else {
   $requete="update ".$extension."download set titreDownload='$titre', dateDownload='$datedossier', chapoDownload='$texte', lienDownload='$lien2', id_cat='$categorie', dateDownvis='$datevisible' $insertimage where id_download='$id_download'";
  }

pour la modification et

 if ($choix=="1") {
   $requete="INSERT into ".$extension."download set titreDownload='$titre', dateDownload='$datedossier', dateDownvis='$datevisible', chapoDownload='$texte', lienDownload='$lien', id_cat='$categorie'$insertimage";
  } else {
   $requete="INSERT into ".$extension."download set titreDownload='$titre', dateDownload='$datedossier', dateDownvis='$datevisible', chapoDownload='$texte', lienDownload='$lien2', id_cat='$categorie'$insertimage";
  }


Voila après il suffit d'ajouter le champ là où il faut dans cette page (en dessous de la partie
/***************************************************/
/** zone de texte **********************************/
/***************************************************/


modifier l'affichage partie visiteur et ça devrait être bon.
IP archivée
Points : 3

max

  • Administrateur
  • *
  • Évaluation: +31/-0
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 17682
  • Groupe des Dictateurs Admins Rover/MG
question php pour rover820i
« Réponse #2 le: 02 Avril 2004, 12:33:18 »

je suis peut etre chiant mais t'a pas un fichier install.php a exécuter pour creer la table ?

signé: le relou  8)
merci a toi c'est sympa
IP archivée

max

  • Administrateur
  • *
  • Évaluation: +31/-0
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 17682
  • Groupe des Dictateurs Admins Rover/MG
question php pour rover820i
« Réponse #3 le: 02 Avril 2004, 13:26:27 »

Citer
- Modifier la requête d'affichage des des fichiers dans la partie publique (rajouter, dans le SELECT, tout à la fin avant le FROM, le champ "url_compl_img")

par exemple la je comprends pas  :oops:
je suis trop nul, et ma base SQL je veux pas y toucher pour pas foutre tout en l'air
et aussi je ne comprends pas pourquoi j'irais toucher a quelque chose dans la partie visiteur puisque cette page est dans la partie admin ??
excuze je rame total en PHP
IP archivée

max

  • Administrateur
  • *
  • Évaluation: +31/-0
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 17682
  • Groupe des Dictateurs Admins Rover/MG
question php pour rover820i
« Réponse #4 le: 02 Avril 2004, 14:46:13 »

j'y arrive pas, je verrais ca lundi...
IP archivée

Rover820i

  • Administrateur
  • *
  • Évaluation: +821/-21
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 83254
  • Groupuscule des admins méchants et terrifiants
question php pour rover820i
« Réponse #5 le: 02 Avril 2004, 18:17:43 »

Bé en fait, si tu veux pouvoir ajouter une photo directement à partir d'un URL (sans upload par le script, donc), t'es obligé de modifier ta base de données (et par conséquent, tes scripts PHP) afin de prendre en compte une nouvelle donnée qui est l'URL complet vers ton image. Tu ne peux pas le faire avec le script de base (car le script de base utilise uniquement un nom de fichier et pas un chemin complet)

Pour la partie visiteur, il faut que tu modifies pour prendre en compte justement le nouveau champ de ta base de données, dans lequel tu stockes la fameuse nouvelle adresse.

Je connais pas du tout ce portail préfabriqué donc c'est, à mon avis, la solution la plus envisageable. En fait, ce qu'il faudrait que tu fasses, c'est que tu ouvres un autre compte chez Free, hébergement et base de données, puis que tu y mettes tout ce script avec la BDD, que tu la modifies, modifie également les scripts PHP (visiteur et admin), et que tu testes. Si ça marche, tu pourras appliquer les modifications à ta base de données sur ton site, et envoyer directement les scripts PHP modifiés vers ton site.

C'est pas facile-facile, c'est sûr, surtout quand on ne connait pas beaucoup le langage. Mais faut dire aussi que le code de ce portail, c'est une vraie usine à gaz.
IP archivée
Points : 3

max

  • Administrateur
  • *
  • Évaluation: +31/-0
  • Hors ligne Hors ligne
  • Sexe: Homme
  • Messages: 17682
  • Groupe des Dictateurs Admins Rover/MG
question php pour rover820i
« Réponse #6 le: 02 Avril 2004, 19:15:53 »

ok tu paux juste me redonner le fichier complet modifié stp et je vais creer la ligne moi meme, après c'est bon nan ?
IP archivée