Page 1 sur 2

FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 11:31
par ecdns
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>

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 11:32
par ecdns
Merci bcp de votre aide

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 11:50
par or 1
que se passe-t-il ? un message d'erreur s'affiche-t-il ?

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 11:56
par ecdns
Tout mon code html qui est après mon code php/mysql (y compris mon formulaire) ne s'affiche plus sur la page...

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 11:59
par ecdns
alors que tout ce qui est avant (dans l'éditeur de texte) s'affiche

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 12:01
par or 1
quelle est l'url de cette page ?

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 12:11
par ecdns
je suis en local, je peux vous envoyer tout le code si vous voulez

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 12:12
par ecdns
normalement l'erreur se situe dans le code php/mysql que j'ai envoyé en premier, car quand je l'enlève Dans l'éditeur tout s'affiche normalement sur la page

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 12:14
par or 1
quelle est l'url de cette page ?
l'url de cette page du forum est https:// forum.phpfrance.com/sql-bases-donnees/topic281431.html#p465747

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 12:16
par ecdns

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 12:26
par or 1
quel est le code complet de utiliserflex.php ?

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 12:26
par ecdns
<!DOCTYPE html>
<head>
<title>Utiliser flexbox</title>
<meta charset="utf-8">
<link rel="stylesheet" href="fichiersite/styleflex.css">
</head>
<body>
<nav>
<ul>
<li class="deroulant"><a href="#">block noir &ensp;</a>
<ul class="sous">
<li><a href="#">Block</a></li>
<li><a href="#">Noir</a></li>
<li><a href=#">À propos</a></li>
</ul>
</li>
<li><a href="#">block rouge</a></li>
<li><a href="#">block vert</a></li>
<li><a href="#">block bleu</a></li>
<li><a href="#">vidéo</a></li>
</ul>
</nav>
<?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";

}
?>

<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>
<div id="conteneur">
<div class="noir">ELEMENT</div>
<div class="rouge">ELEMENT</div>
<div class="vert">ELEMENT</div>
<div class="bleu">ELEMENT</div>
<video class="video" controls="">
<source src="../toureiffel.mp4" type="Video/mp4">
</video>
</div>
</body>

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 12:31
par or 1
une fois le script affiché dans le navigateur, quelle est la fin de la source de la page (crtl + u) ?

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 12:37
par ecdns

Re: FORMULAIRE PHP / MYSQL

Posté : 27 janv. 2021, 12:41
par ecdns