J'ai un petit probleme de message d'erreur suite a une mise a jour de base :
Code : Tout sélectionner
Selectionna un archivo de tipo png, gif, jpg o jpeg !dans mon code , je mets a jour une base, grace a un formulaire qui comporte un champs d'upload de fichier, aussi, j'ai indiqué au niveau de le mise a jour de la base:
if($nomFichier != "") { // on ne met à jour chemin et photo que si un nouveau fichier est posté
$updateSQL.= ", chemin = '$chemin' ";
$updateSQL.= ", photo = '$nomFichier' ";
}
jusqu'a la tout fonctionnait bien a partir du monment ou j'ai rajouté mes securités au niveau du format et poids, j'ai eu donc ce message d'erreur:
Selectionna un archivo de tipo png, gif, jpg o jpeg !
il faut donc je pense que j'indique egalement au niveau des tests, que le champ (upload) peut etre vide !?j'ai essayé plusieurs fois, sans succes
alors ma question si qlq veut bien m'aider
que dois je ecrire et ou exactement ? merci
voici mon code:
<?php
// je remonte la déclaration avant la récup du fichier
$nomFichier = ""; // déclaration des variables
$chemin = "";
//Script Upload
//on vérifies que le champ est bien rempli:
if(isset($_FILES["photo"]["name"])) {
$nomFichier = $_FILES["photo"]["name"] ; //nom du fichier choisi:
$nomTemporaire = $_FILES["photo"]["tmp_name"] ; //nom temporaire sur le serveur:
$typeFichier = $_FILES["photo"]["type"] ; //type du fichier choisi:
$poidsFichier = $_FILES["photo"]["size"] ; //poids en octets du fichier choisit:
$codeErreur = $_FILES["photo"]["error"] ; //code de l'erreur si jamais il y en a une:
//chemin qui mène au dossier qui va contenir les fichiers upload:
$chemin = "./images/" ;
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'PNG', 'GIF', 'JPG', 'JPEG');
$taille_max = 100000;
// vérifications
if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Selectionna un archivo de tipo png, gif, jpg o jpeg !';
}
elseif( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_max)
{
$erreur = 'Su archivo no puede tener un peso superior a 200Ko !';
}
//l'upload !
if(!isset($erreur)) {
move_uploaded_file($nomTemporaire, $chemin.$nomFichier);
}
}
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if (! isset($erreur) && isset($_POST["MM_insert"]) && ($_POST["MM_insert"] == "form2")) {
$updateSQL = sprintf("UPDATE immo1 SET pays=%s, ville=%s, text=%s",
GetSQLValueString($_POST['pays'], "text"),
GetSQLValueString($_POST['ville'], "text"),
GetSQLValueString($_POST['text'], "text"));
if($nomFichier != "") { // on ne met à jour chemin et photo que si un nouveau fichier est posté
$updateSQL.= ", chemin = '$chemin' ";
$updateSQL.= ", photo = '$nomFichier' ";
}
$updateSQL.= " WHERE id = ".$_POST['id'];
mysql_select_db($database_pays, $pays);
$Result1 = mysql_query($updateSQL, $pays) or die(mysql_error());
$updateGoTo = "pays_listing.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}