Insérer à l'aide d'un formulaire html sur mysql avec easyphp.

Fermé
Garfield - Modifié par pijaku le 17/01/2014 à 14:48
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 17 janv. 2014 à 14:35
Bonjour, je suis débutant et j'utilise easyphp.
J'essaye d'intégrer des valeurs d'un formulaire html à une base de donnée.

Voilà ma base de donnée créer avec l'interface de MyPHpAdmin.

Colonne Type Null Défaut Relié à Commentaires MIME
NomP varchar(20) Non
PrénomP varchar(20) Non
AdresseP varchar(100) Non
CpP int(5) Non
VilleP varchar(40) Non
TelP int(10) Non
MailP varchar(50) Oui NULL
NumF int(8) Non formation -> NumF


Voilà mon formulaire ce situant dans le fichier aaa - inscription.html et dans le répertoire d'easyphp.

<HTML>
  <BODY>
<center>
  <FORM action="insert_action.php" method="post">
    Nom :
    <INPUT type="text" name="nomp" size="25" maxlength="20">
    <BR>
    Prénom :
    <INPUT type="text" name="prenomp" size="25" maxlength="20">
    <BR>
    Adresse :
    <INPUT type="text" name="adressep" size="25" maxlength="100">
    <BR>
 Code postal :
    <INPUT type="text" name="cpp" size="25" maxlength="5">
    <BR>
 Ville :
    <INPUT type="text" name="villep" size="25" maxlength="40">
    <BR>
 Téléphone :
    <INPUT type="text" name="telp" size="25" maxlength="10">
    <BR>
 Adresse mail :
    <INPUT type="text" name="mailp" size="25" maxlength="50">
    <BR>
 Numéro formation :
    <INPUT type="text" name="numf" size="25" maxlength="8">
    <BR>
    <BR>
    <INPUT type="submit" name="OK">
  </FORM>
  </BODY>
</HTML>


Et voici mon fichier insert_action.php que j'ai crée dans le même répertoire :

<?php 
mysql_connect("localhost","root",""); 
mysql_select_db("formation aaa"); 

 $nomp = $_POST['nomp'];
 $prenomp = $_POST['prenomp'];
 $adressep = $_POST['adressep'];
 $cpp = $_POST['cpp'];
 $villep = $_POST['villep'];
 $telp = $_POST['telp'];
 $mailp = $_POST['mailp'];
 $numf = $_POST['numf'];
 
 { 
$ok=mysql_db_query ("formation aaa","INSERT INTO participant (nomp,prénomp,adressep,cpp,villep,telp,mailp,numf)
VALUES ($nomp,$prénomp,$adressep,$cpp,$villep,$telp,$mailp,$numf)");
 
echo"<div align='center'>"; 
echo"<font face='Verdana' size='3' >L'élément a bien été inséré !</font>"; 
echo"</div>"; 
} 
?>


Résultat lorsque je clique sur le bouton VALIDER sur ma page html :


Deprecated: Function mysql_db_query() is deprecated in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\my portable files\tp_final\insert_action.php on line 16

Deprecated: mysql_db_query(): This function is deprecated; use mysql_query() instead in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\my portable files\tp_final\insert_action.php on line 16
L'élément a bien été inséré !
----
dans insert_action la ligne 16 correspond à : VALUES ($nomp,$prénomp,$adressep,$cpp,$villep,$telp,$mailp,$numf)");


C'est quoi le problème s'il vous plait ?
Merci grandement pour votre aide !
A voir également:

4 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
15 janv. 2014 à 15:05
Salut,

Tu n'explique pas clairement ton problème. Je suppose donc que tes données ne sont pas insérées en bdd.

Les erreurs Deprecated indique que les fonctions que tu utilises sont obsolètes (tu pourrais les remplacer par celles proposées dans le message d'erreur d'ailleurs), mais ces erreurs n'empêche pas la bonne exécution de ton code.

Je pense que ton erreur vient du traitement sql, mais pour le savoir il faut traiter les éventuelles erreurs sql. Ajoute ceci après l'exécution de ta requête pour vérifier si il y a une erreur :

if (!$ok) {
    echo "Erreur DB, impossible d'effectuer une requête\n";
    echo 'Erreur MySQL : ' . mysql_error();
    exit;
}


Bonne journée
1
Merci de ta réponse, c'est très appréciable de me venir en aide !
J'ai compris mon erreur au niveau des fonctions obsolètes. J'ai rectifié en mettant ,comme tu as dis, ton bout de code après ma requête et voilà le résultat :

Warning: mysql_query() expects parameter 2 to be resource, string given in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\my portable files\tp_final\insert_action.php on line 15
l'élément a bien été inséré !
Erreur DB, impossible d'effectuer une requête Erreur MySQL :

Les donnés pas insérés en BDD, c'est à dire ? :)
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 17/01/2014 à 14:35
La fonction mysql_query() n'as pas la même signature que mysql_db_query().

La fonction mysql_query() attend 2 paramètres :
- le premier est la requête sql (type string)
- le deuxième est l'identifiant de la connexion sql (type ressource)

Le deuxième paramètres est optionnel si tu ne te connectes qu'à une seule base de données.
Plus d'info dans la bible php : https://www.php.net/manual/fr/function.mysql-query.php

Ton code pour insérer les données devrait donc ressembler à :
$ok = mysql_query('INSERT INTO participant ...etc...');

if (!$ok) {
    echo "Erreur DB, impossible d'effectuer une requête\n";
    echo 'Erreur MySQL : ' . mysql_error();
    exit;
}
0
J'ai enlevé l'accent de prénom, mais le soucis reste le même ^^
0
Vraiment personne pour m'aider ? :'(

Pourtant, j'vous assure un bon casse tête, comme vous les aimez, non ? (a)
0
Quelqu'un pourrais m'aider à résoudre mon soucis s'il vous plait ?
(Je suis désolé de me montrer insistant)... mais voilà dorénavant les erreurs qui s'affichent sont :

Warning: mysql_query() expects parameter 2 to be resource, string given in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\my portable files\tp_final\insert_action.php on line 15
l'élément a bien été inséré !
Erreur DB, impossible d'effectuer une requête Erreur MySQL :

J'ai vraiment du mal avec cet aspect de la chose, et je suis vraiment coincé.
Je vous en serait très reconnaissant pour vous m'aidez à débloquer la situation !
0