Récupérer la valeur d'une variable JS en PHP

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 : Récupérer la valeur d'une variable JS en PHP

Merci Zeus

par daplus » 18 janv. 2007, 15:42

J'ai déjà commencé, merci du conseil

par zeus » 18 janv. 2007, 09:15

l'AJAX n'est rien de plus que la mise en collaboration de JS et de PHP, rien de plus.

Recherche un peu et tu verras ;)

Merci Zeus

par daplus » 17 janv. 2007, 22:40

Je m'attendais à cette réponse, mais je voulais être sur de n'avoir occulter aucune possibilité.

Je sais que PHP est serveur et que JS est client et qu'il y a peu de chances.

Il va me faloir plonger dans AJAX, j'espère qu'il s'agit d'un open source.

Merci encore

par zeus » 17 janv. 2007, 09:49

Ce que tu cherches à faire est tout bonnement impossible de cette manière.

Pour comprendre pourquoi, il faut que tu assimiles bien la notion de client serveur.

Le PHP est un langage serveur, c'est à dire qu'il est exécuté sur le serveur AVANT l'envoi des données sur le client (l'ordinateur avec le navigateur). Une fois que la page est affiché, le PHP a terminé son exécution et il est impossible d'y revenir sans afficher une autre page.

Le JS est un langage client, donc il est exécuté APRES l'envoi des données.

Tu comprends donc qu'il n'est pas possible de modifier des valeurs PHP avec le JS.

Plus d'info ici : http://www.commentcamarche.net/cs/csintro.php3


Quand tu auras bien assimilé ça, tu pourras essayer de chercher du côté de l'AJAX qui permet de redemander des informations au serveur grâce à JS ;)

Récupérer la valeur d'une variable JS en PHP

par daplus » 17 janv. 2007, 05:11

Bonjour à tous et à toutes,

Le script qui suit effectue la modification d'un tuple dans une table de gestion de projets.

En préalable je tiens à expliquer que je souhaite intégrer du JS dans un formulaire PHP, je ne souhaite pas utiliser un premier formulaire JS en cliquant sur submit, puis aller sur un deuxième formulaire PHP. Je souhaite tout faire dans le même formulaire.

J'ai d'abord passé du temps à lire le forum sur le transfert de données JS PHP, je n'ai trouvé que de PHP (db) vers JS. Je cherche l'inverse:

de JS vers PHP
<?php

session_start();

if ($at_id > 0 ) {$v_at_id0=$at_id;} else {if ( $v_at_id0 & !$at_id ) {$at_id=$v_at_id0;}}
if ($atp_id > 0 ) {$v_atp_id0=$atp_id;} else {if ( $v_atp_id0 & !$atp_id ) {$atp_id=$v_atp_id0;}}

?>
<!DOCTYPE HTML SYSTEM>
<html>
<head>
<title>Project</title>

<script language="JavaScript" src="css_js/ts_picker.js"></script>

</head>
<body link="blue" alink="blue" vlink="blue" background="images_ATFS/1580_2.gif">

<?php

include "include/get_root_atfs.inc";

