base de données MYSQL

Eléphant du PHP | 57 Messages

15 mai 2007, 10:17

Bonjour à toutes et à tous,
Je suis de retour avec d'autres questions, et comme d'habitude, les BA.BA me donnent beaucoup de mal.
J'ai Easyphp et j'ai un formulaire sur ma dernière page de site. J'ai bien compris qu'il fallait que je créé une base de données. Je l'ai débuté sur MYSQL. Par contre comment faire le rapprochement avec mon document.
Je crois qu'il faille mettre des indications dans ma page.php concernée, mais il y a une annotation à indiquer pour que le serveur comprenne qu'il y a du mysql. Je ne sais pas, ou je ne sais plus laquelle et à quel niveau de ma page l'indiquer
Merci de nouveau pour votre aide
Il faut oser d'abord, doser ensuite

lem
Eléphant du PHP | 108 Messages

15 mai 2007, 10:45

Regarde au niveau de mysql_pconnect(), mysql_select_db(), mysql_query() etc.
Lem.

Eléphant du PHP | 57 Messages

15 mai 2007, 10:57

Bonjour Lem, que de plaisir de te relire.
J'ai pris note de tes liens, mais j'aimerai connaître le début : dois-je mettre le langage dans ma page php concernée?
Il faut oser d'abord, doser ensuite

lem
Eléphant du PHP | 108 Messages

15 mai 2007, 11:47

Il suffit simplement que ta page s'appelle .php.
Ensuite elle doit ressembler à quelque chose comme ça:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Titre de la Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
.text1 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;color: White;text-align : left;}
.text2 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;color: Silver;text-align : left;}
.titre1 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;font-weight: bold;color: #FFFFFF;}
.titre2 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;font-weight: bold;color: #cccccc;}
</style><body>
 
<?
    $BD_serveur     = "localhost"; 
    $BD_utilisateur = "UserDeLaBaseMySql"; 
    $BD_motDePasse  = "MotDePasseDuUser"; 
    $BD_base        = "NomDeLaBase";
    
    mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse) 
        or die("Impossible de se connecter au serveur de bases de données."); 
    mysql_select_db($BD_base) 
        or die("Impossible de se connecter à la base de données."); 
    $requete = "SELECT * FROM Table1";
    $result = mysql_query($requete);

[...code php pour exploiter tes données...]

     mysql_close();
?>


</body>
</html>
Par défaut, l'utilisateur de ta base est root et son mot de passe est vide.
Il est fortement conseillé de gérer les utilisateurs et les droits, en modifiant les tables de la base qui s'appelle "mysql".
Mais tant que tu fais ta petite sauce en local pour voir si ça marche, tu peux garder l'utilisateur root (à moins que tes données ne soient confidentielles, etc)
Lem.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

15 mai 2007, 11:49


Eléphant du PHP | 57 Messages

15 mai 2007, 11:55

Je suis sur le site du zéro depuis 4 jours où j'ai pu appréhendé les diverses caractéristique, par contre toujours la même question, est-ce dans ma page "contact".php que je dois les indiquer ou dans une nouvelle page (excusez moi pour ces questions qui peuvent peut-être être PLUS que rudimentaires, mais j'ai besoin de comprendre. Si oui, dans quelle partie : head, body??
Il faut oser d'abord, doser ensuite

lem
Eléphant du PHP | 108 Messages

15 mai 2007, 12:32

L'instruction mysql_query() te permet d'exécuter une requête et te renvoie le résultat de ta requête.
Cette instruction (ainsi que celles qui précèdent) doit donc se trouver dans la page où tu souhaites exploiter tes données, les afficher par exemple.
Lem.

Eléphant du PHP | 57 Messages

15 mai 2007, 12:44

Donc il faut que je prenne une nouvelle page.
Dans la page contact du formulaire, les prospects me contacteront en me donnant des détails et les données je les récupérerai dans une page à part .
Concrètement : page index.php, page contact.php, page données.php?
Il faut oser d'abord, doser ensuite

lem
Eléphant du PHP | 108 Messages

15 mai 2007, 12:52

