Bonjour,
alors voilà j'ai un problème quand j'essaye d'envoyer mon formulaire dans la base, celui-ci n'envoi pas tout ce qu'il devrait !

Voici le formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<form method="post" action="index.php?action=sendticket">
  <div class="form-group">
      <div id="contactformbox" class="container"> <h1 class="text-left" style="color:white;">Envoyer<strong> un ticket</strong></h1>
        <p class="text-left" style="color:white;">Pour <strong style="color:beige;">envoyer une demande au support technique Easy Conseil</strong>, veuillez choisir
      </br> l'objet de votre demande dans le menu déroulant et écrire votre message dans la zone de texte </br>
        notre équipe traitera votre demande dans les plus brefs délais ! Merci.</p>
          <div class="jumbotron jumbotron-fluid">
            <div class="row">
              <div class="col-md-5" style="text-align:right">
                <label>Selectionnez votre demande :</label>
              </div>
                <div class="col-md-4">
                  <select class="form-control" name="tdData[0][id_TicketType]">
                </div>    
                  <?php
	                    foreach ($tbTickets as $tickettype) {
		                                                    echo '<option value="'.$tickettype['id'].'">'.$tickettype['type'].'</option>';
                                                      }
                  ?>
                  </select>
                </div>
            </div>
 
                  <div class="row d-flex justify-content-center" style="margin-top:50px">
                    <div class="col-md-6">
                      <textarea class="form-control" placeholder="Entrez votre message..." style="padding-bottom:300px" name="tbData[0][note]" id="note" required="" oninvalid="this.setCustomValidity('Veuillez saisir du texte pour valider')" oninput="setCustomValidity('')"></textarea>
                    </div>                              
                  </div>
 
                <div class="row justify-content-center align-items-center">
                  <div class="row" style="margin-top:15px">
                      <div class="col-md-12 align-self-left">                                  
                              <button type="submit" class="btn btn-primary btn-block" id="envoi"> Envoyer </button>
                      </div>    
                    </div>
                </div>
 
          </div>
      </div>
  </div>
</form>
Ensuite, voici mes fonctions de reception, d'envoi et d'écriture :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
function sendTicket($tbData) {
	$tbData[0]['id'] = ecrire('tickets',$tbData[0]);
	var_dump($tbData);
}
 
function getTicketType(){
	return select("SELECT * FROM tickettype");
 
}
 
function ecrire($nomTable, $tbData, $id=0){
	if($id==0) { // INSERT
	    $sql="INSERT INTO ";
	}
	else { //UPDATE
		$sql="UPDATE ";
	}
 
	$sql.=$nomTable." SET "; // INSERT & UPDATE
 
	foreach($tbData AS $champ=>$val){ // INSERT & UPDATE
 
		if($champ!='pass'){
			$sql.=$champ."='".$val."', ";
		}
		else{
			$hashed = password_hash($tbData["pass"],PASSWORD_DEFAULT);
			$sql.=$champ."='".$hashed."', ";
		}
	}
	$sql=substr($sql,0,-2);
 
	if($id!=0) { // UPDATE
		$nomId=getPK($nomTable);
		$sql.=" WHERE ".$nomId."=".$id;
	}
	return requete($sql);
}
 
function requete($sql){
	$cnx=mysqli_connect("localhost","root","","test");
	if (mysqli_connect_errno())
  {
  echo "Echec de la connexion: " . mysqli_connect_error();
  }
	$res=mysqli_query($cnx,$sql);
	$tab=explode(" ", $sql);
	$action=$tab[0];
	if($action=="INSERT" AND $res==TRUE) {
		return mysqli_insert_id($cnx);
	}
	else {
		return $res;
	}
	if (!$res) {
		printf("Error: %s\n", mysqli_error($cnx));
		exit();
	}
}
 
function select($sql,$dim=2) {
	$res=requete($sql);
	$ligne=mysqli_fetch_array($res);
	if($dim==0){
		return $ligne[0];
	}
	elseif($dim==1) {
		return $ligne;
	}
	elseif($dim==2) {
		$tab[]=$ligne;
		while($ligne=mysqli_fetch_array($res)) {
			$tab[]=$ligne;
		}
		return $tab;
	}
}
Et voici ce que ça donne en affichage, et dans la BDD :
Nom : formticket.png
Affichages : 95
Taille : 29,8 Ko

Nom : Table ticketType.png
Affichages : 88
Taille : 8,2 Ko

Nom : Table Tickets.png
Affichages : 83
Taille : 11,1 Ko

Nom : vardumpsendticket.png
Affichages : 86
Taille : 3,9 Ko

Donc oui j'ai rendu les champs qui ne passent pas nullables pour le moment,
car sinon je ne reçois rien, et donc ce que j'essaye d'avoir en plus pour le moment c'est le type du ticket uniquement mais
je ne le reçois qu'en affichage avec un select *. Pas moyen de l'envoyer...
Siouplé, aidez-moi !