IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Code générique pour transférer directement un POST dans MySQL


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Code générique pour transférer directement un POST dans MySQL
    Boujour à tous,

    je cherche à écrire un code PHP générique qui récupererait les données d'un formulaire html par l'intermédiaire d'un POST. Le code analiserait les champs($name) et leur valeurs($value) pour les transférer dans MySQL.
    Etant débutant en PHP j'aurai besoin d'aide pour savoir si je suis dans la bonne direction. L'application derrière de provoir faire facilement des requète AJAX en html.
    Voici le code :

    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
     mysql_connect($server,$user,$password); // connection à la base
    	 mysql_select_db($db_name); // Sélection de la base 
     
    	 // Je récupère les noms de chaque champ présent dans mon formulaire
    	 while (list($name, $value) = each($_POST)) {
    	 	echo "$name => $value\n";
    		$name_list = $names_list .",". $key; // Le problème de cette méthode c'est qu'une virgule demarre la ligne
    		}
    	echo $index;
     
    	// Ensuite je récupère les entré correspondant à chaque champ du formulaire
    	$value_list = '"'.implode('","',$_POST).'"'; // liste des valeurs correspondant à chaque champ
    	// j'injecte les données dans la base
    	$sqlquery = "INSERT into customer(" . $name_list . ") VALUES (" . $value_list . ")";
    	$reply = mysql_query($sqlquery) or die(mysql_error('la requete a échouée '));
    Merci pour votre aide et à bientôt,

    DjuDJu

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Points : 375
    Points
    375
    Par défaut
    Je ne comprend pas trop où ce situe ton problème mais tu me paraît être sur la bonne piste pour génériser un formulaire avec insertion dans une base de données.

    Par contre je trouve cela dommage de génériser cette partie du fait que tu ne peux pu faire de controle précis sur tes champs (est ce que le nom du customer à bien été renseigné ? est ce que sa date de naissance est correcte ect...), ces problèmes te renverrons obligatoirement une erreur dans ta requête SQL sans savoir exactement où se situe la mauvaise information.

  3. #3
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Pour les controles il suffit de les faire (si possible) avant l'envoi du formulaire. Ce qui est envisageable sur le champ est rempli, correctement formatté, etc.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai.

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Points : 375
    Points
    375
    Par défaut
    C'est pas faux, surtout que je viens de relire le message et de voir que djudjublondin souhaite utiliser de l'AJAX, dont tout à fait envisageable.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci pour vos lumière,

    effectivement j'envisage de faire les controles de champ dans par l'intermédiaire de JavaScript. Comme je suis très peu doué en Php j'essaye d'en minimiser l'utilité pour l'instant.

    D'autre part je m'appreçois que j'ai peut être été un peu vague dans ma question et je m'en excuse. Donc elle pourrait être posée de la façon suivante :
    La fonction implode me permet de façon très partique de récupérer les valeurs de chaque champs. Existe-t-il une fonction équivalente pour récupérer les noms correspondant à chaque champ ?
    J'ai essayé de contourner cette lacune en utilisant un while créant un chaine qui comporte tout les noms des champs de manière récursive. Malheureusement cette chaine débute avec une virgule, et je crains que cela soit l'origine de mon problème puisque ce script ne fonctionne pas.

Discussions similaires

  1. [AC-2003] Code VBA pour importer un fichier Excel dans access
    Par granddebutant dans le forum VBA Access
    Réponses: 5
    Dernier message: 24/01/2012, 14h51
  2. [XL-2007] code vba pour cliquer sur un bouton dans internet explorer
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/01/2011, 20h21
  3. Réponses: 1
    Dernier message: 27/01/2011, 11h50
  4. Réponses: 5
    Dernier message: 18/01/2009, 12h32
  5. code html pour ouvrir un lien URL dans une autre fenêtre de l'explorateur internet ?
    Par Dukey dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 20/02/2008, 18h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo