FORMULAIRE PHP / MYSQL
Posté : 27 janv. 2021, 11:31
Bonjour je suis débutant en php et mysql. J'ai crée une base de donnée et une table dedans pour récolter les infos d'un formulaire. J'ai quelques problèmes et je pense avoir fait une ou plusieurs erreurs dans mon code que je n'arrive pas à détecter :
<?php
$dbco = new PDO("mysql:host=$servname;dbname=$dbname", $username, $password);
$dbco->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if($_POST){
$nom = $_POST['nom'];
$age = $_POST['age'];
$diplome = $_POST['diplome'];
$pays = $_POST['pays'];
$sports = $_POST['sports'];
$email = $_POST['email'];
$devis = $_POST['devis'];
$projet = $_POST['projet'];
if(!empty($nom) AND !empty($age) AND !empty($diplome) AND !empty($pays) AND !empty($sports) AND !empty($email) AND !empty($devis) AND !empty($projet)){
$sql('INSERT INTO Clients(nom, age, diplome, pays, sports, email, devis, projet)
VALUES ("'.$nom.'", "'.$age.'", "'.$diplome.'", "'.$pays.'", "'.$sports.'", "'.$email.'", "'.$devis.'", "'.$projet.'")')
or die('Erreur :');
echo "ok !";
}else echo"erreur, un champ pas rempli";
}
?>
FORMULAIRE HTML :
<form method="post" action="">
<fieldset>
<legend>Infos personnelles :</legend>
<div class="champ">
<label for="nom">Nom de famille :</label>
<input type="text" id="nom" name="nom" required="" maxlength=20>
<label for="age">Votre âge</label>
<input type="number" id="age" name="age" required="" min=18 max=99>
</div>
</fieldset>
<fieldset>
<legend>Compétences / Expériences :</legend>
<div class="champ">
<label for="diplôme">Diplôme :</label>
<input type="text" id="diplome" name="diplome" required="" maxlength=20>
</div>
<div class="champ">
<label for="pays">Pays :</label>
<select id="pays" name="pays">
<optgroup label="europe">
<option value="France">France</option>
<option value="Allemagne">Allemagne</option>
</optgroup>
<optgroup label="amérique">
<option value="Etats-Unis">Etats-Unis</option>
<option value="Brésil">Brésil</option>
</optgroup>
</select>
</div>
</fieldset>
<fieldset>
<legend>Hobbies :</legend>
<label for="sports">Sports pratiqués :</label>
<input type="text" id="Sports" name="sports" required="" minlength=3 maxlength=20>
<label for="email">Entrez votre adresse mail</label>
<input type="email" id="email" name="email" required="">
<input type="checkbox" id="devis" name="devis">
<label fort="devis">Demande de devis</label>
<div class="champ">
<textarea class="zonedetexte" name="projet" placeholder="décrivez votre projet" required="" minlength=5 maxlength=250></textarea>
</div>
<input type="submit" value="Envoyer">
</fieldset>
</form>
<?php
$dbco = new PDO("mysql:host=$servname;dbname=$dbname", $username, $password);
$dbco->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if($_POST){
$nom = $_POST['nom'];
$age = $_POST['age'];
$diplome = $_POST['diplome'];
$pays = $_POST['pays'];
$sports = $_POST['sports'];
$email = $_POST['email'];
$devis = $_POST['devis'];
$projet = $_POST['projet'];
if(!empty($nom) AND !empty($age) AND !empty($diplome) AND !empty($pays) AND !empty($sports) AND !empty($email) AND !empty($devis) AND !empty($projet)){
$sql('INSERT INTO Clients(nom, age, diplome, pays, sports, email, devis, projet)
VALUES ("'.$nom.'", "'.$age.'", "'.$diplome.'", "'.$pays.'", "'.$sports.'", "'.$email.'", "'.$devis.'", "'.$projet.'")')
or die('Erreur :');
echo "ok !";
}else echo"erreur, un champ pas rempli";
}
?>
FORMULAIRE HTML :
<form method="post" action="">
<fieldset>
<legend>Infos personnelles :</legend>
<div class="champ">
<label for="nom">Nom de famille :</label>
<input type="text" id="nom" name="nom" required="" maxlength=20>
<label for="age">Votre âge</label>
<input type="number" id="age" name="age" required="" min=18 max=99>
</div>
</fieldset>
<fieldset>
<legend>Compétences / Expériences :</legend>
<div class="champ">
<label for="diplôme">Diplôme :</label>
<input type="text" id="diplome" name="diplome" required="" maxlength=20>
</div>
<div class="champ">
<label for="pays">Pays :</label>
<select id="pays" name="pays">
<optgroup label="europe">
<option value="France">France</option>
<option value="Allemagne">Allemagne</option>
</optgroup>
<optgroup label="amérique">
<option value="Etats-Unis">Etats-Unis</option>
<option value="Brésil">Brésil</option>
</optgroup>
</select>
</div>
</fieldset>
<fieldset>
<legend>Hobbies :</legend>
<label for="sports">Sports pratiqués :</label>
<input type="text" id="Sports" name="sports" required="" minlength=3 maxlength=20>
<label for="email">Entrez votre adresse mail</label>
<input type="email" id="email" name="email" required="">
<input type="checkbox" id="devis" name="devis">
<label fort="devis">Demande de devis</label>
<div class="champ">
<textarea class="zonedetexte" name="projet" placeholder="décrivez votre projet" required="" minlength=5 maxlength=250></textarea>
</div>
<input type="submit" value="Envoyer">
</fieldset>
</form>