Récupération d'un champ javascript en php

Fermé
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016 - 13 janv. 2014 à 20:22
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016 - 15 janv. 2014 à 22:58
Bonjour,

Voilà j'essaie déjà depuis quelque temps de passer la valeur contenu dans mes colonnes id d'un tableau. Lors du clic sur le lien modification je renvoie la valeur de l'id sur le ligne où il y a eu le clic et de le récupérer dans mon popin.

Pas simple à expliquer ...

Je me permet de mettre le code ma page :

<?php 

include('header.php');

//Traitement popup
//if( $_POST['popup'] == true)
//{
// echo 'id : ',$_POST['idPopup'];
//}
//else // Traitement de la fenêtre principale
//{

if( isset($_POST) && !empty($_POST['code']) && !empty($_POST['nom']))
{
extract($_POST);

echo 'code ',$code,'<br>';
echo 'nom ',$nom,'<br>';
echo 'description ',$description,'<br>';
echo 'statut ',$statut,'<br>';
echo 'px_vente ',$px_vente,'<br>';
echo 'contexte ',$contexte_popup_produit,'<br>';
echo 'user ',$username,'<br>';
echo 'user2 ',$_SESSION['Authentification']['username'],'<br>';

if ($statut == 'Actif')
{
$insert_statut = 1;
}
else
{
$insert_statut = 0;
}

$insert = $connection->prepare('INSERT INTO KS_PRODUITS VALUES(
:id, :code, :statut, :descr, :px_vente, :px_achat, :user_creat, :date_creat, :user_modif, :date_modif, :stock, :nom)');

try
{
// On envois la requète
$success = $insert->execute( array
(
'id'=>'',
'code'=>$code,
'statut'=>$insert_statut,
'descr'=>$description,
'px_vente'=>$px_vente,
'px_achat'=>0,
'user_creat'=>$username,
'date_creat'=>date("Y-m-d"),
'user_modif'=>'',
'date_modif'=>'',
'stock'=>0,
'nom'=>$nom
)
);

if( $success )
{
echo "Enregistrement réussi";
}
}
catch( Exception $e )
{
echo 'Erreur de requète : ', $e->getMessage();
}

}
//}

?>