Donc il faut que je prenne une nouvelle page.
Dans la page contact du formulaire, les prospects me contacteront en me donnant des détails et les données je les récupérerai dans une page à part .
En général, c'est ce qu'on fait: on appelle une nouvelle page sur le clic du bouton "Envoyer". On envoie à cette page les données du formulaire, on les insère dans la base et si tout se passe bien, on affiche que tout s'est bien passé.
Concrètement : page index.php, page contact.php, page données.php?
Evite les accents sur les noms de page, ça pourrait te poser des problèmes ensuite.
Lem.

Eléphant du PHP | 57 Messages

15 mai 2007, 13:09

J'ai fais une page basedonnees.php.J'ai collé tes informations en prenant soin de changer les informations me concernant et quand je me sers d'easyphp, je sélectionne aliais et le dossier où est enregistré ma page, l'aperçu est identique à tes informations et il ne me donne aucunes indications : voilà le détail :

Code : Tout sélectionner

<? $BD_serveur = "xxxxx"; $BD_utilisateur = "xxxxx"; $BD_motDePasse = ""; $BD_base = "basedonnees"; mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse) or die("Impossible de se connecter au serveur de bases de données."); mysql_select_db($BD_base) or die("Impossible de se connecter à la base de données."); $requete = "SELECT * FROM Table1"; $result = mysql_query($requete); [...code php pour exploiter tes données...] mysql_close(); ?>
Il faut oser d'abord, doser ensuite

Avatar du membre
ViPHP
ViPHP | 3008 Messages

15 mai 2007, 15:25

En fait ce que tu dois faire en gros c'est ceci :
1. faire une page de "connexion". Cette page va contenir les paramètres de connexion à ta base de données. On va par exemple l'appeler "connexion.php".
<?php
// Paramètres persos
$host = "localhost"; // voir hébergeur
$user = "login"; // vide ou "root" en local
$pass = "password"; // vide en local
$bdd = "ma_base"; // nom de la BD
// connexion
mysql_connect($host,$user,$pass)
   or die("Impossible de se connecter");
mysql_select_db("$bdd")
   or die("Impossible de se connecter");
?>
2. Cette page de connexion devra être appelée sur toutes les pages où tu va utiliser la base. On va appeler cette page "traitement.php".
<?php
include("connexion.php");

//requête et traitement des données ici

// Déconnexion
mysql_close();
?>
Tu comprends mieux ?

lem
Eléphant du PHP | 108 Messages

15 mai 2007, 15:29

Là où j'ai mis
    $requete = "SELECT * FROM Table1"; 
    $result = mysql_query($requete); 

[...code php pour exploiter tes données...]
Tu dois mettre ton propre code php et tes propres requêtes selon ce que tu veux faire..
Lem.

Eléphant du PHP | 57 Messages

15 mai 2007, 16:38

J'ai créé un fichier connexion.php. J'ai saisi ces informations :

Code : Tout sélectionner

<?php // Paramètres persos $host = "localhost"; $user = "root"; $pass = ""; $bdd = "basedonnees"; // connexion mysql_connect("localhost","root","") or die("Impossible de se connecter"); mysql_select_db("basededonnees") or die("Impossible de se connecter"); ?>
Dans mon dossier contact.php (où se trouve le formulaie), j'ai saisi :

Code : Tout sélectionner

