par
lucieemtl » 22 janv. 2016, 17:00
Bonjour à tous et à toutes,
Est-ce que quelqu'un pourrait m'expliquer pourquoi j'ai le message d'erreur suivant : Notice: Undefined index: valNum in C:\wamp\www\wordpress2\wp-content\plugins\DWPSecurity\traitement.php on line 51
avec mon code qui est celui-ci :
Traitement.php
Code : Tout sélectionner
<?php
if(isset($_POST['checkboxDossierPath']))
{
?>
<div id="lucie_title">
<h1 id="lucie_title_modif">ATTRIBUTS DES FICHIERS</h1>
<hr/>
<p id="lucie_instructor">Séléctionnez les nouveaux attributs pour les dossiers séléctionnés :</p>
</div>
<div id="lucie_droits">
<form id="lucie_attributionDroits" name="lucie_attributionDroits" action="#" method="POST"/>
<fieldset class="lucie_fieldset_proprio">
<legend class="lucie_legend">
Permissions du propriétaire
</legend>
<ul class="lucie_droits_dossiers">
<li><input type="checkbox" name="checkbox_droit" id="checkboxLire_proprio" value="4"/>Lire</li>
<li><input type="checkbox" name="checkbox_droit" id="checkboxEcrire_proprio" value="2"/>Écrire</li>
<li><input type="checkbox" name="checkbox_droit" id="checkboxExecuter_proprio" value="1"/>Éxécuter</li>
</ul>
</fieldset>
<fieldset class="lucie_fieldset_groupe">
<legend class="lucie_legend">
Permissions de groupe
</legend>
<ul class="lucie_droits_dossiers">
<li><input type="checkbox" name="checkbox_droit" id="checkboxLire_groupe" value="4"/>Lire</li>
<li><input type="checkbox" name="checkbox_droit" id="checkboxEcrire_groupe" value="2"/>Écrire</li>
<li><input type="checkbox" name="checkbox_droit" id="checkboxExecuter_groupe" value="1"/>Éxécuter</li>
</ul>
</fieldset>
<fieldset class="lucie_fieldset_public">
<legend class="lucie_legend">
Permissions publiques
</legend>
<ul class="lucie_droits_dossiers">
<li><input type="checkbox" name="checkbox_droit" id="checkboxLire_public" value="4"/>Lire</li>
<li><input type="checkbox" name="checkbox_droit" id="checkboxEcrire_public" value="2"/>Écrire</li>
<li><input type="checkbox" name="checkbox_droit" id="checkboxExecuter_public" value="1"/>Éxécuter</li>
</ul>
</fieldset>
</form>
<!--On utilisera sûrement de l'AJAX pour afficher dynamiquement les droits dans l'input-->
<!--En fait il faudrait trouver un moyen pour calculer les fieldset entre eux-->
<div id="lucie_valeur_num"></div>
<input type="button" name="lucie_valider_attributs" value="ATTRIBUER" id="lucie_valider_attributs"/>
</div>
<?php
echo '<div id="lucie_foreachDossier">';
include 'js/numerisation.js';
echo $_POST['valNum'];
foreach($_POST['checkboxDossierPath'] as $valeur)
{
//Il faudra peut-être utiliser ce code à un moment $mode =0755;chmod("$valeur", octdec($mode)); On précise que $mode sera spécifier en fonction des choix de l'utilisateur
echo "La checkbox $valeur a été cochée<br>";
}
echo '</div>';
}
else
{
echo '<h1 id="lucie_title_error">ATTENTION !</h1><hr/><p id="lucie_errorDossier">Veuillez tout d\'abord sélectionner les dossiers auxquels modifier les attributs.</p>';
}
?>
Mon JS :
Code : Tout sélectionner
<script>
$(function numerisation(){
$('#lucie_valider_attributs').click(function(){
// Ce tableau javascript va stocker les valeurs des checkbox
var checkbox_val_proprio = [];
var checkbox_val_groupe = [];
var checkbox_val_public = [];
// Parcours de toutes les checkbox checkées avec les différentes classes
$("#checkboxLire_proprio:checked, #checkboxEcrire_proprio:checked, #checkboxExecuter_proprio:checked").each(function(){
checkbox_val_proprio.push(parseInt($(this).val()));
});
$("#checkboxLire_groupe:checked, #checkboxEcrire_groupe:checked, #checkboxExecuter_groupe:checked").each(function(){
checkbox_val_groupe.push(parseInt($(this).val()));
});
$("#checkboxLire_public:checked, #checkboxEcrire_public:checked, #checkboxExecuter_public:checked").each(function(){
checkbox_val_public.push(parseInt($(this).val()));
});
//Les lignes de code "console.log" permettent de vérifier les valeurs du tableau (dans la console)
//console.log(checkbox_val_proprio);
//console.log(checkbox_val_groupe);
//console.log(checkbox_val_public);
//Ici, on va additionner les valeurs qui auront été placées dans le tableau checkbox_val_proprio.
var tableauArray1 = checkbox_val_proprio.reduce(function(a, b) {
return a + b;
});
//console.log(tableauArray1); //On peut le vérifier le total grâce à la console. Si admettons "Lire", "Écrire", et "Éxécuter" ont été cochées, alors la console renverra 7
var tableauArray2 = checkbox_val_groupe.reduce(function(a, b) {
return a + b;
});
//console.log(tableauArray2);
var tableauArray3 = checkbox_val_public.reduce(function(a, b) {
return a + b;
});
//console.log(tableauArray3);
var valeurNumerique = String(tableauArray1)+String(tableauArray2)+String(tableauArray3);
//console.log(valeurNumerique);
//$("#lucie_valeur_num").html('Valeur numérique : '+valeurNumerique);
$.post("../wp-content/plugins/DWPSecurity/traitement.php",{'valNum':valeurNumerique}, function(data){$("#lucie_valeur_num").html('Valeur numérique : '+valeurNumerique);});
});
});
</script>
Puisque la div #lucie_valeur_num prend bien "Valeur numérique : 777" (par exemple), je ne vois pas pourquoi lorsque je fais echo $_POST['valNum'] ça ne fonctionne pas.....
Bonjour à tous et à toutes,
Est-ce que quelqu'un pourrait m'expliquer pourquoi j'ai le message d'erreur suivant : Notice: Undefined index: valNum in C:\wamp\www\wordpress2\wp-content\plugins\DWPSecurity\traitement.php on line 51
avec mon code qui est celui-ci :
Traitement.php
[code]<?php
if(isset($_POST['checkboxDossierPath']))
{
?>
<div id="lucie_title">
<h1 id="lucie_title_modif">ATTRIBUTS DES FICHIERS</h1>
<hr/>
<p id="lucie_instructor">Séléctionnez les nouveaux attributs pour les dossiers séléctionnés :</p>
</div>
<div id="lucie_droits">
<form id="lucie_attributionDroits" name="lucie_attributionDroits" action="#" method="POST"/>
<fieldset class="lucie_fieldset_proprio">
<legend class="lucie_legend">
Permissions du propriétaire
</legend>
<ul class="lucie_droits_dossiers">
<li><input type="checkbox" name="checkbox_droit" id="checkboxLire_proprio" value="4"/>Lire</li>
<li><input type="checkbox" name="checkbox_droit" id="checkboxEcrire_proprio" value="2"/>Écrire</li>
<li><input type="checkbox" name="checkbox_droit" id="checkboxExecuter_proprio" value="1"/>Éxécuter</li>
</ul>
</fieldset>
<fieldset class="lucie_fieldset_groupe">
<legend class="lucie_legend">
Permissions de groupe
</legend>
<ul class="lucie_droits_dossiers">
<li><input type="checkbox" name="checkbox_droit" id="checkboxLire_groupe" value="4"/>Lire</li>
<li><input type="checkbox" name="checkbox_droit" id="checkboxEcrire_groupe" value="2"/>Écrire</li>
<li><input type="checkbox" name="checkbox_droit" id="checkboxExecuter_groupe" value="1"/>Éxécuter</li>
</ul>
</fieldset>
<fieldset class="lucie_fieldset_public">
<legend class="lucie_legend">
Permissions publiques
</legend>
<ul class="lucie_droits_dossiers">
<li><input type="checkbox" name="checkbox_droit" id="checkboxLire_public" value="4"/>Lire</li>
<li><input type="checkbox" name="checkbox_droit" id="checkboxEcrire_public" value="2"/>Écrire</li>
<li><input type="checkbox" name="checkbox_droit" id="checkboxExecuter_public" value="1"/>Éxécuter</li>
</ul>
</fieldset>
</form>
<!--On utilisera sûrement de l'AJAX pour afficher dynamiquement les droits dans l'input-->
<!--En fait il faudrait trouver un moyen pour calculer les fieldset entre eux-->
<div id="lucie_valeur_num"></div>
<input type="button" name="lucie_valider_attributs" value="ATTRIBUER" id="lucie_valider_attributs"/>
</div>
<?php
echo '<div id="lucie_foreachDossier">';
include 'js/numerisation.js';
echo $_POST['valNum'];
foreach($_POST['checkboxDossierPath'] as $valeur)
{
//Il faudra peut-être utiliser ce code à un moment $mode =0755;chmod("$valeur", octdec($mode)); On précise que $mode sera spécifier en fonction des choix de l'utilisateur
echo "La checkbox $valeur a été cochée<br>";
}
echo '</div>';
}
else
{
echo '<h1 id="lucie_title_error">ATTENTION !</h1><hr/><p id="lucie_errorDossier">Veuillez tout d\'abord sélectionner les dossiers auxquels modifier les attributs.</p>';
}
?>[/code]
Mon JS :
[code]<script>
$(function numerisation(){
$('#lucie_valider_attributs').click(function(){
// Ce tableau javascript va stocker les valeurs des checkbox
var checkbox_val_proprio = [];
var checkbox_val_groupe = [];
var checkbox_val_public = [];
// Parcours de toutes les checkbox checkées avec les différentes classes
$("#checkboxLire_proprio:checked, #checkboxEcrire_proprio:checked, #checkboxExecuter_proprio:checked").each(function(){
checkbox_val_proprio.push(parseInt($(this).val()));
});
$("#checkboxLire_groupe:checked, #checkboxEcrire_groupe:checked, #checkboxExecuter_groupe:checked").each(function(){
checkbox_val_groupe.push(parseInt($(this).val()));
});
$("#checkboxLire_public:checked, #checkboxEcrire_public:checked, #checkboxExecuter_public:checked").each(function(){
checkbox_val_public.push(parseInt($(this).val()));
});
//Les lignes de code "console.log" permettent de vérifier les valeurs du tableau (dans la console)
//console.log(checkbox_val_proprio);
//console.log(checkbox_val_groupe);
//console.log(checkbox_val_public);
//Ici, on va additionner les valeurs qui auront été placées dans le tableau checkbox_val_proprio.
var tableauArray1 = checkbox_val_proprio.reduce(function(a, b) {
return a + b;
});
//console.log(tableauArray1); //On peut le vérifier le total grâce à la console. Si admettons "Lire", "Écrire", et "Éxécuter" ont été cochées, alors la console renverra 7
var tableauArray2 = checkbox_val_groupe.reduce(function(a, b) {
return a + b;
});
//console.log(tableauArray2);
var tableauArray3 = checkbox_val_public.reduce(function(a, b) {
return a + b;
});
//console.log(tableauArray3);
var valeurNumerique = String(tableauArray1)+String(tableauArray2)+String(tableauArray3);
//console.log(valeurNumerique);
//$("#lucie_valeur_num").html('Valeur numérique : '+valeurNumerique);
$.post("../wp-content/plugins/DWPSecurity/traitement.php",{'valNum':valeurNumerique}, function(data){$("#lucie_valeur_num").html('Valeur numérique : '+valeurNumerique);});
});
});
</script>[/code]
Puisque la div #lucie_valeur_num prend bien "Valeur numérique : 777" (par exemple), je ne vois pas pourquoi lorsque je fais echo $_POST['valNum'] ça ne fonctionne pas.....