PHP $_files, enctype et $_session

Résolu
Utilisateur anonyme -  
Yaninho Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je cherche desesperemment mon erreur depuis 3 jours et je n'en peut plus sonc j'aimerais bien avoir un peu d'aide si possible.
J'explique mon problème :
J'ai une page pour deposer un article sur un site web, j'ai une image principale et 2/3 vignettes.
Tout se passe bien, j'ai le choix entre une page de prévisu et publier l'aricle.
Lorsque je prévisu tout va nikel.
Ensuite sur la page de prévisu, g le choix entre modifier et publier.
L'article ne me convient pas donc j'ai envie de modifier, mais voila le probleme, mes image ne s'affiche pas !!!!!

J'utilise le enctype dans ma page pour deposer, comme sa il s'affiche a chaque fois que je prévisualise.

Mais l'autre soucis c que quand je modifie mon artcle, je doit pouvoir changer les images,
sans le enctype, elle s'affiche mais je peut pas les changer,
et avec je peut changer mais elle s'affiche pas...

Pourriez vous m'aider svp

dans ma page de modif seul les varibles de session sont utilisées
A voir également:

3 réponses

Utilisateur anonyme
 
Bon un peu de code ^^ :
//--------------------------------------------------------------------------------------------
// Fichier deposer
//--------------------------------------------------------------------------------------------
<form method="post" name="formulaire" enctype="multipart/form-data">
.....
Des Champs
........
<input type="Button" name="bt_ok" onclick="window.document.formulaire.action='scripts/ajout_article.php';window.document.formulaire.submit();" value="Publier l'article">

<input type="Button" name="preview" onclick="window.document.formulaire.action='preview.php';window.document.formulaire.submit();" value="Prévisualiser l'article">
</form>
//--------------------------------------------------------------------------------------------

//--------------------------------------------------------------------------------------------
// Fichier previsu
//--------------------------------------------------------------------------------------------
// Image Principale
if (isset($_FILES['img_principale']['name'])){
$img = $_FILES['img_principale']['name'];
}
else if (isset($_FILES['file']['name'])){ // Nouvelle Image
$img = $_FILES['file']['name'];
}

// Première Vignette
if (isset($_FILES['vignette1']['name'])){
$vignette1 = $_FILES['vignette1']['name'];
}
else if (isset($_FILES['newv1']['name'])){ // Nouvelle Vignette 1
$vignette1 = $_FILES['newv1']['name'];
}

<form name="publier" method="post">
<input type="button" name="publier" value="Publier" onclick="window.document.publier.action='scripts/post_ok.php';window.document.publier.submit();"/>
<input type="button" name="return" value="Modifier" onclick="window.document.publier.action='modifier.php';window.document.publier.submit();" />
<input type="button" name="save" value="Enregistrer en brouillon" onclick="window.document.publier.action='scripts/save.php';window.document.publier.submit();" />
</form>
//--------------------------------------------------------------------------------------------

//--------------------------------------------------------------------------------------------
// Fichier Modif
//--------------------------------------------------------------------------------------------
<form method="post" name="formmodif">
Image actuelle :<br />
<input type="text" name="img_principale" value="<?php echo $_SESSION['imgprincipale']; ?>" style="width:100px"/>
Vignette N°1:<br />
<input type="text" name="vignette1" value="<?php
if(isset($_SESSION['vignette1']))
echo $_SESSION['vignette1']; ?>" style="width:300px"/>
<input type="button" name="bt_ok" onclick="window.document.formmodif.action='scripts/ajout_article.php';window.document.formmodif.submit();" value="Publier l'article" />
<input type="button" name="preview" onclick="window.document.formmodif.action='preview.php';window.document.formmodif.submit();" value="Prévisualiser l'article" />
</form>
//--------------------------------------------------------------------------------------------
1
Utilisateur anonyme
 
Bon j'ai un peu changer de méthode,
Pour déposer, mon formulaire,
a la prévisu, si la page précédente et "deposer", j'insert mon formulaire dans ma bdd, j'ai une table temp qui contient l'article en cours; Sinon si la page précédente est "modifier", je met a jour l'article dans la table avec des updates.

et dans modifier je fait un select de la table temp et j'affiche les champ.

le probleme c'est que quand je prévisu une fois c'est bon mais des que je remodifie je ne voit plus les images.
Mais mnt je peut les remettres ou les changer , choses que je ne pouvais pas faire avant.

Voici le code :

