par
kweb » 26 févr. 2007, 16:56
A priori il faudrait que tu test si le champ chemin_pdf_agenda est renseigné ou non. S'il est vide tu propose l'invite de saisie d'un fichier (et tu gère l'upload en cas de modif), s'il est renseigné tu propose le bouton de suppression.
Ok, je pense avoir écrit la bonne syntaxe pour faire cela
<?
$fichier_PDF = $affichage['chemin_pdf_agenda']; // Création d'un variable
if (!empty($fichier_PDF)) // SI la variable $fichier_PDF ne contient pas (!) de valeur
{ ?>
<a href=<? $affichage['chemin_pdf_agenda'] ?> ><? echo $affichage['nom_pdf_agenda']?></a>
<input type="button" name="Submit26" value="Supprimer le fichier PDF">
<? }
else // SINON
{ ?>
<input type="hidden" name="MAX_FILE_SIZE" value="4194304" />
<input name="PDF" type="FILE" id="PDF" />
Ensuite, j'insère la syntaxe qui vas me permettre d'uploadé le fichier PDF dans le cas ou la condition est : ELSE
<?
else // SINON
{ ?> <? // Fichier qui vas uploder tout les elements du formulaire et le PDF
include ("../include/update_upload.inc.php"); ?>
<input type="hidden" name="MAX_FILE_SIZE" value="4194304" />
<input name="PDF" type="FILE" id="PDF" /><span class="clignotant">
le code de update_upload.inc.php
<?php
// UPLOAD DE FICHIER
/*
****************************************************************
* VERIFICATION AVANT UPLOAD *
****************************************************************
*/
if(isset($_FILES['PDF'])) // si la variable PDF existe
{
// paramettre
unset($erreur); // Detruire la variable $erreur (ne pas affiché la variable)
$extensions_ok = array('pdf'); // Autorisé juste les fichiers PDF
$taille_max = 4194304; // avec un poid MAXIMUM de 4Mo (1Mo = 1000000)
$dest_dossier = 'PDF_programme/'; // Chemin du dossier qui vas recevoir les PDF... utilisez également des slashes sous windows : $dest_dossier = 'd:/damien/photos/';
// vérifications
if( !in_array( substr(strrchr($_FILES['PDF']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Seul les fichiers au <strong>format PDF<strong/> sont accepté, veuillez recommencer !';
}
elseif( file_exists($_FILES['PDF']['tmp_name'])and filesize($_FILES['PDF']['tmp_name']) > $taille_max)
{
$erreur = 'Le fichier ne doit pas dépasser <strong>4 Méga</strong>, si vous souhaitez le réduire contacté "Stephane" !';
}
/*
****************************************************************
* ENVOIE DU FICHIER *
****************************************************************
*/
// si la variable ERREUR n'existe pas
if(!isset($erreur))
{
/*
****************************************************************
* DECLARATION DES VARIABLE *
****************************************************************
*/
// connection a la base de donnée
include ("../include/connectBD.inc.php");
/*
****************************************************************
* DECLARATION DES VARIABLE EN POST *
****************************************************************
*/
// création des variable depuis le formulaire de saisie
$congres = strtoupper($_POST['congres']); //mettre ne majuscule
$mois =$_POST['mois'];
$debut =$_POST['date_debut'];
$fin =$_POST['date_fin'];
$ville =$_POST['ville'];
$pays =$_POST['pays'];
$commercial =$_POST['commercial'];
$inscription =$_POST['inscription'];
$budget =$_POST['budget'];
$conferencier =$_POST['conferencier'];
$presse =$_POST['presse'];
$soutien =$_POST['soutien'];
$nom_pdf = $_FILES['PDF']['name'];
$poid_pdf = $_FILES['PDF']['size'];
$chemin_pdf = $dest_dossier.$_FILES['PDF']['name'];
/*
****************************************************************
* FORMATAGE DU FICHIER UPLODER *
****************************************************************
*/
// formatage du nom du fichier / Sépare le nom du fichier et le nom du dossier
$dest_fichier = basename($_FILES['PDF']['name']);
// TEST DE CHANGEMENT DE NOM DU FICHIER UPLOADER
//modification du nom, tout en minuscule "nom_du_congres_nom_du_fichier.pdf" :
$changement_nom_pdf1 = strtolower ($congres.'_'.$dest_fichier);
// enlever les accents
$changement_nom_pdf1 = strtr($changement_nom_pdf1,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$changement_nom_pdf1 = preg_replace('/([^.a-z0-9]+)/i', '_', $changement_nom_pdf1);
// copie du fichier
move_uploaded_file($_FILES['PDF']['tmp_name'], $dest_dossier . $changement_nom_pdf1);
/*
****************************************************************
* CONVERTION DES DATES *
****************************************************************
*/
// Convertion de la date debut
$date_fr_debut = $debut;
$date_us_debut = implode('-',array_reverse (explode('/',$date_fr_debut)));
// Convertion de la date fin
$date_fr_fin = $fin;
$date_us_fin = implode('-',array_reverse (explode('/',$date_fr_fin)));
/*
****************************************************************
* MISE A JOUR DES DONNEES *
****************************************************************
*/
// creation d'une variable qui mets a jour dans la table agenda les champs suivant
$insertion_dans_la_table = "
UPDATE agenda
SET congres_agenda= '$congres',
mois_agenda= '$mois_agenda',
date_debut_agenda= '$date_debut_sql',
date_fin_agenda= '$date_fin_sql',
ville_agenda= '$ville',
pays_agenda= '$pays',
commercial_agenda= '$commercial',
inscription_agenda= '$inscription',
budget_agenda= '$budget',
conferencier_agenda= '$conferencier',
presse_agenda= '$presse',
soutien_agenda= '$soutien',
nom_pdf_agenda='$nom_pdf',
poid_pdf_agenda='$poid_pdf',
chemin_pdf_agenda='$chemin_pdf'
WHERE id_agenda= '$id' ";
//// Envoie une requête SQL à un serveur MySQL , donc mysql_query (utilise la variable $sql qui demande l'insertion d'element dans une table
mysql_query ($sql);
$confirmation = '<p align="center"><span class="Titre_h2">L\'ajout du congrès à bien été pris en compte.<br />
<span class="Titre_h2">Il est désormé visible pour tous les utilisateurs.</span></span><br />
</p>';
}
}
/*****************************************************************/
// Envoie une requête SQL à un serveur MySQL , donc mysql_query (utilise la variable $sql qui demande l'insertion d'element dans une table
mysql_query ($insertion_dans_la_table) or die ("Exécution de la requêtes impossible.");
?>
Maintenant je me penche sur le problème de la suppression.. et la je rigole moins
Je ne sais pas par ou commencé :
- faut il que j'intègre un include dans la condition IF, qui auras comme valeur DELETE FROM agenda WHERE nom_pdf_agenda='$affichage['nom_pdf_agenda']' etc....
- faut il utilisé un script ?
je suis vraiment perdu, car c la premier fois que je gére autant de code dans une même page.
pourriez vous me donner un petit coup de pouce....
merci a vous
[quote]A priori il faudrait que tu test si le champ chemin_pdf_agenda est renseigné ou non. S'il est vide tu propose l'invite de saisie d'un fichier (et tu gère l'upload en cas de modif), s'il est renseigné tu propose le bouton de suppression. [/quote]
Ok, je pense avoir écrit la bonne syntaxe pour faire cela
[php]
<?
$fichier_PDF = $affichage['chemin_pdf_agenda']; // Création d'un variable
if (!empty($fichier_PDF)) // SI la variable $fichier_PDF ne contient pas (!) de valeur
{ ?>
<a href=<? $affichage['chemin_pdf_agenda'] ?> ><? echo $affichage['nom_pdf_agenda']?></a>
<input type="button" name="Submit26" value="Supprimer le fichier PDF">
<? }
else // SINON
{ ?>
<input type="hidden" name="MAX_FILE_SIZE" value="4194304" />
<input name="PDF" type="FILE" id="PDF" />
[/php]
Ensuite, j'insère la syntaxe qui vas me permettre d'uploadé le fichier PDF dans le cas ou la condition est : ELSE
[php]
<?
else // SINON
{ ?> <? // Fichier qui vas uploder tout les elements du formulaire et le PDF
include ("../include/update_upload.inc.php"); ?>
<input type="hidden" name="MAX_FILE_SIZE" value="4194304" />
<input name="PDF" type="FILE" id="PDF" /><span class="clignotant">
[/php]
le code de update_upload.inc.php
[php]<?php
// UPLOAD DE FICHIER
/*
****************************************************************
* VERIFICATION AVANT UPLOAD *
****************************************************************
*/
if(isset($_FILES['PDF'])) // si la variable PDF existe
{
// paramettre
unset($erreur); // Detruire la variable $erreur (ne pas affiché la variable)
$extensions_ok = array('pdf'); // Autorisé juste les fichiers PDF
$taille_max = 4194304; // avec un poid MAXIMUM de 4Mo (1Mo = 1000000)
$dest_dossier = 'PDF_programme/'; // Chemin du dossier qui vas recevoir les PDF... utilisez également des slashes sous windows : $dest_dossier = 'd:/damien/photos/';
// vérifications
if( !in_array( substr(strrchr($_FILES['PDF']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Seul les fichiers au <strong>format PDF<strong/> sont accepté, veuillez recommencer !';
}
elseif( file_exists($_FILES['PDF']['tmp_name'])and filesize($_FILES['PDF']['tmp_name']) > $taille_max)
{
$erreur = 'Le fichier ne doit pas dépasser <strong>4 Méga</strong>, si vous souhaitez le réduire contacté "Stephane" !';
}
/*
****************************************************************
* ENVOIE DU FICHIER *
****************************************************************
*/
// si la variable ERREUR n'existe pas
if(!isset($erreur))
{
/*
****************************************************************
* DECLARATION DES VARIABLE *
****************************************************************
*/
// connection a la base de donnée
include ("../include/connectBD.inc.php");
/*
****************************************************************
* DECLARATION DES VARIABLE EN POST *
****************************************************************
*/
// création des variable depuis le formulaire de saisie
$congres = strtoupper($_POST['congres']); //mettre ne majuscule
$mois =$_POST['mois'];
$debut =$_POST['date_debut'];
$fin =$_POST['date_fin'];
$ville =$_POST['ville'];
$pays =$_POST['pays'];
$commercial =$_POST['commercial'];
$inscription =$_POST['inscription'];
$budget =$_POST['budget'];
$conferencier =$_POST['conferencier'];
$presse =$_POST['presse'];
$soutien =$_POST['soutien'];
$nom_pdf = $_FILES['PDF']['name'];
$poid_pdf = $_FILES['PDF']['size'];
$chemin_pdf = $dest_dossier.$_FILES['PDF']['name'];
/*
****************************************************************
* FORMATAGE DU FICHIER UPLODER *
****************************************************************
*/
// formatage du nom du fichier / Sépare le nom du fichier et le nom du dossier
$dest_fichier = basename($_FILES['PDF']['name']);
// TEST DE CHANGEMENT DE NOM DU FICHIER UPLOADER
//modification du nom, tout en minuscule "nom_du_congres_nom_du_fichier.pdf" :
$changement_nom_pdf1 = strtolower ($congres.'_'.$dest_fichier);
// enlever les accents
$changement_nom_pdf1 = strtr($changement_nom_pdf1,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$changement_nom_pdf1 = preg_replace('/([^.a-z0-9]+)/i', '_', $changement_nom_pdf1);
// copie du fichier
move_uploaded_file($_FILES['PDF']['tmp_name'], $dest_dossier . $changement_nom_pdf1);
/*
****************************************************************
* CONVERTION DES DATES *
****************************************************************
*/
// Convertion de la date debut
$date_fr_debut = $debut;
$date_us_debut = implode('-',array_reverse (explode('/',$date_fr_debut)));
// Convertion de la date fin
$date_fr_fin = $fin;
$date_us_fin = implode('-',array_reverse (explode('/',$date_fr_fin)));
/*
****************************************************************
* MISE A JOUR DES DONNEES *
****************************************************************
*/
// creation d'une variable qui mets a jour dans la table agenda les champs suivant
$insertion_dans_la_table = "
UPDATE agenda
SET congres_agenda= '$congres',
mois_agenda= '$mois_agenda',
date_debut_agenda= '$date_debut_sql',
date_fin_agenda= '$date_fin_sql',
ville_agenda= '$ville',
pays_agenda= '$pays',
commercial_agenda= '$commercial',
inscription_agenda= '$inscription',
budget_agenda= '$budget',
conferencier_agenda= '$conferencier',
presse_agenda= '$presse',
soutien_agenda= '$soutien',
nom_pdf_agenda='$nom_pdf',
poid_pdf_agenda='$poid_pdf',
chemin_pdf_agenda='$chemin_pdf'
WHERE id_agenda= '$id' ";
//// Envoie une requête SQL à un serveur MySQL , donc mysql_query (utilise la variable $sql qui demande l'insertion d'element dans une table
mysql_query ($sql);
$confirmation = '<p align="center"><span class="Titre_h2">L\'ajout du congrès à bien été pris en compte.<br />
<span class="Titre_h2">Il est désormé visible pour tous les utilisateurs.</span></span><br />
</p>';
}
}
/*****************************************************************/
// Envoie une requête SQL à un serveur MySQL , donc mysql_query (utilise la variable $sql qui demande l'insertion d'element dans une table
mysql_query ($insertion_dans_la_table) or die ("Exécution de la requêtes impossible.");
?>[/php]
Maintenant je me penche sur le problème de la suppression.. et la je rigole moins :cry:
Je ne sais pas par ou commencé :
- faut il que j'intègre un include dans la condition IF, qui auras comme valeur DELETE FROM agenda WHERE nom_pdf_agenda='$affichage['nom_pdf_agenda']' etc....
- faut il utilisé un script ?
je suis vraiment perdu, car c la premier fois que je gére autant de code dans une même page.
pourriez vous me donner un petit coup de pouce....
merci a vous