PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 05-10-2015 15:41:30

turkish78
Membre
Inscription : 23-09-2015
Messages : 5

Problème formulaire

Bonjour,

Je débute en PHP et j'ai toujours un message d'erreur quand mes checkbox ne sont pas cochés : undefined variable, et lorsque tout est coché, il n' y a pas de problème et j'ai toute les valeurs en base de données.

Merci d'avance de votre aide wink

Voici mon code

<?php
require_once("inc/init.inc.php");
var_dump($_FILES);
echo '</br>';
echo '</br>';
echo '</br>';
var_dump($_POST);
echo '</br>';

extract($_POST);

if(!empty($_POST['submit'])){
  $mysqli->query("INSERT INTO competences_et_materiel(theorique_ulm, S1, S2, S3, S4, engagement_S3, engagement_S1, engagement_DGAC, chassis, type_gopro, type_nex, gh4_5d_equiv) VALUES('$theorique_ulm', '$S1', '$S2', '$S3', '$S4', '$engagement_S3', '$engagement_S1', '$engagement_DGAC', '$chassis', '$type_gopro', '$type_nex', '$gh4_5d_equiv')");
}


/*-------------------------------------- copie théorique --------------------------------------------*/
if(!empty($_FILES)){
  $file_name = $_FILES['copie_theorique']['name'];    
  $file_extension = strrchr($file_name, ".");
 
  $file_tmp_name = $_FILES['copie_theorique']['tmp_name'];
  $file_dest = 'documents/copie_theorique/'.$file_name;
 
  $extensions_autorisees = array('.pdf', '.PDF');
 
  if(in_array($file_extension, $extensions_autorisees)){
    if(move_uploaded_file($file_tmp_name, $file_dest)){
      $fichier_bdd = RACINE_SITE."documents/copie_theorique/$file_name";
      $mysqli->query("INSERT INTO competences_docs(copie_theorique) VALUES('$fichier_bdd')");
      echo 'Fichier envoyé avec succès';
    }else{
      echo "Une erreur est survenue lors de l'envoi du fichier";
    }
  }else{
    echo 'Seul les fichiers PDF sont autorisés';
  }

echo '</br>';
/*----------------------------------- copie certificat MAP --------------------------------------------*/

  $file_name = $_FILES['copie_certificat_map']['name'];    
  $file_extension = strrchr($file_name, ".");
 
  $file_tmp_name = $_FILES['copie_certificat_map']['tmp_name'];
  $file_dest = 'documents/copie_certificat_map/'.$file_name;
 
  $extensions_autorisees = array('.pdf', '.PDF');
 
  if(in_array($file_extension, $extensions_autorisees)){
    if(move_uploaded_file($file_tmp_name, $file_dest)){
      $fichier_bdd = RACINE_SITE."documents/copie_certificat_map/$file_name";
      $mysqli->query("INSERT INTO competences_docs(copie_certificat_map) VALUES('$fichier_bdd')");
      echo 'Fichier envoyé avec succès';
    }else{
      echo "Une erreur est survenue lors de l'envoi du fichier";
    }
  }else{
    echo 'Seul les fichiers PDF sont autorisés';
  }

echo '</br>';
/*-------------------------------- copie certificat type --------------------------------------------*/

  $file_name = $_FILES['certificat_type']['name'];    
  $file_extension = strrchr($file_name, ".");
 
  $file_tmp_name = $_FILES['certificat_type']['tmp_name'];
  $file_dest = 'documents/certificat_type/'.$file_name;
 
  $extensions_autorisees = array('.pdf', '.PDF');
 
  if(in_array($file_extension, $extensions_autorisees)){
    if(move_uploaded_file($file_tmp_name, $file_dest)){
      $fichier_bdd = RACINE_SITE."documents/certificat_type/$file_name";
      $mysqli->query("INSERT INTO competences_docs(certificat_type) VALUES('$fichier_bdd')");
      echo 'Fichier envoyé avec succès';
    }else{
      echo "Une erreur est survenue lors de l'envoi du fichier";
    }
  }else{
    echo 'Seul les fichiers PDF sont autorisés';
  }

echo '</br>';
/*-------------------------------- copie charte engagement --------------------------------------------*/

  $file_name = $_FILES['charte_engagement']['name'];    
  $file_extension = strrchr($file_name, ".");
 
  $file_tmp_name = $_FILES['charte_engagement']['tmp_name'];
  $file_dest = 'documents/charte_engagement/'.$file_name;
 
  $extensions_autorisees = array('.pdf', '.PDF');
 
  if(in_array($file_extension, $extensions_autorisees)){
    if(move_uploaded_file($file_tmp_name, $file_dest)){
      $fichier_bdd = RACINE_SITE."documents/charte_engagement/$file_name";
      $mysqli->query("INSERT INTO competences_docs(charte_engagement) VALUES('$fichier_bdd')");
      echo 'Fichier envoyé avec succès';
    }else{
      echo "Une erreur est survenue lors de l'envoi du fichier";
    }
  }else{
    echo 'Seul les fichiers PDF sont autorisés';
  }
}
?>


