Formulaire dans if { } [Résolu]

Signaler
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010
-
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010
-
Bonsoir,

Peut-on mettre un formulaire (form) à l'intérieur de 2 accolades :

if(.....) {
form
/form
}

Je vous pose la question car je n'arrive pas à placer correctement une accolade de fin. Selon comment je l'a place, je perd certaine partie de l'affichage html, de plus je perd le contenu d'une variable qui me permet de faire un insert.

10 réponses

Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010

C'est bon j'ai trouvé :

<form method= "post" action="">
                    ----

            Date de la visite : |
            ,
            ">,
           
            ----

            Socièté : |
            ,
           
            ----

            ,
            VR 1,
            VR 2,
           
       

        </form>
       
<?php
} // accolade de fin de if liste postee
?>
<?php
if (isset($_POST['enregistrer3'])){

$effectue = $_POST['effectue'];
$effectue2 = $_POST['effectue2'];
$societe = $_POST['societe'];
$idchariot = $_POST['idchariot'];

$req = mysql_query("INSERT INTO suivi_vr (idvr, idchariot, effectue, societe) VALUES ('', '$idchariot', '$effectue', '$societe')");
   
 } 
?>   

   

L'accolade été mal placée + un /div

A bientôt. :)
Messages postés
26
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
7 novembre 2009

Salut,
Voici comment je met un formulaire dans une condition " if "

<?php

if(ma condition){ //première accolade      changer "ma condition" par la condition a utiliser

$ma_var = "valeur";

?>

// Le formulaire

<form>

">

</form>

<?php

} // deuxieme accolade

// suite du code

?>

J'espère t'avoir aidé
A+
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010

Merci pour ta réponse, maintenant je sais que je ne suis pas à côté de la plaque concernant ma question.


quelqu'un serait-il assez courageux pour inspecter ma grande page de code ?
Messages postés
26
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
7 novembre 2009

Ben envoie je vais essayer peut être que je peut réussir
Je ne te promet rien ...
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010

C'est l'accolade tout en bas qui me pose problème. Ma requête d'insertion en bas n'insert rien, et je ne comprend pas pourquoi.

<?php
   if(isset($_POST['liste1'])){
   //si la liste a été "postée" c'est à dire choix fait
   $liste1= $_POST['liste1'];
  }else{
    $liste1=-1;
   }
  ?>
  
  <legend>Sélectionnez un chariot :</legend>


  <form name="form1" method="post" action="">
  <select name="liste1" onchange=" form1.submit();">
  <option value=-1>-- Choisissez -- </option>
  
<?php
  
include('connection.inc.php');
  
$requete = "SELECT n_parc FROM chariot";
$execution_requete = mysql_query($requete);
while($total = mysql_fetch_array($execution_requete))


//Liste déroulante
{
echo "<option value="".$total["n_parc"].""";
if($liste1==$total['n_parc']) { echo "selected"; }//ça c'est pour garder la selection lors du réaffichage
echo ">".$total['n_parc']."</option>\n";
}


?>
</select>
</form>