if ($submit) {

    $today = date("Y-m-d");

    echo"<table border=0 bgcolor=#FFFFFF align=center><tr><td>";

    $sqlup = "UPDATE atproject SET atp_at_id='$atp_at_id',atp_ref='$atp_ref',atp_start='$atp_start',atp_end='$atp_end',atp_quoted='$atp_quoted',atp_awarded='$atp_awarded',atp_rogress='$atp_rogress',atp_cpl_inv='$atp_cpl_inv',atp_invoice='$atp_invoice',atp_paym_pb='$atp_paym_pb',atp_completed='$atp_completed',atp_comm='$atp_comm',atp_modified='$today' WHERE atp_id=$atp_id";

    $resultup = mysql_query($sqlup);

    echo "Record updated!<p>";

    echo "<a href='project_view.php'>Continue</a>";

    echo"</table>";

} else {

  ?>

  <P>

  <a name="bottom"></a>

  <?php

    echo"<table border=0 bgcolor=#FFFFFF align=center><tr><td>";

    echo "<table><tr><td>";

   include "include/title_choice.inc";

   echo "<td><b><font size=4 face=Arial>Modify a Project</font><br></b>";

   echo "</table>";

   echo "<br><table>";

  ?>

  <P>

  <table border="0">

<form name="tstest">

<tr><td width="190">Project Date</td><td><input type="Text" name="from_ori" value="">
<a href="javascript:show_calendar('document.tstest.from_ori', document.tstest.from_ori.value);"><img src="images_ATFS/cal.gif" width="16" height="16" border="0" alt="cal.gif" title="Click Here to Pick up the Project Date"></a> <?php  $date_start = $from_ori; echo "date_start $date_start<br>";?>  </td></tr>

<tr><td width="180">Project Follow Up Date</td><td><input type="Text" name="folup_ori" value="">
<a href="javascript:show_calendar('document.tstest.folup_ori', document.tstest.folup_ori.value);"><img src="images_ATFS/cal.gif" width="16" height="16" border="0" alt="cal.gif" title="Click Here to Pick up the Project Follow Up Date"></a> <?php  $date_end = $folup_ori; ?>  </td></tr>

</form>

   </table>

  <form method="post" action="<?php echo $PHP_SELF?>">

  <?php

  include "include/get_root_atfs.inc";

    $sql = "SELECT * FROM atproject WHERE atp_id=$atp_id";

    $result = mysql_query($sql);

    $myrow = mysql_fetch_array($result);

    $atp_id = $myrow["atp_id"];

    $atp_at_id = $myrow["atp_at_id"];
    $codetargetadr = $myrow["atp_at_id"];

    $atp_ref = $myrow["atp_ref"];

    $atp_start = $myrow["atp_start"];

    $atp_end = $myrow["atp_end"];

    $atp_quoted = $myrow["atp_quoted"];

    $atp_awarded = $myrow["atp_awarded"];

    $atp_rogress = $myrow["atp_rogress"];

    $atp_cpl_inv = $myrow["atp_cpl_inv"];

    $atp_invoice = $myrow["atp_invoice"];

    $atp_paym_pb = $myrow["atp_paym_pb"];

    $atp_completed = $myrow["atp_completed"];

    $atp_modified = $myrow["atp_modified"];

    $atp_comm = $myrow["atp_comm"];

?>

    <input type=hidden name="atp_id" value="<?php echo $atp_id ?>">



  <table border=0>

  <tr><td><font face=Arial size=2>Address</font></td><td>

    <SELECT name = "atp_at_id">

  <?php

    $resultoptiontadr = mysql_query ("SELECT * FROM ataddress ORDER BY at_name1");

  while($opt_lineadr=mysql_fetch_array ($resultoptiontadr))

    if ($opt_lineadr[0]== $codetargetadr) {

	echo "<option SELECTED value=$opt_lineadr[0]>$opt_lineadr[1] > $opt_lineadr[2]</option>\n";

	 } else {

    echo "<option value=$opt_lineadr[0]>$opt_lineadr[1] > $opt_lineadr[2]</option>\n";

	 }

 ?>

  </SELECT></td></tr>

  <tr><td>Project Nr</td><td><input type="Text" name="atp_ref" size="10" value="<?php echo $atp_ref ?>"></td></tr>

  <tr><td>Quoted</td><td><input type="Text" name="atp_quoted" size="10" value="<?php echo $atp_quoted ?>"> Quote Nr </td></tr>

  <tr><td>Awarded</td><td><input type="Text" name="atp_awarded" size="1" value="<?php echo $atp_awarded ?>"> Y or empty </td></tr>

  <tr><td>In Progress</td><td><input type="Text" name="atp_rogress" size="1" value="<?php echo $atp_rogress ?>"> Y or empty </td></tr>

  <tr><td>Completed before Invoicing&nbsp;&nbsp;&nbsp;</td><td><input type="Text" name="atp_cpl_inv" size="1" value="<?php echo $atp_cpl_inv ?>"> Y or empty  </td></tr>

  <tr><td>Invoiced</td><td><input type="Text" name="atp_invoice" size="10" value="<?php echo $atp_invoice ?>"> Invoice Number </td></tr>

  <tr><td>Payment Delinquent</td><td><input type="Text" name="atp_paym_pb" size="1" value="<?php echo $atp_paym_pb ?>"> Y or empty </td></tr>

  <tr><td>Project completed</td><td><input type="Text" name="atp_completed" size="1" value="<?php echo $atp_completed ?>"> Y or empty </td></tr>

  <tr><td>Comments</td><td><textarea name="atp_comm" rows="10" cols="75"><? echo ''.$atp_comm.''; ?></textarea></td></tr>

  </table>

  <input type="Submit" name="submit" value="Enter information">
  <a href="javascript:history.go(-1)">BACK</a>

  </form>

<?php

}

  echo "</table>";

?>

</body>

</html>
La partie que je n'arrive pas à résoudre est ici:
<form name="tstest">

<tr><td width="190">Project Date</td><td><input type="Text" name="from_ori" value="">
<a href="javascript:show_calendar('document.tstest.from_ori', document.tstest.from_ori.value);"><img src="images_ATFS/cal.gif" width="16" height="16" border="0" alt="cal.gif" title="Click Here to Pick up the Project Date"></a> <?php  $date_start = $from_ori; echo "date_start $date_start<br>";?>  </td></tr>

<tr><td width="180">Project Follow Up Date</td><td><input type="Text" name="folup_ori" value="">
<a href="javascript:show_calendar('document.tstest.folup_ori', document.tstest.folup_ori.value);"><img src="images_ATFS/cal.gif" width="16" height="16" border="0" alt="cal.gif" title="Click Here to Pick up the Project Follow Up Date"></a> <?php  $date_end = $folup_ori; ?>  </td></tr>

</form> 
cela marche mais je n'arrive pas à charger $date_start et $date_end depuis JS

Je reconnais avoir utilisé un code JS issu d'exemples sur le web, mais nulle part je n'ai trouvé de transfert JS vers PHP

Merci d'avance pour toute piste et pour votre temps