<style>
/* TEST */
.voile-noir {
position: fixed;
display: none;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: 0.75;
background: gray;
z-index: 9999;
}
.popup-block{
position: fixed;
display: none;
top: 50%;
left: 50%;
padding: 20px;
z-index: 99999;
font-size: 1em;
background: #000;
border: 20px solid #ddd;
-webkit-box-shadow: 0px 0px 20px #000;
-moz-box-shadow: 0px 0px 20px #000;
box-shadow: 0px 0px 20px #000;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}
.popup p {
padding: 5px 10px;
margin: 5px 0;
}
.popup-btn-close {
float: right;
margin: -55px -55px 0 0;
}
</style>

<div>
<a class="brand"> <span>Produits</span></a>
</div>

<div class="row-fluid sortable">
<div class="box span12">
<div class="box-header well" data-original-title>
<h2>Produits</h2>
<div class="box-icon">
<div class="btn btn-setting btn-round">
<a href="#" class="popup-light" data-popup-class="popup-block" data-popup-width="700px"><i class="icon-plus-sign"></i></a>
</div>
</div>
</div>

<div class="box-content">
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th style="display:none">Id </th>
<th>Code</th>
<th>Nom produit</th>
<th>Prix de vente</th>
<th>Statut</th>
<th>Actions</th>
</tr>
</thead>

<tbody>
<?php
// Récupération des données
try
{
// On envois la requète
$select = $connection->query("SELECT * FROM KS_PRODUITS");

// On indique que nous utiliserons les résultats en tant qu'objet
$select->setFetchMode(PDO::FETCH_OBJ);

// Nous traitons les résultats en boucle
while( $enregistrement = $select->fetch() )
{
// Affichage des enregistrements
echo '<tr>';
// Affichage d'un des champs
echo '<td style="display:none">', $enregistrement->PDT_ID, '</td>';
echo '<td>', $enregistrement->PDT_CODE, '</td>';
echo '<td>', $enregistrement->PDT_NOM, '</td>';
echo '<td>', $enregistrement->PDT_PRIX_VENTE, ' €</td>';

if ($enregistrement->PDT_ACTIF == '0')
{
echo '<td> Inactif </td>';
}
else
{
echo '<td> Actif </td>';
}

echo '<td class="center">';
echo '<div class="btn btn-success">';
echo '<a href="#" class="popup-light" data-popup-class="popup-block" data-popup-width="700px">';
echo '<i class="icon-edit icon-white"></i>';
echo '</a>';
echo '</div>';
echo '<a class="btn btn-danger" href="#">';
echo '<i class="icon-trash icon-white"></i>';
echo '</a>';
echo '</td>';
echo '</tr>';
}
}
catch ( Exception $e )
{
echo "Une erreur est survenue lors de la récupération des produits";
}


?>

</tbody>
</table>

<div class="pagination pagination-centered">
<ul>
<li><a href="#">Prev</a></li>
<li class="active">
<a href="#">1</a>
</li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">Next</a></li>
</ul>
</div>
</div>
</div><!--/span-->
</div><!--/row-->

<div class="popup-block">
<div class="row-fluid sortable">
<div class="box span12">
<div class="box-header well" data-original-title>
<h2><i class="icon-edit"></i> Produits</h2>
</div>
<div class="box-content">
<form class="form-horizontal" action="produits.php" method="post" name="form_pdts" onsubmit="return valider()" id="passeJson">
<fieldset>
<?php
//Traitement popup
//if( $_POST['popup'] == true)
//{
echo 'id : ',json_encode($_POST['popup']),'<br>';
echo 'id : ',json_encode($_POST['idPopup']),'<br>';
//}
?>

<span id="foo" name="id" ></span>

<div class="control-group">
<label class="control-label" for="focusedInput">Code</label>
<div class="controls">
<input class="input-xlarge focused" id="code" name="code" type="text" value="">
</div>
</div>

<div class="control-group">
<label class="control-label" for="focusedInput">Nom</label>
<div class="controls">
<input class="input-xlarge focused" id="nom" name="nom" type="text" value="">
</div>
</div>

<div class="control-group">
<label class="control-label" for="textarea2">Description</label>
<div class="controls">
<textarea class="cleditor" id="description" name="description" rows="3"></textarea>
</div>
</div>

<div class="control-group">
<label class="control-label" for="selectError">Statut</label>
<div class="controls">
<select id="statut" name="statut" data-rel="chosen">
<option>Actif</option>
<option>Inactif</option>
</select>
</div>
</div>

<div class="control-group">
<label class="control-label" for="focusedInput">Prix de vente</label>
<div class="controls">
<input class="input-xlarge focused" id="px_vente" name="px_vente" type="text" value="">
</div>
</div>

<div class="form-actions">
<button type="submit" class="btn btn-primary" >Sauvegarder</button>
<button class="btn">Annuler</button>
</div>
</fieldset>
</form>
</div>
</div><!--/span-->
</div><!--/row-->
</div>


<script charset="utf-8" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
<script>
$(function(){
$(".popup-light").click(function() {
var obj = $(this),
popupligne = obj.parent().parents('tr:eq(0)').find('td:eq(0)').text(),
popupClass = obj.data("popupClass"),
popupWidth = obj.data("popupWidth"),
objPopup = $('.' + popupClass);

objPopup
.css("width", popupWidth)
.prepend('<img src="https://sohtanaka.developpez.com/tutoriels/javascript/creez-fenetre-modale-avec-css-et-jquery/fichiers/close_pop.png" class="popup-btn-close" title="Close Window" alt="Close" />')
.css({
// Si l'on regroupe les deux blocs CSS, le popup n'est pas bien positionné
// Le popup doit avoir sa taille définitive avant le calcul de outerHeight et de outerWidth
"margin-top": -objPopup.outerHeight(true)/2,
"margin-left": -objPopup.outerWidth(true)/2
})
.fadeIn();

$("<div/>", {
"class":"voile-noir",
"css":{
"filter":"alpha(opacity=80)"
}
}).appendTo("body").fadeIn();

$('#foo').html(popupligne);

return false;
});

$("body").delegate(".popup-btn-close, .voile-noir", "click", function(){
$('.voile-noir , .popup-block').fadeOut(function(){
$(".popup-btn-close, .voile-noir").remove();
});

return false;
});

$("#passeJson").load(function(){
id = $(this).find("span[name=id]").val();
url = $(this).attr("action");
$.post(url,{idPopup:id,popup:true},function(data){
console.log('youpi');},"json");
});
});

function valider()
{
elt=document.forms['form_pdts'].elements['code'];
if(elt.value = "")
{
alert("Saisissez un code");
return false;
}

elt=document.forms['form_pdts'].elements['nom'];
if(elt.value = "")
{
alert("Saisissez un nom de produit");
return false;
}

return true;
}


</script>


<?php include('footer.php'); ?>

Avez vous une idée de pourquoi ces deux lignes renvoient null svp :

echo 'id : ',json_encode($_POST['popup']),'<br>';
echo 'id : ',json_encode($_POST['idPopup']),'<br>';

En espérant un peu d'aide svp.

Merci par avance.


A voir également:

2 réponses

Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 21
15 janv. 2014 à 22:34
indique seulement le code concerné, y a trop a lire la, surtout sans la coloration syntaxique.
0
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016
15 janv. 2014 à 22:58
0