<?php
if($liste1 != -1){


$requete "SELECT type, energie, marque, modele, n_serie, annee, n_parc, idchariot FROM chariot WHERE n_parc'".$liste1."'";
$execution_requete = mysql_query($requete);




$total = mysql_fetch_array($execution_requete);
// }  si on déplace cette accolade plus bas ça a l'avantage de na pas afficher la partie Informations tant que le choix n'a pas été fait dans la lsite1
?>




        Type,
  Energie,
        Marque,
  Modéle,
        N° série,
  N° parc,
  Année,   

----

  <?php echo $total['type'] ?>,
        <?php echo $total['energie'] ?>,
  <?php echo $total['marque'] ?>,
        <?php echo $total['modele'] ?>,
  <?php echo $total['n_serie'] ?>,
  <?php echo $total['n_parc'] ?>,
  <?php echo $total['annee'] ?>

">


 





<?php
$idchariot = $total['idchariot'];$requete1 'SELECT effectue, societe, idchariot FROM suivi_vr WHERE idchariot '.$idchariot.' ORDER BY effectue DESC LIMIT 1';
$execution_requete1 = mysql_query($requete1) or die(mysql_error());
$total1 = mysql_num_rows($execution_requete1) or die(mysql_error());


if($total1) {
?> 


 ----

  VR 1,
 
 ----

  Date,
  Société,
 
 ----

  <?php while($row = mysql_fetch_array($execution_requete1)) {  ?>
  
  <?php echo $row['effectue'] ?>,
  <?php echo $row['societe'] ?>,
  ,
 
 <?php } ?>
 

<?php } ?> 


 
<?php
$idchariot = $total['idchariot'];$requete2 'SELECT effectue2, societe2, idchariot FROM suivi_vr2 WHERE idchariot '.$idchariot.' ORDER BY effectue2 DESC LIMIT 1';
$execution_requete2 = mysql_query($requete2) or die(mysql_error());
$total2 = mysql_num_rows($execution_requete2) or die(mysql_error());


if($total2) {
?> 
 ----

  VR 2,
 
 ----

  Date,
  Société,
 
 ----

  <?php while($row = mysql_fetch_array($execution_requete2)) {  ?>
  
  <?php echo $row['effectue2'] ?>,
  <?php echo $row['societe2'] ?>,
  ,
 
 <?php } ?>
 

<?php } ?> 
 


 

 
 
 <form method="post" action="">
     ----

    Période VR 1: |
   
   ----

   Entre le : |
   ,
,
   Et le : |
   ,
,
   
   ----

   ,
   
  

  </form>
  
  

  
 

  
 <form method ="post" action= "">
     ----

    Période VR 2: |
   
   ----

   Entre le : |
   ,
,
   Et le : |
   ,
,
   
   ----

   ,
   
  

  </form>


 


 

 
  ----

  Jan,
  Fév,
  Mars,
  Avr,
  Mai,
  Juin,
  Juil,
  Aout,
  Sept,
  Oct,
  Nov,
  Déc,
 
 ----

  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
 
 

 

 


  


  

  
<?php
if (isset($_POST['enregistrer3'])) {


$effectue = $_POST['effectue'];
$effectue2 = $_POST['effectue2'];
$societe = $_POST['societe'];
$idchariot = $total['idchariot'];


$req = mysql_query("INSERT INTO suivi_vr (idvr, idchariot, effectue, societe) VALUES ('', '$idchariot', '$effectue', '$societe')");
 } 
?>
 
  <form method="post" action="">
     ----

   Date de la visite : |
   ,
   
   ----

   Socièté : |
   ,
   
   ----

   ,
    VR 1,
    VR 2,
   
  

  
  </form>
  


  

   
  

 
 

<?php
} // accolade de fin de if liste postee
?>

</html>
Messages postés
26
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
7 novembre 2009

J'ai trouvé !!
En fait le problème c'est que tu fait :

if (isset($_POST['enregistrer3'])){

Mais n'envoie pas son nom donc $_POST['enregistrer3'] n'existe pas.

il suffit de rajouter dans le formulaire :

Voila le code du formulaire en bas de la page (corrigé) :

  <form method="post" action="">
 
     ----

   Date de la visite : |
   ,
   
   ----

   Socièté : |
   ,
   
   ----

   ,
    VR 1,
    VR 2,
   
  

  </form>

J'espère que ça va marcher
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010

Ben...non c'est pas ça. Je cherche de mon côté depuis 2 jours. :)
Messages postés
26
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
7 novembre 2009

Oui j'ai vérifié et ce que tu avais mis au début étais bon :
et if(isset($_POST['enregistrer3']))
c'était bon

Donc je vais réfléchir mais pour l'instant pas de solution ...
Je suis désolé ..
Si j ai trouvé je te préviens !
Messages postés
26
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
7 novembre 2009

Je crois avoir trouver ...
C'est pas sur encore

Alors dans le formulaire enregistrer3 il n'y a pas de $_POST['liste1'] ou de avec name="liste1"
Donc avec le code au début de la page :

   if(isset($_POST['liste1'])){

   //si la liste a été "postée" c'est à dire choix fait

   $liste1=$_POST['liste1'];

  }else{

    $liste1=-1;

   }

$liste1 est donc égal à -1
Et donc vu que le formulaire est dans le if($liste1 != -1){
PHP n'arrive pas a :

if (isset($_POST['enregistrer3'])) {

$effectue = $_POST['effectue'];

$effectue2 = $_POST['effectue2'];

$societe = $_POST['societe'];

$idchariot = $total['idchariot'];

$req = mysql_query("INSERT INTO suivi_vr (idvr, idchariot, effectue, societe) VALUES ('', '$idchariot', '$effectue', '$societe')");

 }

Je pense que c'est ça ..
Dis moi si ça marche
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010

Je désespère, rien ne fonctionne.
Avec ça j'arrive juste à récupérer l'idchariot :

<?php
$effectue = $_POST['effectue'];
$societe = $_POST['societe'];
$req = mysql_query("INSERT INTO suivi_vr (idvr, idchariot, effectue, societe) VALUES ('', '$idchariot', '$effectue', '$societe')");
?> 

Je ne comprend pas pourquoi les autres valeurs du formulaire ne sont pas récupérer dans les $_POST.

Merci.