Problème de formulaire
Résolu
Smoking bird
Messages postés
911
Statut
Membre
-
Smoking bird Messages postés 911 Statut Membre -
Smoking bird Messages postés 911 Statut Membre -
Bonjour,
Ce code ci ne semble pas fonctionner:
Je reçois le nom des images dans le tableau voulu quand il n'y a pas l'attribut enctype, mais s'il est là, je ne reçois rien.
Quoi qu'il en soit, je n'arrive pas à récupérer les fichiers avec ce formulaire, et j'aimerais comprendre pourquoi.
Quelqu'un pourrait il m'aider? A ce que j'en sais, c'est valide^^
Smoke
PS: toutes les autres données sont récupérées, il ne manque que les données image.
Ce code ci ne semble pas fonctionner:
<form action='' enctype='multipart/form-data' method='post'>
<p class='bckTitre'>Modifier une page</p>
<p ckass='bckTexte'>Voici tes cibles, jedi:<br /><br />
<span class='eachPage'>
<label class='stats'>Titre: <input type='text' name='MP[011d9f][]' value='Accueil'/></label>
<select name='MP[011d9f][]' class='stats'>
<option value='ffbb00' style='background-color:#ffbb00' selected></option>
<option value='2222ff' style='background-color:#2222ff'></option>
</select><br />
<label>Texte:<textarea class='textContenter' name='MP[011d9f][]'>Ou pas!</textarea><br />
<label class='stats'>En cours d'édition: <input type='radio' name='MP[011d9f][]' value="en cours d'édition" /></label>
<label class='stats'>En ligne: <input type='radio' name='MP[011d9f][]' value='en ligne' checked /></label><br /><br />
<label>Mots-clefs:<textarea name='MP[011d9f][]'>Première page de test, test couleurs modifiées, add mots clefs,</textarea></label>
<input type='hidden' value='011d9f' name='MP[011d9f][]'/><br />
<a href='#' onclick="javascript:Annexes('annexes')">Module d'annexes</a><br />
<span class='annexes' id='annexes' style='display:none;'>
<label class='miniature'>Miniature n°1: <input type='file' name='annexes[1][mini]'/></label>
<label class='image'>Image n°1: <input type='file' name='annexes[1][img]'/></label><br/>
<label class='miniature'>Miniature n°2: <input type='file' name='annexes[2][mini]'/></label>
<label class='image'>Image n°2: <input type='file' name='annexes[2][img]'/></label><br/>
</span>
<a href='#' onclick="javascript:Annexes('delAnnexes')">Suppression d'annexes</a><br />
<span class='annexes delAnnexes' id='delAnnexes' style='display:none;'>
<input type='hidden' name='AnnToken' value=''/>
</span>
</span>
<br /><input type='submit'/>
</p>
</form>
Je reçois le nom des images dans le tableau voulu quand il n'y a pas l'attribut enctype, mais s'il est là, je ne reçois rien.
Quoi qu'il en soit, je n'arrive pas à récupérer les fichiers avec ce formulaire, et j'aimerais comprendre pourquoi.
Quelqu'un pourrait il m'aider? A ce que j'en sais, c'est valide^^
Smoke
PS: toutes les autres données sont récupérées, il ne manque que les données image.
3 réponses
On aimerait voir tout ton code, c'est à dire aussi celui qui sert à récupérer les données du formulaire!
mdr tu l'auras voulu!
ALAKAZAM!!!
ALAKAZAM!!!
//récupère les variables, en cours de développement donc pas terrible
function annexeMods($cible){
$annexes=$_POST['annexes'];//tableau multi dont chaque tableau contient une miniature et une image
$token=$_POST['AnnToken'];
if($annexes or $files){
foreach($annexes as $iAnn=>$vAnn){
$fCorps.="Annexe id $iAnn value $vAnn[img]<br />";
if(!$vAnn['img'] OR !$vAnn['mini']) { unset($annexes[$iAnn]); }
$mini=$vAnn['mini']; $img=$vAnn['img'];
$fCorps.="Bober: $mini $img <br />";
}
}else{
$fCorps="Aucune donnée n'a été transmise en ajout d'image. ";
}
return $fCorps;
}
//établi le formulaire général
function modiPages(){
$fType='upload';
$fTitre='Modifier une page';
if(!$_POST['mP']){//on sélectionne les cibles
$sqlMP="select ref,chemin,titre from contenu order by titre asc";
$queryMP=mysql_query($sqlMP) or die(mysql_error());
while($mP=mysql_fetch_array($queryMP)){
$fCorps.="<label>$mP[titre] <input type='checkbox' value='$mP[chemin]' name='mP[]'/></label><br />";
}
$fCorps.="<br />";
}else{//on répète le formulaire pour chaque cible
$fCorps.="Voici tes cibles, jedi:<br /><br />";
$targets=$_POST['mP'];
foreach($targets as $id=>$tip){
$sqlMP="select contenu.chemin as chemin, contenu.statut as statut, contenu.titre as titre, ";
$sqlMP.="menu.couleur as couleur, menu.ref as meRe, ";
$sqlMP.="contenu.texte as texte, contenu.keyWords as keyds, contenu.annexes as gals ";
$sqlMP.="from contenu,menu where contenu.chemin='$tip' and menu.ref='$tip'";
$queryMP=mysql_query($sqlMP) or die(mysql_error());
while($mP=mysql_fetch_array($queryMP)){
$fCorps.="\n\t\t\t\t\t\t\t\t<span class='eachPage'>";
$fCorps.="\n\t\t\t\t\t\t\t\t\t<label class='stats'>Titre: <input type='text' name='MP[$mP[chemin]][]' value='".parent::shapeStringOut($mP[titre])."'/></label>";
$fCorps.="\n\t\t\t\t\t\t\t\t\t<select name='MP[$mP[chemin]][]' class='stats'>";
$fichier=fopen('couleurs.txt','r');
$couleurs=fread($fichier,filesize('couleurs.txt'));
fclose($fichier);
$couleurs=explode('//',$couleurs);
foreach($couleurs as $tipd){
$fCorps.="\n\t\t\t\t\t\t\t\t\t\t<option value='$tipd' style='background-color:#$tipd'";
if($tipd==$mP['couleur']){
$fCorps.=" selected";
}
$fCorps.="></option>";
}
$fCorps.="\n\t\t\t\t\t\t\t\t\t</select><br />";
$fCorps.="\n\t\t\t\t\t\t\t\t\t<label>Texte:<textarea class='textContenter' name='MP[$mP[chemin]][]'>".parent::shapeStringOut($mP[texte])."</textarea><br />";
$fCorps.="\n\t\t\t\t\t\t\t\t\t<label class='stats'>En cours d'édition: <input type='radio' name='MP[$mP[chemin]][]' value=\"en cours d'édition\" ";
if($mP['statut']=="en cours d'édition"){
$fCorps.="checked ";
}
$fCorps.="/></label>";
$fCorps.="\n\t\t\t\t\t\t\t\t\t<label class='stats'>En ligne: <input type='radio' name='MP[$mP[chemin]][]' value='en ligne' ";
if($mP['statut']=='en ligne'){
$fCorps.="checked ";
}
$fCorps.="/></label><br /><br />";
$fCorps.="\n\t\t\t\t\t\t\t\t\t<label>Mots-clefs:<textarea name='MP[$mP[chemin]][]'>".parent::shapeStringOut($mP[keyds])."</textarea></label>";
$fCorps.="\n\t\t\t\t\t\t\t\t\t<input type='hidden' value='$mP[chemin]' name='MP[$mP[chemin]][]'/><br />";
$fCorps.="\n\t\t\t\t\t\t\t\t\t".parent::annexeMods();
$fCorps.="\n\t\t\t\t\t\t\t\t\t".parent::delAnnexes($mP['chemin'])."\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t";
}
}
}
parent::formed($fType,$fTitre,$fCorps);
}
//fonction contenant les input files
function annexeMods(){
$fCorps="\n\t\t\t\t\t\t\t\t\t<a href='#' onclick=\"javascript:Annexes('annexes')\">Module d'annexes</a><br />";
$fCorps.="\n\t\t\t\t\t\t\t\t\t<span class='annexes' id='annexes' style='display:none;'>";
for($i=1;$i<=2;$i++){
$fCorps.="\n\t\t\t\t\t\t\t\t\t<label class='miniature'>Miniature n°$i: <input type='file' name='annexes[$i][mini]'/></label>";
$fCorps.="\n\t\t\t\t\t\t\t\t\t<label class='image'>Image n°$i: <input type='file' name='annexes[$i][img]'/></label><br/>";
}
$fCorps.="\n\t\t\t\t\t\t\t\t\t</span>";
return $fCorps;
}
//met en forme toutes les fonctions que j'lui envoi et qui sont en formulaires
function formed($fType,$fTitre,$fCorps){
echo "\n\t\t\t\t\t\t\t<form action=''";
if ($fType=='upload')
echo " enctype='multipart/form-data'";
echo " method='post'>";
echo "\n\t\t\t\t\t\t\t\t<p class='bckTitre'>$fTitre</p>",
"\n\t\t\t\t\t\t\t\t<p ckass='bckTexte'>$fCorps";
if(!preg_match('#(\sne\s|\saucun\s)(^input)#i',$fCorps)){
echo "<br /><input type='submit'/>";
}
echo "\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</form>";
}