Par exemple: Un simple formulaire d'envoi d'image qui contient un champ texte, et un champ FILE qui contient donc l'image.
Sur la page de traitement, le champs texte est envoyer dans la BDD, et l'image dans un dossier. Imaginons que la requête réussi, mais que l'upload échoue, on se retrouve avec une entrée dans la BDD qui ne sert a rien puisque l'image n'est pas dans le dossier.
Y'a t'il un moyen concret dans ce cas ci de tester les 2 avant de les exécuter, et si une erreur se produit sur l'un ou l'autre, ne rien faire tout simplement.
if(!empty($_POST['name']) && !empty($_FILES['image']['name'])){
if(substr($_FILES['image']['name'],-4) == ".jpg"){
$query=mysql_query("INSERT INTO images VALUES('','".mysql_real_escape_string(htmlspecialchars($_POST['name']))."')");
if($query){
move_uploaded_file($_FILES['image']['tmp_name'], "../images/".mysql_insert_id().".jpg");
$message="Image successfully added";
}else{
$message="Database Error: ".mysql_error();
}
}else{
$message="Image not .jpg file";
}