Page 1 sur 1

form dans un autre form...

Posté : 19 avr. 2012, 09:27
par piotrowski-s
Bonjour à tous, j'ai un soucis, en fait ne connaissant pas javascdript j'essaie de faire un formulaire dans un formulaire.

j'ai donc dans le premier formulaire un input de type text, qui affiche cela:
<input name="date_action" type="text" value="<?php
		
		$today = mktime(0,0,0, date("m"),date("d"),date("y"));
//le nombre de seconde depuis le 1er janvier 1970 à aujourd hui 00h00. (les 3 premiers 0);
//ensuite pour ajouter xjours jours 
$today += (3600 * 24 * $donnees2['jour'] ); 
// 1h * 24 = 1 jour * 20 = 20 jours
//et pour avoir la date correspondante  tout simplement
$ladate = date("d m y ", $today);
   if isset($j) {  echo $ladate; }
      
        ?>" size="12">
ensuite ce que je souhaiterais faire, c'est pouvoir flexiblement décaler la date de n jours, j'ai donc créer le formulaire sous-jacent ci dessous:
<form action="index.php" method="post"><p>Décalage des dates:
    <input type="submit" value="-"><input type="text" name="j" size="6"><input type="submit" value="+">&nbsp; </p></form>
ce formulaire est inclut dans le formulaire global et en fonction de ce nombre la date devrait être décallée, le soucis c'est que il y a confusion avec les balises form et les input de type sbmit donc je suis perdu...

Re: form dans un autre form...

Posté : 19 avr. 2012, 10:51
par xTG
Tu ne peux pas mettre un formulaire dans un formulaire. ;)
Donc il faut jouer dans le même formulaire mais en distinguant les actions avec le name du bouton submit.

Re: form dans un autre form...

Posté : 19 avr. 2012, 11:16
par piotrowski-s
je vais essayer en tentant de changer l'orientation du formulaire se;lon le bouton cliqué grace a aune condition, vous en pensez quoi ?

Re: form dans un autre form...

Posté : 19 avr. 2012, 13:47
par xTG
Cela va être une belle galère.
Par contre j'ai dit une bêtise dans mon message précédent, c'est surtout l'attribut value qui va faire la différence.

Exemple :
<?php
  if( isSet($_POST['submit']) && $_POST['submit'] == 1 ){
    echo 'Traitement submit 1';
  }
  if( isSet($_POST['submit']) && $_POST['submit'] == 2 ){
    echo 'Traitement submit 2';
  }
?>
<form action="#" method="POST">
  <input type="submit" name="submit" value="1" />
  <input type="submit" name="submit" value="2" />
</form>

Re: form dans un autre form...

Posté : 19 avr. 2012, 15:18
par piotrowski-s
est-ce que cette structure est correcte?
<form action="savedata.php" method="post"><?php
  if( isSet($_POST['submit']) && $_POST['submit'] == 1 ){
    echo 'Traitement submit 1';
  }
  if( isSet($_POST['submit']) && $_POST['submit'] == 2 ){
    echo 'Traitement submit 2';
  }
?>
<form action="#" method="POST">
  <input type="submit" name="submit" value="1" />
  <input type="submit" name="submit" value="2" />
</form><input type="submit" value="valider"></form>

Re: form dans un autre form...

Posté : 19 avr. 2012, 15:38
par Mazarini
Pourquoi tu n'as pas repris le modèle de xTG ?
Tu as ajouter un form imbriqué dans l'exemple de xTG, et tu retourne au problème précédent.

Re: form dans un autre form...

Posté : 19 avr. 2012, 15:50
par piotrowski-s
j'ai essayé de faire comme cela mais ça ne marches pas...
<input type="text" value="<?php
  if( isSet($_POST['submit']) && $_POST['submit'] == `-` ){
  $today = mktime(0,0,0, date("m"),date("d"),date("Y"));
//le nombre de seconde depuis le 1er janvier 1970 à aujourd hui 00h00. (les 3 premiers 0);
//ensuite pour ajouter xjours jours 
$today += (3600 * 24 * ($donnees2['jour'] - $_POST['jours']) ); 
// 1h * 24 = 1 jour * 20 = 20 jours
//et pour avoir la date correspondante  tout simplement
$ladate = date("d-m-Y", $today);
    echo $ladate; 
  }
  elseif( isSet($_POST['submit']) && $_POST['submit'] == `+` ){
    $today = mktime(0,0,0, date("m"),date("d"),date("Y"));
//le nombre de seconde depuis le 1er janvier 1970 à aujourd hui 00h00. (les 3 premiers 0);
//ensuite pour ajouter xjours jours 
$today += (3600 * 24 * ($donnees2['jour'] + $_POST['jours']) ); 
// 1h * 24 = 1 jour * 20 = 20 jours
//et pour avoir la date correspondante  tout simplement
$ladate = date("d-m-Y", $today);
    echo $ladate; 
  }
  else  {    
                $today = mktime(0,0,0, date("m"),date("d"),date("Y"));
//le nombre de seconde depuis le 1er janvier 1970 à aujourd hui 00h00. (les 3 premiers 0);
//ensuite pour ajouter xjours jours 
$today += (3600 * 24 * $donnees2['jour'] ); 
// 1h * 24 = 1 jour * 20 = 20 jours
//et pour avoir la date correspondante  tout simplement
$ladate = date("d-m-Y", $today);
    echo $ladate; 
	  
  }
