Pb avec value dans input hidden [Résolu]

Signaler
-
Messages postés
62
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
31 mai 2020
-
Bonjour contributeurs et contributrices,

Je souhaiterai récupérer une valeur d'un input hidden qui serait composée d'un texte fixe (NumSession) et d'une variable obtenue par une requête php ($donnees), qui n'est en fait que le dernier ID de la table auquel j'ajoute 1.

Voici le code utilisé dans le fichier formulaire.php
<head>

<script>
function popup()
{
w=open("",'popup','width=400,height=500,toolbar=no,scrollbars=yes,resizable=yes');
w.document.write("<BODY>");

w.document.write("Session N° : "+NumSession+"<BR><BR>");  // Là dansla pop-up, j'ai bien la valeur voulue de Session x

w.document.write("</BODY>");
w.document.close();
w.print();
}
</script>


<script type="text/javascript">
      var NumSession="Session "+<?php echo ($donnees[id])+1 ; ?>;
</script>

</head>



<body>

<form name="form0">

<form method="post" action="Envoi.php">

<?php
$serveur = '****' ; $user = '*****' ; $mdp= '*****' ; $bdd = 'Table' ;
$id_sql = mysql_connect($serveur,$user,$mdp) ;
$ok = mysql_select_db($bdd,$id_sql) ;

$req = mysql_query('SELECT ID FROM Table ORDER BY ID DESC LIMIT 0,1') or die(mysql_error($id_sql)) ;
$donnees = mysql_fetch_array($req) ;
mysql_close() ;
?>

<input type="hidden" name="NumSession"  id="NumSession" value="Session <?php echo ($donnees[id]+1)?>" />

<input type="submit" value="Envoyer" />       

</form>

</body>
</html>


Avec ce code, la variable NumSession prend la valeur de "Session +" mais pas celle recherchée de "Session 23" (en supposant que $donnees soit 22).

Si une âme charitable pouvait me venir en aide...
Merci d'avance
Daniel

1 réponse

Messages postés
62
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
31 mai 2020

La solution a consisté après avoir remonté le code php à sa place (avant l'exécution du JS), de travailler sur la variable reçue par la requête en php pour la mettre à la valeur voulue puis de l'affecter à une autre variable en la mettant au format recherché (cad concaténation de la variable et du texte fixe). En php, la concaténation se fait avec un point.
Ce qui donne en gros :
Pour la partie php,
<?php
$serveur = '****' ; $user = '*****' ; $mdp= '*****' ; $bdd = 'Table' ;
$id_sql = mysql_connect($serveur,$user,$mdp) ;
$ok = mysql_select_db($bdd,$id_sql) ;
$req = mysql_query('SELECT ID FROM Table ORDER BY ID DESC LIMIT 0,1')
or die(mysql_error($id_sql)) ;
$donnees = mysql_fetch_array($req) ;
mysql_close() ; /* la variable étant récupérée, on ferme la requête
$donnees = ($donnees['id'])+1 ; /* La variable $donnees prend la valeur d'elle même plus 1 */
$NumSession = "Session ".$donnees ; /* la variable souhaitée est alors constituée par concaténation du texte fixe voulu et de la valeur de la variable $donnees */
?>


Et pour la partie JS,
<script type="text/javascript">
// définition de la variable JS :
      NumSession='<?php echo $NumSession;?>';
</script>



--