Fichier Déposer :
<form method="post" name="formulaire" enctype="multipart/form-data">
....
champs
....
  <input type="Button" name="bt_ok" onclick="window.document.formulaire.action='scripts/ajout_article.php';window.document.formulaire.submit();" value="Publier l'article">
			<input type="Button" name="preview" onclick="window.document.formulaire.action='preview.php';window.document.formulaire.submit();" value="Prévisualiser l'article">
</form>



Fichier Modif:

// Connexion a la base
	mysql_select_db($mabasededonnee) or die ("pas de connection");
	$req = "SELECT * FROM temp LIMIT 1" ;
	$i = 0;
	$result = mysql_query($req);
	$nb_result = mysql_num_rows($result);
	if($nb_result!=0){
		while($nb_result>$i){
			$data = mysql_fetch_object($result);
			if(isset($data->img))
				$_SESSION['temp-img'] = $data->img;
			if(isset($data->rubrique))
				$_SESSION['temp-rubrique'] = $data->rubrique;
			if(isset($data->horiz))
				$_SESSION['temp-horiz'] = $data->horiz;
			if(isset($data->verti))
				$_SESSION['temp-verti'] = $data->verti;
			if(isset($data->titre))
				$_SESSION['temp-titre'] = $data->titre;
			if(isset($data->soustitre))
				$_SESSION['temp-soustitre'] = $data->soustitre;
			if(isset($data->entete))
				$_SESSION['temp-entete'] = $data->entete;
			if(isset($data->description))
				$_SESSION['temp-description'] = $data->description;
			if(isset($data->texte))
				$_SESSION['temp-texte'] = $data->texte;
			if(isset($data->vignette1))
				$_SESSION['temp-vignette1'] = $data->vignette1;
			if(isset($data->vignette2))
				$_SESSION['temp-vignette2'] = $data->vignette2;
			if(isset($data->vignette3)
				$_SESSION['temp-vignette3'] = $data->vignette3;
			if(isset($data->client))
				$_SESSION['temp-client'] = $data->client;
			if(isset($data->produit))
				$_SESSION['temp-produit'] = $data->produit;
			$i++;
		}
	}
	mysql_close($connection);

 <form method="post" name="formmodif" enctype="multipart/form-data">
...
afffichage
...
	<input type="text" name="img_principale" value="<?php if(isset($_SESSION['temp-img'])){ echo $_SESSION['temp-img']; } ?>" style="width:100px"/>
 <input type="button" name="bt_ok" onclick="window.document.formmodif.action='scripts/ajout_article.php';window.document.formmodif.submit();" value="Publier l'article" />
			<input type="button" name="preview" onclick="window.document.formmodif.action='preview.php';window.document.formmodif.submit();" value="Prévisualiser l'article" />
</form>     


Fichier previsu:
$nom = $_SESSION['identifiant'];
	$date = date('d-m-Y');	
	$url = basename($_SERVER['HTTP_REFERER']);

// Image Principale
	if (isset($_FILES['img_principale']['name'])){
		$img = $_FILES['img_principale']['name'];
	}
	else if (isset($_FILES['file']['name'])){		// Nouvelle Image
		$img = $_FILES['file']['name'];
	}

// Première Vignette
	if (isset($_FILES['vignette1']['name'])){
		$vignette1 = $_FILES['vignette1']['name'];
	}	
	else if (isset($_FILES['newv1']['name'])){		// Nouvelle Vignette 1
		$vignette1 = $_FILES['newv1']['name'];
	}

	if($url == "deposer.php"){
		if($_SESSION['categorie'] == "agence"){
			$req = "INSERT INTO temp(img,nom_img,titre,description,vignette1,nom_v1,vignette2,nom_v2,brouillon,auteur,client,date,produit) VALUES('$img','$img','$titre','$description','$vignette1','$vignette1','$vignette2','$vignette2','0','$nom','$client','$date','$produit')";
		}

else if($url == "modifier.php"){
		if($_SESSION['categorie'] == "agence"){
			$req = "UPDATE temp SET img='$img', nom_img='$img', titre='$titre', description='$description', vignette1='$vignette1', nom_v1='$vignette1', vignette2='$vignette2', nom_v2='$vignette2', date='$date', produit='$produit', brouillon='0', auteur='$nom', client='$client' WHERE id!='0'";
		}
0
Utilisateur anonyme > Utilisateur anonyme
 
Modification du code :
//---------------------------------------------------------- ---------------------------------- 
// Fichier deposer 
//---------------------------------------------------------- ---------------------------------- 
<form method="post" name="formulaire" enctype="multipart/form-data"> 
..... 
Image principale:<br />
<input type="file" name="img_principale" /><br /><br /> 

Vignette N°1:<br />
<input type="checkbox" name="activ_v1" id="activ_v1" onClick="GereControle('activ_v1', 'vignette1', '0');" />
<input type="file" name="vignette1" id="vignette1" disabled="disabled" /><br /><br />
........ 
<input type="Button" name="bt_ok" onclick="window.document.formulaire.action='scripts/ajout_article.php';window.document.formulaire.submit();" value="Publier l'article"> 

<input type="Button" name="preview" onclick="window.document.formulaire.action='preview.php';window.document.formulaire.submit();" value="Prévisualiser l'article"> 
</form> 
//-------------------------------------------------------------------------------------------- 


//-------------------------------------------------------------------------------------------- 
// Fichier previsu 
//-------------------------------------------------------------------------------------------- 
$nom = $_SESSION['identifiant'];
    $date = date('d-m-Y');    
    $url = basename($_SERVER['HTTP_REFERER']);

// Image Principale 
if (isset($_FILES['img_principale']['name'])){ 
$img = $_FILES['img_principale']['name']; 
} 
else if (isset($_FILES['file']['name'])){     // Nouvelle Image 
$img = $_FILES['file']['name']; 
}
if(isset($img))
$_SESSION['imgprincipale'] = $img;

// Première Vignette 
if (isset($_FILES['vignette1']['name'])){ 
$vignette1 = $_FILES['vignette1']['name']; 
}    
else if (isset($_FILES['newv1']['name'])){     // Nouvelle Vignette 1 
$vignette1 = $_FILES['newv1']['name']; 
} 
if(isset($vignette1))
$_SESSION['vignette1'] = $vignette1;

if($url == "deposer.php"){
        if($_SESSION['categorie'] == "agence"){
            $req = "INSERT INTO temp(img,nom_img,titre,description,vignette1,nom_v1,vignette2,nom_v2,brouillon,auteur,client,date,produit) VALUES('$img','$img','$titre','$description','$vignette1','$vignette1','$vignette2','$vignette2','0','$nom','$client','$date','$produit')";
        }

else if($url == "modifier.php"){
        if($_SESSION['categorie'] == "agence"){
            $req = "UPDATE temp SET img='$img', nom_img='$img', titre='$titre', description='$description', vignette1='$vignette1', nom_v1='$vignette1', vignette2='$vignette2', nom_v2='$vignette2', date='$date', produit='$produit', brouillon='0', auteur='$nom', client='$client' WHERE id!='0'";
        }

.....
Affichage de l'article
......

<form name="publier" method="post"> 
<input type="button" name="publier" value="Publier" onclick="window.document.publier.action='scripts/post_ok.php';window.document.publier.submit();"/> 
<input type="button" name="return" value="Modifier" onclick="window.document.publier.action='modifier.php';window.document.publier.submit();" /> 
<input type="button" name="save" value="Enregistrer en brouillon" onclick="window.document.publier.action='scripts/save.php';window.document.publier.submit();" /> 
</form> 
//-------------------------------------------------------------------------------------------- 


//-------------------------------------------------------------------------------------------- 
// Fichier Modif 
//-------------------------------------------------------------------------------------------- 
<form method="post" name="formmodif">    
......
Récuperation des champs de la table temp
.......
Image actuelle :<br /> 
<input type="text" name="img_principale" value="<?php echo $_SESSION['imgprincipale']; ?>" style="width:100px"/> 
Vignette N°1:<br /> 
<input type="text" name="vignette1" value="<?php 
if(isset($_SESSION['vignette1'])) 
echo $_SESSION['vignette1']; ?>" style="width:300px"/> 
<input type="button" name="bt_ok" onclick="window.document.formmodif.action='scripts/ajout_article.php';window.document.formmodif.submit();" value="Publier l'article" /> 
<input type="button" name="preview" onclick="window.document.formmodif.action='preview.php';window.document.formmodif.submit();" value="Prévisualiser l'article" /> 
</form> 
//--------------------------------------------------------------------------------------------
0
Yaninho Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   63
 
Et si tu nous donnait un peu de code Fredo ;)^^
0
Utilisateur anonyme
 
tenez je vien de faire une vidéo de mon problème :
http://so-fred.fr/fichiers/pb.exe

C'est un exe mais fait avec Screen2Exe,
c pas un virus ;)
0
Yaninho Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   63
 
Ayez confiance, c'est bon, jlé dl c'est une vidéo. ;)
0