</h4> </div> <?php include("connexion.php"); //requête et traitement des données ici <form name='formulaire' action='basedonnees.php' method='post'> <table> <th id="formulaire">FORMULAIRE DE CONTACT</th> <tr><td><br/>Dénomination entreprise : </td><td><br/><input name='denomination' type='text' size='35' maxlength="50"></td></tr> <tr><td><br/>Fonction : </td><td><br/><input name='fonction' type='text' size='35'></td></tr> <tr><td><br/>Nom : </td><td><br/><input name='nom' type='text' size='35'></td></tr> <tr><td><br/>Prénom : </td><td><br/><input name='prenom' type='text' size='35'></td></tr> <tr><td><br/>Adresse :</td><td><br/><input name='adresse' type='text' size='35'></td></tr> <tr><td><br/>Adresse suite :</td><td><br/><input name='adresse_suite' type='text' size='35'></td></tr> <tr><td><br/>Code postal :</td><td><br/><input name='code_postal' type='text' size='5' maxlength="5"></td></tr> <tr><td><br/>Ville :</td><td><br/><input name='ville' type='text' size='35'></td></tr> <tr><td><br/>Tél. fixe :</td><td><br/><input name='telfixe' type='text' size='1O'maxlength="1O"></td></tr> <tr><td><br/>Tél. portable :</td><td><br/><input name='telport' type='text' size='1O'maxlength="1O"></td></tr> <tr><td><br/>Adresse mail :</td><td><br/><input name='email' type='text' size='35'maxlength="30"></td></tr> <tr><td>Le motif de votre message</td><td><br/><input name='sujet' type='radio' value='renseignement'>Renseignement<br> <input name='sujet' type='radio' value='probleme technique'>Documentation<br> <input name='sujet' type='radio' value='partenariat'>Partenariat</td></tr><br/> <tr><td><br/><br/><input name='annuler' type='reset' value='Annuler'></td><td> <br/><br/><input name='soumettre' type='submit' value='Envoyer'></td></tr><br/></table> </form> // Déconnexion ?> mysql_close(); <div id="finpage"> <!--FINPAGE-->
Quand je veux faire l'essai par easyphp :
  • Index of /phptest

    Name Last modified Size Description

    [DIR] Parent Directory 01-May-2007 16:57 -
    [ ] basedonnees.php 15-May-2007 16:03 7k
    [ ] connexion.php 15-May-2007 16:16 1k

    Apache/1.3.33 Server at 127.0.0.1 Port 80
Il m'indique : Parse error: parse error in c:\mes documents\phptest\basedonnees.php on line 114
c'est à dire pour la ligne concernée :
Parse error: parse error in c:\mes documents\phptest\basedonnees.php on line 114
Me suis-je encore trompée ou ai-je fais un oubli de plus!!!!!!!!!
Il faut oser d'abord, doser ensuite

Avatar du membre
ViPHP
ViPHP | 3008 Messages

15 mai 2007, 16:55

QU'as-tu donc dans basedonnees.php ? Le code.

contact.php et conenxion.php se trouvent dans le même répertoire ?

Eléphant du PHP | 57 Messages

15 mai 2007, 17:27

Je crois que j'amalgame tout.

J'ai un dossier dans c:/Mes documents/phptest. Dans ce dossier, j'ai mis un fichier connexion.php (pour établir ma connexion).
J'ai un autre fichier : basedonnees. php. J'ai mis quelques informations recueillies sur mes pages html de mon site (en cours ...).
Pour visualiser le tout : J'utilise Easyphp, administration : et là je possède bien les deux fichiers (connexion et basedonnees).

Dans le fichier "basedonnes.php" :

