Page 1 sur 2
base de données MYSQL
Posté : 15 mai 2007, 10:17
par mamirock
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
Posté : 15 mai 2007, 10:45
par lem
Regarde au niveau de mysql_pconnect(), mysql_select_db(), mysql_query() etc.
Posté : 15 mai 2007, 10:57
par mamirock
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?
Posté : 15 mai 2007, 11:47
par lem
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)
Posté : 15 mai 2007, 11:49
par charabia
Posté : 15 mai 2007, 11:55
par mamirock
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??
Posté : 15 mai 2007, 12:32
par lem
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.
Posté : 15 mai 2007, 12:44
par mamirock
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?
Posté : 15 mai 2007, 12:52
par lem
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.
Posté : 15 mai 2007, 13:09
par mamirock
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();
?>
Posté : 15 mai 2007, 15:25
par charabia
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 ?
Posté : 15 mai 2007, 15:29
par lem
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..
Posté : 15 mai 2007, 16:38
par mamirock
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!!!!!!!!!
Posté : 15 mai 2007, 16:55
par charabia
QU'as-tu donc dans basedonnees.php ? Le code.
contact.php et conenxion.php se trouvent dans le même répertoire ?
Posté : 15 mai 2007, 17:27
par mamirock
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!!!