$_files, enctype et $_session

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 : $_files, enctype et $_session

par morroko » 14 mai 2009, 10:44

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 ;)

par morroko » 12 mai 2009, 09:42

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
Configuration: Windows XP
Opera 9.64


Bon un peu de code ^^ :

Code : Tout sélectionner

//---------------------------------------------------------- ---------------------------------- // 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> //--------------------------------------------------------------------------------------------

Code : Tout sélectionner

//-------------------------------------------------------------------------------------------- // 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> //--------------------------------------------------------------------------------------------

Code : Tout sélectionner

//-------------------------------------------------------------------------------------------- // 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> //--------------------------------------------------------------------------------------------

par zeus » 11 mai 2009, 19:02

Modération :
morroko, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

par Nagol » 11 mai 2009, 18:59

il te faut un endroit ou stocker ton enctype de façon définitive, une base de donnée, un fichier texte, bref quelquechose, ce que tu veux faire c'est avoir le enctype hots contexte d'upload, c'est juste pas possible d'avoir ça. reprends ton truc avec une insertion en base de donnée des informations à l'upload, et bases tout ton script sur la base de donnée plutot que sur l'upload et ca va fonctionner.

$_files, enctype et $_session

par morroko » 11 mai 2009, 17:44

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
Configuration: Windows XP
Opera 9.64


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> 
//--------------------------------------------------------------------------------------------