Variable à la masse
platypus69
Messages postés
122
Statut
Membre
-
Atropa Messages postés 2051 Statut Membre -
Atropa Messages postés 2051 Statut Membre -
Bonjour a tous, voici un petit script qui doit en temps normal mettre a jour ma bdd avec des conditions.
La bdd se met à jour quand le champ $_POST['image'] est vide sans aucun probléme mais pas quand il a un fichier à transféré. Je pense que certaines des conditions ne se pas exacte ou mal remplie donc un peu d'aide ne serait pas de refus. Voici le script :
<?
include("config.php");
// Protection des pages Admin
session_start();
if (!session_is_registered("authentification")){
header("erreur.php");
}
$id = $_POST['id'];
$nom = $_POST['nom'];
$variete = $_POST['variete'];
$categorie = $_POST['categorie'];
$prixTTC = $_POST['prixTTC'];
$image = $_POST['image'];
$visible = $_POST['visible'];
if (empty($_POST['image'])) {
$modif_article = ("UPDATE article SET nom='$nom',variete='$variete',categorie='$categorie',prixTTC='$prixTTC',visible='$visible' WHERE id='$id'");
mysql_query($modif_article);
}
else {
if(isset($_FILES['image']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 100000;
$dest_dossier = '../../../images/article/';
// utilisez également des slashes sous windows : $dest_dossier = 'd:/damien/photos/';
// vérifications
if( !in_array( substr(strrchr($_FILES['image']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
}
elseif( file_exists($_FILES['image']['tmp_name'])
and filesize($_FILES['image']['tmp_name']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 500Ko !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['image']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['image']['tmp_name'], $dest_dossier . $dest_fichier);
}
$modif_article = ("UPDATE article SET nom='$nom',variete='$variete',categorie='$categorie',prixTTC='$prixTTC',image='$image',visible='$visible' WHERE id='$id'");
mysql_query($modif_article);
}
}
header("location:../../accueil.php?mdf=ok03");
?>
Merci a tous d'avance
La bdd se met à jour quand le champ $_POST['image'] est vide sans aucun probléme mais pas quand il a un fichier à transféré. Je pense que certaines des conditions ne se pas exacte ou mal remplie donc un peu d'aide ne serait pas de refus. Voici le script :
<?
include("config.php");
// Protection des pages Admin
session_start();
if (!session_is_registered("authentification")){
header("erreur.php");
}
$id = $_POST['id'];
$nom = $_POST['nom'];
$variete = $_POST['variete'];
$categorie = $_POST['categorie'];
$prixTTC = $_POST['prixTTC'];
$image = $_POST['image'];
$visible = $_POST['visible'];
if (empty($_POST['image'])) {
$modif_article = ("UPDATE article SET nom='$nom',variete='$variete',categorie='$categorie',prixTTC='$prixTTC',visible='$visible' WHERE id='$id'");
mysql_query($modif_article);
}
else {
if(isset($_FILES['image']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 100000;
$dest_dossier = '../../../images/article/';
// utilisez également des slashes sous windows : $dest_dossier = 'd:/damien/photos/';
// vérifications
if( !in_array( substr(strrchr($_FILES['image']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
}
elseif( file_exists($_FILES['image']['tmp_name'])
and filesize($_FILES['image']['tmp_name']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 500Ko !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['image']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['image']['tmp_name'], $dest_dossier . $dest_fichier);
}
$modif_article = ("UPDATE article SET nom='$nom',variete='$variete',categorie='$categorie',prixTTC='$prixTTC',image='$image',visible='$visible' WHERE id='$id'");
mysql_query($modif_article);
}
}
header("location:../../accueil.php?mdf=ok03");
?>
Merci a tous d'avance
A voir également:
- Variable à la masse
- Renommer des fichiers en masse - Guide
- Dispositif de stockage de masse usb - Télécharger - Pilotes & Matériel
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Microsoft Office
- Microsoft 365 word message d'erreur envirionement Temp - Forum Microsoft Office
- Calcul masse salariale ✓ - Forum Excel