Vous n'êtes pas identifié(e).
Pages : 1
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
Voici mon code
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>
Merci de ta réponse. Je ne vois pas le problème avec"url: $form.attr('action')"
Bonjour,
J'ai un problème sur mon formulaire, mon bouton "sauvegarder" n'agit pas sur mon formulaire et je ne comprends pas pourquoi...
Quelqu'un a-t-il une idée pour m'éclairer?
Merci d'avance de votre aide
//debug($_POST);
//print_r($_POST);
var_dump($_POST);
echo '</br>';
echo '</br>';
var_dump($_FILES);
?>
<!doctype html>
<head>
<meta charset="utf-8">
<title>Logo</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>
<script>
//-----------------------------------------script logo---------------------------------------//
$(function () {
$('#logo').on('submit', function (e) {
// On empêche le navigateur de soumettre le formulaire
e.preventDefault();
var $form = $(this);
var formdata = (window.FormData) ? new FormData($form[0]) : null;
var data = (formdata !== null) ? formdata : $form.serialize();
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
contentType: false, // obligatoire pour de l'upload
processData: false, // obligatoire pour de l'upload
dataType: 'json', // selon le retour attendu
data: data,
success: function (response) {
$('#result > pre').html(JSON.stringify(response, undefined, 4));
}
});
});
// A change sélection de fichier
$('#logo').find('input[name="logo"]').on('change', function (e) {
var files = $(this)[0].files;
if (files.length > 0) {
// On part du principe qu'il n'y qu'un seul fichier
// étant donné que l'on a pas renseigné l'attribut "multiple"
var file = files[0],
$image_preview = $('#image_preview');
// Ici on injecte les informations recoltées sur le fichier pour l'utilisateur
$image_preview.find('.thumbnail').removeClass('hidden');
$image_preview.find('img').attr('src', window.URL.createObjectURL(file));
$image_preview.find('.caption p:first');
}
});
// Bouton "Annuler"
$('#image_preview').find('button[type="button"]').on('click', function (e) {
e.preventDefault();
$('#logo').find('input[name="logo"]').val('');
$('#image_preview').find('.thumbnail').addClass('hidden');
});
});
</script>
</head>
<body>
<form id="logo" class="form-horizontal well" method="post" action="" enctype="multipart/form-data">
<div class="row">
<div class="col-lg-6">
<fieldset>
<legend>Votre logo</legend>
<p>Poster votre logo (png transparent 300/100px)</p>
<div class="form-group">
<label for="contenu" class="col-lg-2 control-label">Parcourir</label>
<div class="col-lg-10">
<input type="file" class="form-control" id="logo" name="logo" accept="image/*" value="<?php if(isset($_POST['logo'])) {echo $_POST['logo']; } ?>">
</div>
</div>
<div class="form-group" style="margin-bottom: 0;">
<div id="image_preview" class="col-lg-10 col-lg-offset-2">
<div class="thumbnail hidden">
<img src="http://placehold.it/5" alt="">
<div class="caption">
<h4></h4>
<p></p>
<p><button type="button" class="btn btn-default btn-danger">Annuler</button></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="col-lg-10 col-lg-offset-2">
<button type="submit" class="btn btn-primary">Sauvegarder</button>
</div>
</div>
</form>
</body>
</html>
effectivement c bien ca... merci
Bonjour,
Bonjour,
J'ai créer un formulaire avec différents champs dont deux pour uploader des images, et lorsque je contrôle avec un var_dump, je m'aperçoit que ces champs n'apparaissent pas dans mon tableau.
Merci d'avance pour votre aide
$mysqli = new Mysqli("localhost", "root", "", "formulaire_label_drone") or die("Erreur lors de la connexion a la BDD");
//debug($_POST);
//print_r($_POST);
var_dump($_POST);
echo '</br>';
echo '</br>';
var_dump($_FILES);
if (!empty($_POST))
{
$mysqli->query("INSERT INTO infos_administration(nom, prenom, entreprise, telephone, email, adresse, code_postal, ville, site_web, password ) VALUES('$_POST[nom]', '$_POST[prenom]', '$_POST[entreprise]', '$_POST[telephone]', '$_POST[email]', '$_POST[adresse]', '$_POST[code_postal]', '$_POST[ville]', '$_POST[site_web]', '$_POST[password]')");
$mysqli->query("INSERT INTO presentation(texte_de_presentation) VALUES('$_POST[texte_de_presentation]')");
$mysqli->query("INSERT INTO zone_activite(dpt1, dpt2, dpt3, dpt4) VALUES('$_POST[dpt1]', '$_POST[dpt2]', '$_POST[dpt3]', '$_POST[dpt4]' )");
$mysqli->query("INSERT INTO domaine_intervention(dpt_intervention) VALUES('$_POST[dpt_intervention]')");
if(isset($_POST['case_reduction']))
{
$mysqli->query("INSERT INTO reduction(valeur_reduction) VALUES('$_POST[valeur_reduction]')");
}
$mysqli->query("INSERT INTO identite_visuelle(logo, visuel_accueil) VALUES('$_FILES[logo]', '$_FILES[visuel_accueil]')");
}
?>
<!doctype html>
<head>
<meta charset="utf-8">
<title>Vos informations</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>
<script>
//-----------------------------------------script logo---------------------------------------//
$(function () {
$('#logo').on('submit', function (e) {
// On empêche le navigateur de soumettre le formulaire
e.preventDefault();
var $form = $(this);
var formdata = (window.FormData) ? new FormData($form[0]) : null;
var data = (formdata !== null) ? formdata : $form.serialize();
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
contentType: false, // obligatoire pour de l'upload
processData: false, // obligatoire pour de l'upload
dataType: 'json', // selon le retour attendu
data: data,
success: function (response) {
$('#result > pre').html(JSON.stringify(response, undefined, 4));
}
});
});
// A change sélection de fichier
$('#logo').find('input[name="logo"]').on('change', function (e) {
var files = $(this)[0].files;
if (files.length > 0) {
// On part du principe qu'il n'y qu'un seul fichier
// étant donné que l'on a pas renseigné l'attribut "multiple"
var file = files[0],
$image_preview = $('#image_preview');
// Ici on injecte les informations recoltées sur le fichier pour l'utilisateur
$image_preview.find('.thumbnail').removeClass('hidden');
$image_preview.find('img').attr('src', window.URL.createObjectURL(file));
$image_preview.find('.caption p:first');
}
});
// Bouton "Annuler"
$('#image_preview').find('button[type="button"]').on('click', function (e) {
e.preventDefault();
$('#logo').find('input[name="logo"]').val('');
$('#image_preview').find('.thumbnail').addClass('hidden');
});
});
//-----------------------------------script visuel d'accueil------------------------//
$(function () {
$('#visuel_accueil').on('submit', function (e) {
// On empêche le navigateur de soumettre le formulaire
e.preventDefault();
var $form = $(this);
var formdata = (window.FormData) ? new FormData($form[0]) : null;
var data = (formdata !== null) ? formdata : $form.serialize();
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
contentType: false, // obligatoire pour de l'upload
processData: false, // obligatoire pour de l'upload
dataType: 'json', // selon le retour attendu
data: data,
success: function (response) {
$('#result > pre').html(JSON.stringify(response, undefined, 4));
}
});
});
// A change sélection de fichier
$('#visuel_accueil').find('input[name="visuel_accueil"]').on('change', function (e) {
var files = $(this)[0].files;
if (files.length > 0) {
// On part du principe qu'il n'y qu'un seul fichier
// étant donné que l'on a pas renseigné l'attribut "multiple"
var file = files[0],
$image_preview1 = $('#image_preview1');
// Ici on injecte les informations recoltées sur le fichier pour l'utilisateur
$image_preview1.find('.thumbnail').removeClass('hidden');
$image_preview1.find('img').attr('src', window.URL.createObjectURL(file));
$image_preview1.find('.caption p:first');
}
});
// Bouton "Annuler"
$('#image_preview1').find('button[type="button"]').on('click', function (e) {
e.preventDefault();
$('#visuel_accueil').find('input[name="visuel_accueil"]').val('');
$('#image_preview1').find('.thumbnail').addClass('hidden');
});
});
</script>
</head>
<body>
<!----------------------------présentation------------------------------>
<form method="post" action="">
<h3>Vos informations</h3>
<div id="contenu">
<div class="form-horizontal well">
<label for="texte_de_presentation">texte de présentation </label>
<textarea id="texte_de_presentation" name="texte_de_presentation" name="texte_de_presentation" value=""><?php if(isset($_POST['texte_de_presentation'])) {echo $_POST['texte_de_presentation']; } ?></textarea>
</div>
<!----------------------------coordonnées------------------------------>
<div class="form-horizontal well">
<p>Coordonnées</p>
<label for="entreprise">Entreprise :</label>
<input class="label_coordonnees" type="text" id="entreprise" name="entreprise" value="<?php if(isset($_POST['entreprise'])) {echo $_POST['entreprise']; } ?>" placeholder="Entreprise..." maxlength="14" />
</br>
<label for="nom" >Nom : </label>
<input class="label_coordonnees" type="text" id="nom" name="nom" value="<?php if(isset($_POST['nom'])) {echo $_POST['nom']; } ?>" />
</br>
<label for="prenom" >Prénom : </label>
<input class="label_coordonnees" type="text" id="prenom" name="prenom" value="<?php if(isset($_POST['prenom'])) {echo $_POST['prenom']; } ?>" />
</br>
<label for="adresse">Adresse : </label>
<textarea id="adresse" name="adresse" value=""><?php if(isset($_POST['adresse'])) {echo $_POST['adresse']; } ?></textarea>
</br>
<label for="code_postal" >Code postal :</label>
<input class="label_coordonnees" id="code_postal" type="text" name="code_postal" value="<?php if(isset($_POST['code_postal'])) {echo $_POST['code_postal']; } ?>" />
</br>
<label for="ville" >ville :</label>
<input class="label_coordonnees" id="ville" type="text" name="ville" value="<?php if(isset($_POST['ville'])) {echo $_POST['ville']; } ?>" />
</br>
<label for="telephone" >Tél :</label>
<input class="label_coordonnees" type="text" id="telephone" name="telephone" value="<?php if(isset($_POST['telephone'])) {echo $_POST['telephone']; } ?>" />
</br>
<label for="email" >E-mail : </label>
<input class="label_coordonnees" id="email" type="text" name="email" value="<?php if(isset($_POST['email'])) {echo $_POST['email']; } ?>" />
</br>
<label for="site_web" >Site web : </label>
<input class="label_coordonnees" id="site_web" type="text" name="site_web" value="<?php if(isset($_POST['site_web'])) {echo $_POST['site_web']; } ?>" />
</br>
<label for="password" >Password : </label>
<input class="label_coordonnees" id="password" type="text" name="password" value="<?php if(isset($_POST['password'])) {echo $_POST['password']; } ?>" />
</div>
<!----------------------------réduction------------------------------>
<form method="post" action="">
<div class="form-horizontal well">
<p>Réduction pour les clients du site Labeldrone</p>
<div class="form-horizontal well">
<label for="valeur_reduction"></label>
<input type="checkbox" name="case_reduction" value="">
<select name="valeur_reduction">
<?php
for ($j=5; $j <= 50; $j+=5)
{echo '<option>'.$j.'%'.'</option>';}
?>
</select>
<p>sur vos services</p>
</div>
<div class="form-horizontal well">
<p>Attirez de nouveaux clients en offrant une reduction aux internautes qui vous appelent de la part de Labeldrone</p>
</div>
</div>
</form>
<!----------------------------départements------------------------------>
<div class="form-horizontal well">
<p>Départements d'intervention</p>
<p>4 départements maximum</p>
<label for="dpt1"></label>
<select name="dpt1" id="dpt1"><br />
<?php
for($j = 1; $j < 96; $j++)
{echo '<option>'.$j.'</option>';}
?>
</select>
<label for="dpt2"></label>
<select name="dpt2" id="dpt2"><br />
<?php
for($j = 1; $j < 96; $j++)
{echo '<option>'.$j.'</option>';}
?>
</select>
<label for="dpt3"></label>
<select name="dpt3" id="dpt3"><br />
<?php
for($j = 1; $j < 96; $j++)
{echo '<option>'.$j.'</option>';}
?>
</select>
<label for="dpt4"></label>
<select name="dpt4" id="dpt4"><br />
<?php
for($j = 1; $j < 96; $j++)
{echo '<option>'.$j.'</option>';}
?>
</select>
</div>
<!----------------------------domaine intervention------------------------------>
<div class="form-horizontal well">
<p>Domaine d'intervention</p>
<label for="dpt_intervention"></label>
<select name="dpt_intervention" id="dpt_intervention"><br />
<?php
for($j = 1; $j < 96; $j++)
{echo '<option>'.$j.'</option>';}
?>
</select>
</div>
<!--------------------------------formulaire logo----------------------------------->
<form id="logo" class="form-horizontal well" method="post" action="" enctype="multipart/form-data">
<div class="row">
<div class="col-lg-6">
<fieldset>
<legend>Votre logo</legend>
<p>Poster votre logo (png transparent 300/100px)</p>
<div class="form-group">
<label for="contenu" class="col-lg-2 control-label">Parcourir</label>
<div class="col-lg-10">
<input type="file" class="form-control" id="logo" name="logo" accept="image/*" value="<?php if(isset($_POST['logo'])) {echo $_POST['logo']; } ?>">
</div>
</div>
<div class="form-group" style="margin-bottom: 0;">
<div id="image_preview" class="col-lg-10 col-lg-offset-2">
<div class="thumbnail hidden">
<img src="http://placehold.it/5" alt="">
<div class="caption">
<h4></h4>
<p></p>
<p><button type="button" class="btn btn-default btn-danger">Annuler</button></p>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
<!--------------------------------formulaire visuel d'accueil----------------------------------->
<div class="row">
<div class="col-lg-6">
<form id="visuel_accueil" class="form-horizontal well" method="post" action="" enctype="multipart/form-data">
<fieldset>
<legend>Votre visuel d'accueil</legend>
<p>Poster votre image (png-jpg 580/240px)</p>
<div class="form-group">
<label for="contenu" class="col-lg-2 control-label">Parcourir</label>
<div class="col-lg-10">
<input type="file" class="form-control" id="visuel_accueil" name="visuel_accueil" accept="image/*">
</div>
</div>
<div class="form-group" style="margin-bottom: 0;">
<div id="image_preview1" class="col-lg-10 col-lg-offset-2">
<div class="thumbnail hidden">
<img src="http://placehold.it/5" alt="">
<div class="caption">
<h4></h4>
<p></p>
<p><button type="button" class="btn btn-default btn-danger">Annuler</button></p>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="form-group">
<div class="col-lg-10 col-lg-offset-2">
<button type="submit" class="btn btn-primary">Sauvegarder</button>
</div>
</div>
</form>
</body>
</html>
Pages : 1