Formulaire dans MySQL

Fermé
Liza - Modifié par jordane45 le 13/02/2016 à 02:41
V3N0M.exe Messages postés 56 Date d'inscription mercredi 21 octobre 2015 Statut Membre Dernière intervention 2 mars 2016 - 13 févr. 2016 à 02:54
Bonjour à tous,
Je ne suis pas spécialiste de l'informatique, mais en suivant les cours sur l'internet j'ai réussi crée un code. Malheureusement ça ne marche pas totalement(je ne comprends pas comment introduire des données dans MySQL). Est-ce que quelqu'un peut me dire où est une erreur:
<!DOCTYPE HTLM>
<htlm>
<head>
<p>Proposer un trajet</p>
</head>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("covoiturage");
{
$mail=$_POST['mail'];
$téléphone=$_POST['téléphone'];
$nom=$_POST['nom'];
$prénom=$_POST['prénom'];
$date=$_POST['date'];
$heure=$_POST['heure'];
$partir=$_POST[partir];
$arriver=$_POST['lieu darrivée'];
$commentaire=$_POST['commentaire'];
{
mysql_query('INSERT INTO donnée VALUES (",'".$mail."','".$téléphone."' ,
 '".$nom."' ,  '".$prénom."' , '".$date."' ,  '".$heure."', '".$partir."', 
'".$arriver."', '".$commentaire."')"; 
}
}
?>
<form method="post" action="">
<p>
<fieldset>
<legend>Vos coordonnées</legend>
     <label for="mail">Votre mail : </label> 
<input type="mail" name="mail" id="mail"  autofocus required placeholder="Ex : ***@***" maxlength="30" size="30"/>

<br/><br/>
<label for="tel">Votre numéro de téléphone : </label> 
<input type="tel" name="tel" id="tel"  placeholder="06 00 00 00 00" maxlength="20" size="30"/>
<br/><br/>
<label for="nom">Nom : </label> 
<input type="text" name="nom" id="nom"  required placeholder="Ex : Smirnov" maxlength="20" size="30"/>

<br/><br/>
<label for="prénom">Prénom : </label> 
<input type="prénom" name="prénom" id="prénom"  required placeholder="Ex: Jean" maxlength="20" size="30"/>
</fieldset>

<br/><br/>
<fieldset>
<legend>Information relative au trajet</legend>
<label for="date">Date: </label> 
<input type="date" name="date" id="date" required  placeholder="Ex : 05/05/2005" maxlength="10" size="30"/>

<br/><br/>
<label for="time">Heure: </label> 
<input type="time" name="time" id="time" required placeholder="Ex : 10:00" maxlength="30" size="30"/>
<br/><br/>
     
<label for="ville">partir : </label>
<input type="text" name="ville"  id="ville" required placeholder="Ex : Grenoble" maxlength="15" size="30"/>

<br/><br/>
     
<label for="ville">arriver : </label>
<input type="text" name="ville"  id="ville" required placeholder="Ex : Valence" maxlength="15" size="30"/>

<br/><br/>
      <label for="commentaire">Commentaire (les villes passantes)</label><br/>
      <textarea name="commentaire" id="commentaire" rows="15" cols="50"></textarea>
</p>
</fieldset>
<input type="submit" value="Enregistrer"/>
</form>
</htlm>


EDIT : Ajout des balises de code

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
Modifié par jordane45 le 13/02/2016 à 02:57
Bonjour,



1 - Tu utilises l'ancienne extension mysql considérée comme obsolète.
Je t'invite à lire ceci puis à modifier ton code en conséquence
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli

2 - Il est préférable de récupérer "proprement" les variables AVANT de les utiliser.
Pour se faire... on utilisera l'écriture TERNAIRE et une fonction comme ISSET ou !EMPTY

par exemple :
$mail=isset($_POST['mail']) ? $_POST['mail'] : '';



3 - On ne met jamais de caractères accentués dans les noms de variable (aussi bien côté html.... que php ou mysql )
donc :
ceci par exemple :
<input type="prénom" name="prénom" id="prénom" 

est à remplacer par
<input type="prenom" name="prenom" id="prénom" 


et le code php de la même manière :
$prenom=isset($_POST['prenom']) ? $_POST['prenom'] : '';



4 - Tu as des accolades en plein milieu de ton code... on ne sait pas à quoi elles servent.... à retirer donc.


5 - Il est aussi "conseillé" de placer le code php en dehors du HTML... donc la récupération des variables, la requête d'insertion en BDD ... peuvent être placés AVANT ta première balise : <!DOCTYPE HTML>




Corrige déjà tout ça ... et reviens avec le code modifié pour qu'on regarde si c'est ok.









Cordialement, 
Jordane                                                                 
0
V3N0M.exe Messages postés 56 Date d'inscription mercredi 21 octobre 2015 Statut Membre Dernière intervention 2 mars 2016 23
13 févr. 2016 à 02:54
Autre petit problème; en haut, tu a écris ; DOCTYPE HTLM (on dis HTML ;) )

--
0