Code : Tout sélectionner

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title> AS.AD.CO </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="base_de_donnees" href="basedonnees.css" /> </head> <body> <div id="en_tete"> <!--BANNIERE--> </div> <div id="bordure"> </div> <div id="menu"> <!--MENU--> <div class="element_coordonnee"> <h3><!--SOUS TITRE COORDONNEE--> <dl> <dt>06.24.58.06.36.</dt><br/> <dt>02.38.84.31.23.</dt><br/> <dt><a href="mailto:[email protected]">[email protected]</a></dt><br/> </h3> </dl> </div> <div class="element_sommaire"> <h3><!--SOUS TITRE SOMMAIRE--> <dl> <dt><a href="index.php">Présentation</a></dt> </h3> </dl> </div> <div class="element_services"> <h3><!--SOUS TITRE services--> <dl> <dt><a href="services.php">Services</a></dt> </h3> </dl> </div> <div class="element_avantages"> <h3><!--SOUS TITRE avantages--> <dl> <dt><a href="avantages.php">Avantages</a></dt> </h3> </dl> </div> <div class="element_modalites"> <h3><!--SOUS TITRE modalites--> <dl> <dt><a href="modalites.php">Modalités</a></dt> </h3> </dl> </div> <div class="element_contact"> <h3><!--SOUS TITRE contact--> <dl> <dt><a href="contact.php">Contact</a></dt> </h3> </dl> </div> </div> <div id="corps"> <!--CORPS--> <h1>UN SEUL INTERLOCUTEUR : UNE SEULE FACON D'AGIR</h1> <p> <h4>Tout comme vous, nous sommes artisans<br/> et privilégions AVANT TOUT le métier, l'expérience.</h4> </p> </div> </div> <div id="partenaire"> <!--PARTENAIRE--> <h2>Le devis est PERSONNALISE, GRATUIT et REMIS en main propre sous 24 heures</h2> </div> <div id="partenaire1"> <!--PARTENAIRE1--> <h2>Forfait à partir de <strong>147 euros</strong> par mois<br><br/> N'hésitez plus!!!</h2> </div> <div id="intervention"> <!--intervention--> <h3>ACCUEIL TELEPHONIQUE<h3> </div> <div id="intervention1"> <h4>Du Lundi au Vendredi<br/> 7h00 à 19h30 sans interruption<br/><br/> Le Samedi<br/> 7h00 à 15h00 sans interruption<br/> </h4> </div> <DIV ID="ville"> <!--ville--> <p> <h3>AS.AD.CO Assistance Administrative et Commerciale<br/> 21 rue Louise Labé - 45000 ORLEANS<br/><br/> <h2> Votre interlocuteur : Frédérique GENTY</h2> </div> <div id="eco"> <!--pucetableau--> <div class="economie"> <h4 >Si vous êtes intéressé(e) ou si vous souhaitez simplement des informations complémentaires,<br/> vous pouvez également remplir le formulaire ci-après.<br/><br/> Nous nous ENGAGEONS A VOUS CONTACTER dans les plus brefs délais. </h4> </div> <?php include("connexion.php"); $requete = "SELECT * FROM Table1"; $result = mysql_query($requete); //requête et traitement des données ici <form name='formulaire.php' action='basedonnees.php' method='post'> <table> <th id="formulaire">FORMULAIRE DE CONTACT</th> <tr><td><br/>Dénomination entreprise : </td><td><br/><input name='denomination' type='text' size='35' maxlength="50"></td></tr> <tr><td><br/>Fonction : </td><td><br/><input name='fonction' type='text' size='35'></td></tr> <tr><td><br/>Nom : </td><td><br/><input name='nom' type='text' size='35'></td></tr> <tr><td><br/>Prénom : </td><td><br/><input name='prenom' type='text' size='35'></td></tr> <tr><td><br/>Adresse :</td><td><br/><input name='adresse' type='text' size='35'></td></tr> <tr><td><br/>Adresse suite :</td><td><br/><input name='adresse_suite' type='text' size='35'></td></tr> <tr><td><br/>Code postal :</td><td><br/><input name='code_postal' type='text' size='5' maxlength="5"></td></tr> <tr><td><br/>Ville :</td><td><br/><input name='ville' type='text' size='35'></td></tr> <tr><td><br/>Tél. fixe :</td><td><br/><input name='telfixe' type='text' size='1O'maxlength="1O"></td></tr> <tr><td><br/>Tél. portable :</td><td><br/><input name='telport' type='text' size='1O'maxlength="1O"></td></tr> <tr><td><br/>Adresse mail :</td><td><br/><input name='email' type='text' size='35'maxlength="30"></td></tr> <tr><td>Le motif de votre message</td><td><br/><input name='sujet' type='radio' value='renseignement'>Renseignement<br> <input name='sujet' type='radio' value='probleme technique'>Documentation<br> <input name='sujet' type='radio' value='partenariat'>Partenariat</td></tr><br/> <tr><td><br/><br/><input name='annuler' type='reset' value='Annuler'></td><td> <br/><br/><input name='soumettre' type='submit' value='Envoyer'></td></tr><br/></table> </form> // Déconnexion ?> mysql_close(); <div id="finpage"> <!--FINPAGE--> <p> <h5>Copyright"AS.AD.CO", tous droits réservés</h5> </p> </div> </body> </html>
.
Je ne devrais pas avoir de fichier "contact" en principe; il est pour mon VRAI site et par pour celui de test?!!!!! J'ai du tout mélanger!!!
Il faut oser d'abord, doser ensuite