?>
<?php
            
      
        ?>" size="12"></td></tr>
<?php } ?></table>
    <p>
       
    </p>
 <p><strong>Décalage des date </strong>
<form action="charger_scenario2.php" method="POST">
 <input type="hidden" name="code_s" value="<?php
      echo $_POST['code_s'];
     
        ?>">
  <input type="submit" name="submit"  value="-" />
  <input name="jours" type="text" value="" size="5" />
  <input type="submit" name="submit" value="+" />
en fait je tiens absolument à ce qu'apparaissent "+" et "-" mais bon quand c'était marqué 1 et 2 ça fonctionnait mais la avec les signes ça me fonctionne plus du tout, pourtant j('ai bien mis les `` d'usages lorsque l'ont met un signe... quelqu'un aurait une idée ? d'avance merci.

Re: form dans un autre form...

Posté : 19 avr. 2012, 15:55
par piotrowski-s
bah pmarce que en fait j'ai cela.:
<table cellpadding="5" cellspacing="5">
<tr><td><strong>CODE SCENARIO</strong></td>
  <td><strong>LIBELLE</strong></td>
  <td><strong>ACTION</strong></td>
  <td><strong>DESCRIPTION</strong></td>
  <td><strong>DATE</strong></td>
</tr>
<?php 
$sql = "SELECT * FROM scenarii where code_s='".mysql_real_escape_string($_POST['code_s'])."'";
$result = mysql_query($sql) or die(__LINE__.mysql_error().$sql); 
?>
    <?php
     while($donnees2 = mysql_fetch_assoc($result)) {
      
        ?>      
  <tr>
    <td>
      <input name="code_s" type="text" value="<?php
      echo $donnees2['code_s'];
     
        ?>" size="10">  </td><td>  <input name="titre" type="text" value="<?php
      echo $donnees2['titre'];
      
        ?>" size="45"> </td>
      <td>       <input name="titre" type="text" value="<?php
      echo $donnees2['action'];
      
        ?>" size="15"> </td>
      <td>  <input name="libelle" type="text" value="<?php
      echo $donnees2['libelle'];
      
        ?>" size="55"></td><td>
<input type="text" value="<?php
  if( isSet($_POST['submit']) && $_POST['submit'] == `-` ){
  $today = mktime(0,0,0, date("m"),date("d"),date("Y"));
//le nombre de seconde depuis le 1er janvier 1970 à aujourd hui 00h00. (les 3 premiers 0);
//ensuite pour ajouter xjours jours 
$today += (3600 * 24 * ($donnees2['jour'] - $_POST['jours']) ); 
// 1h * 24 = 1 jour * 20 = 20 jours
//et pour avoir la date correspondante  tout simplement
$ladate = date("d-m-Y", $today);
    echo $ladate; 
  }
  elseif( isSet($_POST['submit']) && $_POST['submit'] == `+` ){
    $today = mktime(0,0,0, date("m"),date("d"),date("Y"));
//le nombre de seconde depuis le 1er janvier 1970 à aujourd hui 00h00. (les 3 premiers 0);
//ensuite pour ajouter xjours jours 
$today += (3600 * 24 * ($donnees2['jour'] + $_POST['jours']) ); 
// 1h * 24 = 1 jour * 20 = 20 jours
//et pour avoir la date correspondante  tout simplement
$ladate = date("d-m-Y", $today);
    echo $ladate; 
  }
  else  {    
                $today = mktime(0,0,0, date("m"),date("d"),date("Y"));
//le nombre de seconde depuis le 1er janvier 1970 à aujourd hui 00h00. (les 3 premiers 0);
//ensuite pour ajouter xjours jours 
$today += (3600 * 24 * $donnees2['jour'] ); 
// 1h * 24 = 1 jour * 20 = 20 jours
//et pour avoir la date correspondante  tout simplement
$ladate = date("d-m-Y", $today);
    echo $ladate; 
	  
  }
?>
<?php
            
      
        ?>" size="12"></td></tr>
<?php } ?></table>
et une fois qu'on a les bonnes dates on valide le vrai formulaire.

Re: form dans un autre form...

Posté : 23 avr. 2012, 10:52
par piotrowski-s
y'a pas un moyen que le traitement se fasse sur une aitre page, car j'ai bien mon décallage de date, grâce au form mais après comment je fais pour enregistrer les données? car sur la même page c'est pas possible...

Re: form dans un autre form...

Posté : 23 avr. 2012, 15:38
par piotrowski-s
j'ai essayé de faire cela, mais ça ne fonctionne pas...
<form action="<?php  if (isset($_POST['submit']) && $_POST['submit'] == 'moins' OR $_POST['submit'] == 'plus' ) { ?>#<?php } else {?>go.php<?php } ?>" method="post">

Re: form dans un autre form...

Posté : 23 avr. 2012, 20:14
par xTG
Pour faire absolument ce que tu veux (de ton dernier message) il faut faire cette condition, mais avec un traitement Javascript.