PHP traitement qui continue

Résolu/Fermé
TRUNCKS Messages postés 1030 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 3 juin 2023 - 21 nov. 2011 à 16:12
zatlags Messages postés 261 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 28 décembre 2011 - 21 nov. 2011 à 16:26
Bonjour à vous,
J'ai un petit formulaire pour uploader des photos, en gros, si une image est chargée, il m'enregistre le chemin et le titre dans ma bdd, si aucune image n'est uploadé, il enregistre uniquement le titre et laisse blanc.

Mon soucis, c'est que quand je charge une image, il me fait les deux traitements et je me retrouve avec deux enregistrements dans ma bdd:

if(isset($_POST['action'])){

	$titre_image = mysql_real_escape_string($_POST['titre_image']);
	$titre_image2 = mysql_real_escape_string($_POST['titre_image2']);
	$texte_image = mysql_real_escape_string($_POST['texte_image']);
	$texte_image2 = mysql_real_escape_string($_POST['texte_image2']);
	$nom_categorie = mysql_real_escape_string($_POST['nom_categorie']);

	 // -------------
  // SI on a bien une photo uploadée :
  if(isset($_FILES['userfile']) && $_FILES['userfile']['size']>0)
  {
  // -------------------------------------
	// 1/ GESTION DES ERREURS de la photo
	// -------------------------------------
	if ($_FILES['userfile']['size'] > 2097152) {
		$msgErreurPhoto .= '<center>'.'<br/>'.'<p style="color:#ff0000;font-weight:bold;">La taille de votre image est trop importante (Maximun: 2Mo)</p>'.'</center>';
		$traiterPhotoOK = 'NON';
	}

		else {
	$traiterPhotoOK ='OK';
	}
		
	// -------------------------------------
	// 2/ si pas d'erreur : TRAITEMENT
	// -------------------------------------
	if ($traiterPhotoOK=='OK')
	{

		$sq = "INSERT INTO images VALUES('','$titre_image','$titre_image2','$texte_image','$texte_image2','$chemin_categorie/images/$nFile','$chemin_categorie/mini/$nFile','$categorie')"; 
		$quer = mysql_query($sq) or die('erreur sq: '.mysql_error());
		// -------------
		// message de validation
		$msgvalidPhoto 	= 'La photo a été uploadée';
		
	} // fin TRAITEMENT Photo
  }
  if($traiterPhotoOK ='NON'){
	
	$sq = "INSERT INTO images VALUES('','$titre_image','$titre_image2','$texte_image','$texte_image2','','','$categorie')"; 
	$quer = mysql_query($sq) or die('erreur sq: '.mysql_error());
	
	$traiterPhotoOK='OK';
	}
} // fin traitement
A voir également:

4 réponses

vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
21 nov. 2011 à 16:22
moi je suis pas d'accord, le code est pas correct ^^

if($traiterPhotoOK ='NON')//rajoute un =
1
zatlags Messages postés 261 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 28 décembre 2011 59
21 nov. 2011 à 16:26
HAHAHA nice, je ne l'avais pas remarqué.

J'ai pas encore prix mon café.
0
zatlags Messages postés 261 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 28 décembre 2011 59
Modifié par zatlags le 21/11/2011 à 16:20
code est correct, regard les code autour de ton fichier
0
TRUNCKS Messages postés 1030 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 3 juin 2023 7
21 nov. 2011 à 16:23
J'ai trouvé, je suis vraiment un gros gros nul,
Sur cette ligne:

 if($traiterPhotoOK ='NON')


J'ai oublié un =, je donne la valeur non au lieu de comparer.

Désolé de t'avoir fait perdre ton temps :(
0
TRUNCKS Messages postés 1030 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 3 juin 2023 7
21 nov. 2011 à 16:24
Yep !

Merci beaucoup d'avoir pris la peine de regarder.
--
0