<!doctype html>
<head>
  <meta charset="utf-8">
  <title>Info et notes</title>
  <link rel="stylesheet" href="style.css">
  <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet">
  <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
<body>
<div id="contenu">
<form method="post" class="form-horizontal well" enctype="multipart/form-data" action="">
  <h3>Infos et note</h3>
  <label for="theorique_ulm">Théorique ULM :</label>
    <input type="radio" name="theorique_ulm" value="pilote" <?php if(isset($_POST['theorique_ulm']) && $_POST['theorique_ulm'] =="pilote") {echo 'checked';} elseif(!isset($_POST['theorique_ulm'])) {echo 'checked';} ?> /> <label>Théorique pilote</label>
    <input type="radio" name="theorique_ulm" value="instructeur" <?php if(isset($_POST['theorique_ulm']) && $_POST['theorique_ulm'] == "instructeur") {echo 'checked';}?> /> <label>Théorique instructeur</label>
  </br>
  </br>
  <label for="homologation">Homologation :</label>
    <input type="checkbox" name="S1" value="ok" /> S1
    <input type="checkbox" name="S2" value="ok" /> S2
    <input type="checkbox" name="S3" value="ok" /> S3
    <input type="checkbox" name="S4" value="ok" /> S4
  </br>
  </br>
    <input type="checkbox" name="engagement_S3" value="ok" /> <label>Engagement "demande systématique d'autorisation en S3"</label>
  </br>
  </br>
    <input type="checkbox" name="engagement_S1" value="ok" /> <label>Engagement "déclaration de vol en S1"</label>
  </br>
  </br>
    <input type="checkbox" name="engagement_DGAC" value="ok" /> <label>Engagement "utilisation exclusive d'aéronef homologué DGAC"</label>
  </br>
  </br>
  <label for="chassis">Chassis :</label> 
    <input class="" type="text" id="chassis" name="chassis" value="<?php if(isset($chassis)){echo $chassis;} ?>" />
  </br>
  </br>
  <label for="commande">Commande :</label>
    <input type="radio" name="commande" value="unique" <?php if(isset($_POST['commande']) && $_POST['commande'] =="unique") {echo 'checked';} elseif(!isset($_POST['commande'])) {echo 'checked';} ?> /> <label>Unique pilote cadreur</label>
    <input type="radio" name="commande" value="double" <?php if(isset($_POST['commande']) && $_POST['commande'] == "double") {echo 'checked';}?> /> <label>Double pilote cadreur</label>
  </br>
  </br>
  <label for="capteur">Capteur :</label> 
    <input type="checkbox" id="type_gopro" name="type_gopro" value="ok" /> <label>Type GoPro</label>
    <input type="checkbox" id="type_nex" name="type_nex" value="ok" /> <label>Type Nex</label>
    <input type="checkbox" id="gh4_5d_equiv" name="gh4_5d_equiv" value="ok" /> <label>GH4 - 5D - Equiv</label>
    </br>
    </br>
   
<!-------------------------------------- copie théorique -------------------------------------------->
      <div class="form-group">
                <label for="copie_t" class="col-lg-2 control-label">Joindre une copie du théorique</label>
                    <div class="col-lg-10">
                        <input type="file" class="form-control" name="copie_theorique">
            <span><?php  ?></span>
                    </div>
            </div>

<!-------------------------- copie certificat de dépot MAP ------------------------------------->      <div class="form-group">
                                <label for="copie_certificat_map" class="col-lg-2 control-label">Joindre une copie du certificat de dépot de MAP</label>
                                <div class="col-lg-10">
                                    <input type="file" class="form-control" id="copie_certificat_map" name="copie_certificat_map"  value="">
                                </div>
                            </div>
                     
<!-------------------------- copie certificat de type ------------------------------------->          <div class="form-group">
                                <label for="certificat_type" class="col-lg-2 control-label">Joindre une copie du certificat de type</label>
                                <div class="col-lg-10">
                                    <input type="file" class="form-control" id="certificat_type" name="certificat_type"  value="">
                                </div>
                            </div>
                       
<!-------------------------- charte d'engagement signée ------------------------------------->      
        <div class="form-group">
                    <label for="charte_engagement" class="col-lg-2 control-label">Joindre la charte d'engagement signée</label>
                        <div class="col-lg-10">
                            <input type="file" class="form-control" id="charte_engagement" name="charte_engagement"  value="">
                        </div>
                </div>                          
       
<!--------------------------------------------------------------------------------------------->
             
    <div class="form-group">
        <div class="col-lg-10 col-lg-offset-2">
            <button type="submit" value="submit" name="submit" class="btn btn-primary">Sauvegarder</button>
        </div>
    </div>

</form>

</body>
</html>

Hors ligne

#2 05-10-2015 16:00:43

tof73
Membre
Inscription : 21-12-2014
Messages : 150
Site Web

Re : Problème formulaire

il faut tester l'existence de la variable avec http://php.net/manual/fr/function.isset.php
et créer la variable avec le contenu adéquat, si elle n'existe pas.

Hors ligne

Pied de page des forums