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 :

Formulaire liaison PHP MySQL [Fait]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Par défaut Formulaire liaison PHP MySQL
    bonjour j'ai un souci pour faire connecter ma base de données mysql avec un formulaire PHP
    Je voudrais bien un exemple bien "détaillé" sur ce genre de connexion
    merci d'avance

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Vous devriez trouver les informations dont vous avez besoin parmi les tutoriels que nous proposons :


    Et aussi les cours et tutoriels PHP.

    Nous restons à votre disposition en cas de questions ou si vous rencontrez des difficultés lors de leur application.

  3. #3
    Membre averti
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Par défaut rep
    désolé de ne pas trop detaillé ...

    mais en fait j ai un fourmulaire en PHP que j ai creé a laide de dreamweaver et une base de donnée avec mysql "myphpadmin" tous ce que j ai maintenant c'est un fichier .frm de la base et la je suis coincé a essayer de connecter la base avec mon fourmulaire que dois je faire excatement .....

    merci pour votre reponse ...

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Montrez nous comment vous vous y prenez actuellement.

    MySQL s'interroge par le réseau (ce qui peut être simulé mais passons ces détails). Vous devez laisser les fichiers *.frm et autres à MySQL, c'est dans ceux-ci qu'il y écrit les données, les index, les structures, etc. Une intervention de votre part sur ces fichiers pourraient entraîner une perte totale ou partielle de vos données voir plus grave.

    On interagit avec MySQL via l'API qu'elle offre. PHP en propose plusieurs (PDO, mysqli, mysql) mais prenons la plus courante : mysql. Avant d'envoyer vos requêtes vous devez vous y connecter avec la fonction mysql_connect. Elle attendera de vous au moins : l'hôte, le login et le mot de passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_connect('localhost', 'root', '') or die(mysql_error()); // Paramètres de connexion locaux avec les valeurs par défaut
    Par commodité, sélectionnez ensuite la base de données à utiliser par défaut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_select_db('mysql') or die(mysql_error());
    Vous pouvez ensuite envoyer des requêtes (écrites en langage SQL) puis en traiter les réponses avant de mettre optionnellement fin à cette connexion à l'aide de mysql_close (PHP le fait automatiquement).

    Un petit exemple un peu plus complet visant à lister les tables qui composent la base système mysql :
    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
    <?php
    // Connexion à la base
    mysql_connect('localhost', 'root', '') or die(mysql_error());
    // Sélection d'une base par défaut
    mysql_select_db('mysql') or die(mysql_error());
     
    // Envoi d'une requête
    $sql = mysql_query('SHOW TABLES') or die(mysql_error());
    // Parcours du résultat
    while ($row = mysql_fetch_row($sql)) {
        echo $row[0] . '<br />';
    }
     
    // Fin de la connexion
    mysql_close();
    C'est ce qu'explique de façon plus détaillée le tutoriel : passer des requêtes MySQL en PHP

  5. #5
    Membre averti
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Par défaut
    j'ai suivi les consignes et voilà ce que j'ai réussi à faire :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    <html >
    <head>
     
    <title>Document sans titre</title>
    </head>
     
    <body >
     
    <form method="post" action="add.php">
      <p align="center"><font size="6">Fiche de Mise &agrave; jour </font></p>
     
    </form>
     
    <FORM method=post action="add.php">
      <TABLE BORDER=0 width="1045">
     
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <p> 
        <TR> 
          <TD width="214"><strong>nom</strong></TD>
          <TD width="239"><input name="nom" type=text  ></TD>
          <td width="210">&nbsp;</td>
          <td width="338">&nbsp;</td>
        </TR>
         <SCRIPT LANGUAGE="JavaScript">
    <!--
     
    if (window.print) {
    document.write('<form>Cliquez ici pour '
    + '<input type=button name=print value="Imprimer" '
    + 'onClick="javascript:window.print()"> cette page!</form>');
    }
    // -->
    </script>
      </TABLE>
    </FORM>
     
    <?php 
     
    CREATE TABLE `info` (
      `Id_nom` mediumint(8) unsigned NOT NULL auto_increment,
      `nom` varchar(25) NOT NULL default '',
      PRIMARY KEY  (`Id_nom`),
      UNIQUE KEY `nom` (`nom`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 
     
     
     
    // On commence par récupérer les champs 
    if(isset($_POST['nom']))      $raison_sociale=$_POST['nom'];
    else      $nom="";
     
    // On vérifie si les champs sont vides 
    if(empty($nom) ) 
        { 
        echo '<font color="red">Attention, seul le champs <b>ICQ</b> peut rester vide !</font>'; 
        } 
     
    // Aucun champ n'est vide, on peut enregistrer dans la table 
    else      
        { 
           // connexion à la base
    $db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
    // sélection de la base  
     
        mysql_select_db('mise_a_jour',$db)  or die('Erreur de selection '.mysql_error()); 
     
        // on écrit la requête sql 
        $sql = " 
    	
    	
    	 
    
    $nom=$_POST['nom'] 
    	
    	
    INSERT INTO infos_tbl(Id_nom, nom  ,) 
    VALUES('','$nom','nom')"  ; 
     
        // on insère les informations du formulaire dans la table 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
     
     
        mysql_close();   
        }  
     
    ?>
    </body>
    </html>
    si vous détectez une erreur et si vous avez quelques remarques à faire n'hésitez pas ....

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE `info` (
      `Id_nom` mediumint(8) unsigned NOT NULL auto_increment,
      `nom` varchar(25) NOT NULL default '',
      PRIMARY KEY  (`Id_nom`),
      UNIQUE KEY `nom` (`nom`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1
    ça c'est du code SQL ça n'a rien à faire tel quel dans du code PHP (mis à part pour déclencher une erreur de syntaxe).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // On commence par récupérer les champs 
    if(isset($_POST['nom']))      $raison_sociale=$_POST['nom'];
    else      $nom="";
    Au lieu de raison_sociale la variable ne devrait-elle pas s'appeler nom ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        // on écrit la requête sql 
        $sql = " 
     
     
     
     
    $nom=$_POST['nom'] 
     
     
    INSERT INTO infos_tbl(Id_nom, nom  ,) 
    VALUES('','$nom','nom')"  ;
    La requête est incorrecte syntaxiquement parlant pour commencer. Elle devrait plutôt être de cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "INSERT INTO infos_tbl(nom) VALUES('" . mysql_real_escape_string($nom) . "')";
    Et pensez à l'avenir à nous donner les messages d'erreur.


Discussions similaires

  1. question a propos de formulaire et php-mysql
    Par mendonakk dans le forum Langage
    Réponses: 8
    Dernier message: 22/11/2012, 14h22
  2. [MySQL] Formulaire PHP ->MySQL
    Par shub dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 09/02/2010, 22h42
  3. [MySQL] Bug Formulaire PHP-MySQL
    Par Davboc dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 01/03/2006, 15h15
  4. [MySQL] Filtre via formulaire HTML/PHP dans Base mySQL
    Par Al3x dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/01/2006, 16h27
  5. PHP -- MYSQL -- Formulaire HTML
    Par waybee dans le forum Requêtes
    Réponses: 2
    Dernier message: 28/11/2005, 09h30

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