Script d'édition : comparaison existant ou non

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Script d'édition : comparaison existant ou non

Re: Script d'édition : comparaison existant ou non

par Pauloscorps » 07 juin 2011, 13:42

Bon eh bien merci infiniment, ca fonctionn parfaitement maintenant. J'avoue que c'est assez ultime :mrgreen:
Voici le code pour info :
<?php
	require_once('../includes/connexion.php');
	//------------------------ SESSION ------------------------------//
	session_start();
	if (!isset($_SESSION['login']))
	{
		header('Location:../index.php');
		exit();
	}

		echo '<div id="content">';
		include('../includes/header.php');
		include('../fonctions/fctredimimage.php');

if (isset($_POST['submit']))
{
	$idArticle = $_POST['article'];
	$idCat = $_POST["idCat"];
	$titreArticle = stripslashes(htmlspecialchars($_POST["titreArticle"]));
	$contenuArticle = stripslashes(htmlspecialchars($_POST["contenuArticle"]));
	$photoArticle = $_FILES["photoArticle"];
	$descPhoto = stripslashes(htmlspecialchars($_POST["descPhoto"]));

	if(!empty($idCat))
	{
		//----------------------------------------------------------------------------------------------------------------
		// TRAITEMENT DE L'IMAGE
		//----------------------------------------------------------------------------------------------------------------
		
		if (!empty($_FILES['photoArticle']['name'])) 
		{
			$nomOrigine = $_FILES['photoArticle']['name'];
			$repertoireOrigine = $_FILES['photoArticle']['tmp_name'];
			$elementsChemin = pathinfo($nomOrigine);
			$extensionFichier = $elementsChemin['extension'];
			$extensionsAutorisees = array("jpeg", "jpg", "JPG", "JPEG", "GIF", "PNG", "gif", "png");
			$repertoireDestination = "../../photos/";
			$nomDestination = "photo".date("YmdHis").".".$extensionFichier;

			if (move_uploaded_file($repertoireOrigine, $repertoireDestination.$nomDestination))
			{
				$redimOK = fctredimimage(180,270,$repertoireDestination,$nomDestination,$repertoireDestination,$nomDestination);
	
				if (in_array($extensionFichier, $extensionsAutorisees)) 
				{
					// le fichier a une bonne extension
					if ($redimOK == true)
					{
					//	echo 'Redimensionnement OK !';
						$URLPhoto = ("http://www.smtk-communication.com/photos/".$nomDestination);
					}
					else
					{
						echo 'Le redimensionnement a échoué.';
					}

					// ca marche !
				}
				else 
				{
					// le fichier n'a pas une extension valide
				}
			}
			else
			{
				//echo "Le fichier n'a pas été uploadé ";
			}
			$req ="UPDATE articles
			SET
			idArticle = '',
			idCat = '$idCat',
			titreArticle = '$titreArticle',
			photoArticle = '$URLPhoto',
			descPhoto = '$descPhoto',
			contenuArticle = '$contenuArticle'
			WHERE idArticle = '$idArticle';";

			$result = mysql_query($req, $connexion) or die(mysql_error());
			if ($result)
			{
				echo '<div class="valide"><p>La modification a été correctement effectuée.</p></div>' ;
			}
			else
			{
				echo '<div class="echec"><p> La modification a échoué.</p></div>';
			}	
		}
		else 
		{
			$req ="UPDATE articles
			SET
			idArticle = '',
			idCat = '$idCat',
			titreArticle = '$titreArticle',
			descPhoto = '$descPhoto',
			contenuArticle = '$contenuArticle'
			WHERE idArticle = '$idArticle';";

			$result = mysql_query($req, $connexion) or die(mysql_error());
			if ($result)
			{
				echo '<div class="valide"><p>La modification a été correctement effectuée.</p></div>' ;
			}
			else
			{
				echo '<div class="echec"><p> La modification a échoué.</p></div>';
			}
		}
		
/**********************************************************************/
/******************* REQUETE SQL D'AJOUT DANS LA BDD ******************/
/**********************************************************************/
		
	}
	else echo '<div class="echec"><p> Vous n\'avez pas rempli tous les champs. </p></div>';
}
	include('../includes/form_editionarticle.php');
	include('../includes/footer.php');
?>

Re: Script d'édition : comparaison existant ou non

par Pauloscorps » 07 juin 2011, 09:47

Modération :
Tes délais ne nous intéressent pas.
Nous savons que tu es en difficulté puisque tu demandes de l'aide,
mais nous sommes tous bénévoles et répondons selon nos disponibilités.

Merci de ne pas s'impatienter.
Désolé pour l'impatience, j'ai la pression avec ce bidule.

Merci beaucoup de ta réponse en tout cas, je vais essayer de mettre cela en place.

Re: Script d'édition : comparaison existant ou non

par zeus » 07 juin 2011, 09:34

L'idée à implémenter est simple : s'il n'y a pas de photo uploadée dans $_FILES, tu ne fais pas le traitement de la photo.
En pratique, cela passe par un simple if autour du code de déplacement de la photo uploadée, et la modification de la requête SQL pour ne pas changer l'urlPhoto si le traitement de l'image ne s'est pas exécuté.

Re: Script d'édition : comparaison existant ou non

par zeus » 07 juin 2011, 09:32

Modération :
Tes délais ne nous intéressent pas.
Nous savons que tu es en difficulté puisque tu demandes de l'aide,
mais nous sommes tous bénévoles et répondons selon nos disponibilités.

Merci de ne pas s'impatienter.

Script d'édition : comparaison existant ou non

par Pauloscorps » 07 juin 2011, 09:26

Bonjour,

J'ai un script d'édition d'articles de blog sur mon site, il fonctionne bien mais n'est pas pratique d'utilisation. En effet, je suis obligée de re-sélectionner à chaque fois une catégorie et une photo. Si je ne rechoisi pas de photo, il n'y en a alors plus, alors que j'aimerais faire en sorte que si ce champ est vide, on ne change rien.
Or, je n'ai aucune idée de comment procèder.

J'avais pensé à faire une comparaison entre la nouvelle URL de la photo et de l'ancienne, et de changer la photo uniquement si elle n'étaient pas identiques, mais je ne vois pas comment faire non plus. Merci de bien vouloir m'aider, c'est urgent en plus :| .

Voici mon code
<?php
	require_once('../includes/connexion.php');
	//------------------------ SESSION ------------------------------//
	session_start();
	if (!isset($_SESSION['login']))
	{
		header('Location:../index.php');
		exit();
	}

		echo '<div id="content">';
		include('../includes/header.php');
		include('../fonctions/fctredimimage.php');

if (isset($_POST['submit']))
{
	$idArticle = $_POST['article'];
	$idCat = $_POST["idCat"];
	$titreArticle = stripslashes(htmlspecialchars($_POST["titreArticle"]));
	$contenuArticle = stripslashes(htmlspecialchars($_POST["contenuArticle"]));
	$photoArticle = $_FILES["photoArticle"];
	$descPhoto = stripslashes(htmlspecialchars($_POST["descPhoto"]));

	if(!empty($idCat))
	{
		//----------------------------------------------------------------------------------------------------------------
		// TRAITEMENT DE L'IMAGE
		//----------------------------------------------------------------------------------------------------------------
		
		if (!empty($photoArticle)) 
		{
			$nomOrigine = $_FILES['photoArticle']['name'];
			$repertoireOrigine = $_FILES['photoArticle']['tmp_name'];
			$elementsChemin = pathinfo($nomOrigine);
			$extensionFichier = $elementsChemin['extension'];
			$extensionsAutorisees = array("jpeg", "jpg", "JPG", "JPEG", "GIF", "PNG", "gif", "png");
			$repertoireDestination = "../../photos/";
			$nomDestination = "photo".date("YmdHis").".".$extensionFichier;

			if (move_uploaded_file($repertoireOrigine, $repertoireDestination.$nomDestination))
			{
				$redimOK = fctredimimage(180,270,$repertoireDestination,$nomDestination,$repertoireDestination,$nomDestination);
	
				if (in_array($extensionFichier, $extensionsAutorisees)) 
				{
					// le fichier a une bonne extension
					if ($redimOK == true)
					{
					//	echo 'Redimensionnement OK !';
						$URLPhoto = ("http://www.smtk-communication.com/photos/".$nomDestination);
					}
					else
					{
						echo 'Le redimensionnement a échoué.';
					}

					// ca marche !
				}
				else 
				{
					// le fichier n'a pas une extension valide
				}
			}
			else
			{
				//echo "Le fichier n'a pas été uploadé ";
			}
		}
		else 
		{
			//
		}
		
/**********************************************************************/
/******************* REQUETE SQL D'AJOUT DANS LA BDD ******************/
/**********************************************************************/
		$req ="UPDATE articles
        SET
		idArticle = '',
        idCat = '$idCat',
        titreArticle = '$titreArticle',
        photoArticle = '$URLPhoto',
        descPhoto = '$descPhoto',
        contenuArticle = '$contenuArticle'
        WHERE idArticle = '$idArticle';";

		$result = mysql_query($req, $connexion) or die(mysql_error());
		if ($result)
		{
			echo '<div class="valide"><p>La modification a été correctement effectuée.</p></div>' ;
		}
		else
		{
			echo '<div class="echec"><p> La modification a échoué.</p></div>';
		}
	}
	else echo '<div class="echec"><p> Vous n\'avez pas rempli tous les champs. </p></div>';
}

	include('../includes/form_editionarticle.php');
	include('../includes/footer.php');
?>