Formulaire dans if { }

Résolu
bruno3591 Messages postés 155 Date d'inscription dimanche 28 septembre 2008 Statut Membre Dernière intervention 28 mars 2010 - 4 déc. 2008 à 18:57
bruno3591 Messages postés 155 Date d'inscription dimanche 28 septembre 2008 Statut Membre Dernière intervention 28 mars 2010 - 5 déc. 2008 à 08:46
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

bruno3591 Messages postés 155 Date d'inscription dimanche 28 septembre 2008 Statut Membre Dernière intervention 28 mars 2010
5 déc. 2008 à 08:46
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. :)
3
ptitdragonvert Messages postés 26 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 7 novembre 2009
4 déc. 2008 à 19:40
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+
0
bruno3591 Messages postés 155 Date d'inscription dimanche 28 septembre 2008 Statut Membre Dernière intervention 28 mars 2010
4 déc. 2008 à 20:42
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 ?
0
ptitdragonvert Messages postés 26 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 7 novembre 2009
4 déc. 2008 à 20:51
Ben envoie je vais essayer peut être que je peut réussir
Je ne te promet rien ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bruno3591 Messages postés 155 Date d'inscription dimanche 28 septembre 2008 Statut Membre Dernière intervention 28 mars 2010
4 déc. 2008 à 21:01
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>
0
ptitdragonvert Messages postés 26 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 7 novembre 2009
4 déc. 2008 à 21:26
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
0
bruno3591 Messages postés 155 Date d'inscription dimanche 28 septembre 2008 Statut Membre Dernière intervention 28 mars 2010
4 déc. 2008 à 21:33
Ben...non c'est pas ça. Je cherche de mon côté depuis 2 jours. :)
0
ptitdragonvert Messages postés 26 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 7 novembre 2009
4 déc. 2008 à 21:55
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 !
0
ptitdragonvert Messages postés 26 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 7 novembre 2009
4 déc. 2008 à 22:41
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
0
bruno3591 Messages postés 155 Date d'inscription dimanche 28 septembre 2008 Statut Membre Dernière intervention 28 mars 2010
5 déc. 2008 à 00:36
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.
0
Rejoignez-nous