Pcinf     Assistance Pc Matériel Logiciel et Système     "Forum Informatique d'aide en ligne"
Touch'à Tout Pro Entretien de baliment et Locaux, Nettoyage de batiment et locaux, Espaces Verts, Lyon 69, Bourg 01, Villefranche 69, Macon 71
 

 
Web Pc-Informatique.net
                                        Recherche sur le ForumRecherche sur le Forum    Groupes d'utilisateursGroupes d'utilisateurs   InscriptionInscription         

Votre ProfilVotre Profil   Vérifier ses messages privésVérifier ses messages privés   Se connecterSe connecter    FAQ du forumFAQ du forum
PC-Informatique.net     tutoriaux
 
Sécurité Internet aide en ligne logiciel gratuit       Aide au Référencement      Dossier sur la sécurité Wi-fi : WEP, WPA...       Tuto VNC 4.1.1       Réencoder des .AVI et couper vos films       Activation désactivation de WGA Windows genuine advantage       Partage de connexion Internet       Installation de Mandriva Linux    Construction dune base de données MySQL Créer un formulaire et récupérer les données  _
 

    Le Site   TV ce soir  Météo  Cartes virtuelles gratuites  Sudoku  Contact Admin  Faire un lien  Calendrier 2011

Construction dune base de données MySQL et instrution PHP

 
Poster un nouveau sujet   Répondre au sujet    Forum Pcinf retour aux Forums -> Langages de programmation
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
@YvesJean01@
Rank Pr 2
Rank Pr 2


Inscrit le: 09 Sep 2005
Messages: 3406
Localisation Pays-Ville: Guéreins 01090

MessagePosté le: Mer Mai 31, 2006 12:13 pm    Sujet du message: Construction dune base de données MySQL et instrution PHP Répondre en citant

En pleine apprentissage au niveau de développement d’application de base de donnés (BDD), de la construction au dialogue avec PHP cela m’est pour le moment passionnant,

Bien du travail reste a faire mais cela avance doucement, pour les requêtes j’ai créer une page HTML aussi bien pour dialoguer avec la BDD que pour écrire des instructions PHP donc cela ce passe en aveugle PhpMyAdmin servant juste de contrôle final.

Oui bon, je voie d’ici quelques commentaire Mr. Green !

En tout cas les travaux feront ressortir un Tutorial qui j’espère sera des plus compréhensif sans mots trop technique pour un internaute qui voudrait ce lancer dans le développement.

Voila je voulais lancer l’info avant que divers BDD seront crées en tuto avec PHP et si j’ai des problème technique je demanderait bien sur de l’aide car je croit savoir qu’il y en a qui ont déjà bosser dessus.

En faite je veux essayer de réunir réseau et Webmasteur car entre les deux bien souvent il y a un grand vide que j’essaye de palier moi mème,
ce vide ce situe entre une BDD et les écritures d’instruction qui seront développez et en cas de problème ou de rectification a apportez au niveau de sont amélioration, correction, problème rencontrez, dialogue au cour des travaux soit de montage ou bien de montage d’autre construction de BDD je n’hésiterait pas a vous demandez de l’aide.

Voila pour l’info, pour le moment j’en suis toujours au niveau de la BDD mais ca avance tranquille et je me réserve bien de vous donnée une date pour la finalisation dun 1er Tuto…


Dernière édition par @YvesJean01@ le Jeu Juin 22, 2006 10:03 pm; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger - Windows Live Messenger
Jackwade
Rank Pr 3
Rank Pr 3


Inscrit le: 03 Sep 2005
Messages: 2268

MessagePosté le: Mer Mai 31, 2006 10:44 pm    Sujet du message: Répondre en citant

Salut yvesjean, tu peux déjà compter sur mon aide mais le prob c'est que moi aussi je vais avoir besoin de votre aide car comme yvesjean, j'ai décidé de me mettre au php et j'avance aussi doucement dessus et ce n'est pas des plus faciles Mr. Green
_________________
J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone.

Bjarne Stroustrup
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
@YvesJean01@
Rank Pr 2
Rank Pr 2


Inscrit le: 09 Sep 2005
Messages: 3406
Localisation Pays-Ville: Guéreins 01090

MessagePosté le: Jeu Juin 01, 2006 10:09 am    Sujet du message: Répondre en citant

La passion na pas de limite, bien venu au club des assoiffer de connaissance
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger - Windows Live Messenger
blackduty
Rank Pr 8
Rank Pr 8


Inscrit le: 23 Nov 2005
Messages: 102

MessagePosté le: Ven Juin 02, 2006 11:43 pm    Sujet du message: Répondre en citant

Je sais pas si vous connaissez mais ce site est plutot bien fait pour apprendre (au moins) les bases de PHP et d'autres choses Wink

http://www.siteduzero.com/index.php

D'un autre coté, il est plutot connu sur le web donc bon, si vous connaissez, soyez sympa, me casser pas trop :p
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
@YvesJean01@
Rank Pr 2
Rank Pr 2


Inscrit le: 09 Sep 2005
Messages: 3406
Localisation Pays-Ville: Guéreins 01090

MessagePosté le: Sam Juin 03, 2006 7:00 pm    Sujet du message: Répondre en citant

Oui, un Site Kool ou l'ont peut toujours récupérer quelques Infos.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger - Windows Live Messenger
Jackwade
Rank Pr 3
Rank Pr 3


Inscrit le: 03 Sep 2005
Messages: 2268

MessagePosté le: Dim Juin 04, 2006 9:01 pm    Sujet du message: Répondre en citant

Je ne vois pas pourquoi on te casserait blackduty. Ce site c'est clair qu'il est connu mais pour moi ca reste un super site pour apprendre pleins de choses comme tu dis. Tu complètes avec d'autres sites ou autres connaissances et c'est parfait.
_________________
J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone.

Bjarne Stroustrup
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
@YvesJean01@
Rank Pr 2
Rank Pr 2


Inscrit le: 09 Sep 2005
Messages: 3406
Localisation Pays-Ville: Guéreins 01090

MessagePosté le: Ven Juin 23, 2006 11:30 pm    Sujet du message: Répondre en citant

Le Tuto sur le développement d’application de base de donnés (BDD) est finis,
esce qu’ont le m’est en ligne Jack car j’ais pris du retard sur celui de la construction au dialogue avec PHP, a vrais dire je l’est pas encore entamé.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger - Windows Live Messenger
Jackwade
Rank Pr 3
Rank Pr 3


Inscrit le: 03 Sep 2005
Messages: 2268

MessagePosté le: Dim Juin 25, 2006 10:31 pm    Sujet du message: Répondre en citant

Il vaut mieux le mettre en ligne quand tout sera fini, je pense!!
_________________
J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone.

Bjarne Stroustrup
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
@YvesJean01@
Rank Pr 2
Rank Pr 2


Inscrit le: 09 Sep 2005
Messages: 3406
Localisation Pays-Ville: Guéreins 01090

MessagePosté le: Mar Sep 26, 2006 10:59 pm    Sujet du message: Construction dune base de données MySQL et instrution PHP Répondre en citant

Voici le Tuto 1 de la construction d'une base de données MySQL et instructions PHP, une suite fera également l'objet d'un topic unique qui sera lui consacrer à la récupération des informations écrites dans une base de données et ca représentation dans une page Web.

Tout d’abord, installez un serveur MySQL et un interpréteur PHP sur votre machine. Pour cela, nous avons optés pour EasyPHP qui est en « open source »,
Vous pourrez ainsi tester les bases de données « BDD » et les scripts PHP avant l'installation sur un serveur externe.

Dans ce cadre là, l'outil EasyPHP version 1.8 est l'outil idéal pour effectuer des mises au point et pout optimiser des bases de données et des scripts,
L’installation d'EasyPHP est très simple et après l'avoir installé, créer un dossier* dans Web Local a la racine du serveur (www).

*Nota : le dossier est appelé plus communément répertoire.

Renommez le, par exemple, « mestests » puis créer a l’intérieur de ce répertoire un fichier « test.php » avec le bloc-notes pour Windows et c’est a partir de la que nous allons débuter avec un test simple. Pour cela, copier/coller ce "scrïpt" dans votre fichier « test.php » pour vérifier que PHP tourne correctement. Voici le "scrïpt" :

Code:
<html>
<head>
<title>Test de PHP</title>
</head>
<body>
<p>test ligne HTML
<p>
<?php
   echo "test ligne PHP";
   phpinfo();
Neutral>
</body>
</html>

Nota : Remplacez le Neutral par le point d’interrogation sous votre clavier.

Vous devriez voir deux lignes et un tableau en affichant le fichier sur votre navigateur. Pour se faire :
Ouvrez EasyPHP puis rechercher Weblocal/nomderepertoire/nomdufichiercreer/, son adresse Web Local sera http://127.0.0.1/nomdetonrepertoire/nomdetonfichier.php tu dois voir cela à l’écran :




Nous allons maintenant tester MySQL dans le même répertoire précédemment installé créer un fichier nommer "test-mysql.php" et copier/coller ce "scrïpt"

Code:

<html>
<head>
<title>Test de MySQL</title>
</head>
<body>
<BODY BGCOLOR="#FFFFCC" TEXT=BLACK LINK=BLUE VLINK=PURPLE ALINK=RED>
<p>Test indépendant ceci est une ligne HTML
<p>
<?php
   echo "Test indépendant. Ceci est une ligne PHP <center><br><br>Test MySQL
réussi</center>";
Neutral>
<br><br>
<!-- test-mysql.php -->
<?php
$host="localhost";  /* ou 127.0.0.1 */
$user="root";
$password="";
mysql_connect($host,$user,$password);
$sql="show status";
$result = mysql_query($sql);
if ($result == 0)
    echo("<b>Erreur " . mysql_errno() . ": " . mysql_error() . "</b>");
elseif (mysql_num_rows($result) == 0)
    echo("<b>Requête exécutée avec succès</b>");
else
{
Neutral>
<!--tableau affichant les résultats -->
<table border=»1»>
  <tr><td><b>nom de la variable</b></td><td><b>valeur</b></td></tr>
  <?php
    for  ($i = 0; $i < mysql_num_rows($result); $i++) {
     echo("<TR>");
     $row_array = mysql_fetch_row($result);
     for ($j = 0; $j < mysql_num_fields($result); $j++) {
       echo("<TD>" . $row_array[$j] . "</td>");
       }
       echo("</tr>");
   }
  Neutral>
</table>
<?php } Neutral>
</body>
</html>


Si le test est réussi voici ce que vous devez avoir a l'écran



Maintenant créez un fichier nommé " mysql_envoi.php " pour envoyer une requete au serveur SQL et afficher les résultats copier/coller ce "scrïpt" :

Code:
<!-- Nom du programme : mysql_envoi.php
     Description : envoi d'une requete SQL au serveur SQL
                   et affichage des résultats.
-->
<html>
<head>
<title>Envoi de requete SQL</title>
</head>
<body>
<BODY BGCOLOR="#FFFFCC" TEXT=BLACK LINK=BLUE VLINK=PURPLE ALINK=RED>
<p>Test indépendant ceci est une ligne HTML<br><br><b><u>Nota:</u></b> Sous Linux/UNIX ne pas utiliser root <u>sans mot de passe</u> dans le "scrïpt"<br> $user="<b>root</b>"; <br>$password="<b>mot de passe ici</b>";<br> car la base de données sera dans ce cas accessible à tout le monde.
<p>
<?php
$host="localhost";
$user="root";
$password="";

/* Section d'exécution de la requête */
if(@$_GET['form'] == "yes")
{
mysql_connect($host,$user,$password);
mysql_select_db($_POST['database']);
$query = stripSlashes($_POST['query']);
$result = mysql_query($query);
echo "Base de donnée sélectionnée : <b>{$_POST['database']}</b><br>
Requête : <b>$query</b><h3>Résultats</h3><hr>";
if($result == 0)
echo "<b>Erreur ".mysql_errno().": ".mysql_error().
"</b>";
elseif (@mysql_num_rows($result) == 0)
echo ("<b>Requête executée. Aucun résultat envoyé.</b><br>");
else
{
echo "<table border='1'>
<thead>
<tr>";
for ($i = 0;$i < mysql_num_fields($result);$i++)
{
echo "<th>".mysql_field_name($result,$i).
"</th>";
}
echo " <tr>
</thead>
<tbody>";
for ($i = 0; $i <mysql_num_rows($result); $i++)
{
echo "<tr>";
$row = mysql_fetch_row($result);
for($j = 0;$j<mysql_num_fields($result);$j++)
{
echo("<td>" . $row[$j] . "</td>");
}
echo "</tr>";
}
echo "</tbody>
</table>";
} //end else
echo "
<hr><br>
<form action=\"{$_SERVER['PHP_SELF']}\" method=\"POST\">
<input type='hidden' name='query' value='$query'>
<input type='hidden' name='database'
value={$_POST['database']}>
<input type='submit' name=\"queryButton\"
value=\"Nouvelle requête\">
<input type='submit' name=\"queryButton\"
value=\"Editer la requête\">
</form>";
unset($form);
exit();
} //endif form=yes

/*Section that request user input of query */
@$query=stripSlashes($_POST['query']);
if (@$_POST['queryButton'] !="Editer la requête")
{
$query = "";
}
Neutral>
<form action="<?php echo $_SERVER['PHP_SELF'] Neutral>?form=yes" method="POST">
<table>
<tr>
<td align=right><b>Indiquez le nom<br>de la base de données</b></td>
<td><input type="text" name="database"
value=<?php echo @$_POST['database'] Neutral> ></td></tr>
<tr>
<td align="right" valign="top">
<br><b>Saisie la requete SQL</b><br><br><a href="http://pc-informatique.net/forum/" target="_blank"><img src="http://pc-informatique.net/windows/images/Pcinf120x9011ko.gif" width="120" height="90" border="0" alt="PC-Informatique.net des problemes une alternative"></a></td>
<td><textarea name="query" cols="60"
rows="10"><?php echo $query Neutral></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit"
value="Envoyer la requête"></td>
</tr>
</table>
</form>
<b>Besoin d'aide:</b><!-- debut du "scrïpt" -->
<form name="jump">
<select name="menu">
<option value="http://pc-informatique.net/forum/"title="Assistance Pc Materiel Logiciel et Syteme Informatique">Index du Forum</option>
<option value="http://pc-informatique.net/forum/cat-index-2.php"title="Le Bar">Menu Géneral</option>
<option value="http://pc-informatique.net/forum/cat-index-3.php"title="Menu Materiel Informatique">Menu Matériels</option>
<option value="http://pc-informatique.net/forum/cat-index-4.php"title="Menu Logiciel Informatique">Menu Logiciels</option>
<option value="http://pc-informatique.net/forum/cat-index-5.php"title="Menu Reseau Informatique">Menu Réseaux</option>
<option value="http://pc-informatique.net/forum/cat-index-6.php"title="Forum Webmasters">Menu Webmaster</option>
</select>
<input type="button" onClick="location=document.jump.menu.options[document.jump.menu.selectedIndex].value;" value="GO">
</form>
<!-- fin du "scrïpt" -->
</body></html>

Nota : Remplacez le Neutral par le point d’interrogation sous votre clavier "sans espace".

Si tout s’est bien passé, tu devrais voir s’afficher ceci. Dans le cas contraire, si par exemple, tu recopies les codes a la main, tu as un risque de page blanche mais il est bon de les recopier. Au départ, tu verras que les erreurs de frappes sont communes, j’ai bien revu ce "scrïpt" une 10ène de fois avant d’arriver à ce résultat



Pour ceux qui ont déja créés des Sites statiques en HTML, vous ne serez pas trop dépaysé.


Construction d'une base de données:


Vérification en faisant une requête dans la boite de saisis SQL en tapant SHOW DATABASES aucune erreur ne doit être détectée

Crées ta base de données dans la boite de saisie en utilisant la commande « SQL » : CREATE DATABASE nomdetabase
puis envoie la requête, son contrôle peut également ce faire dans phpMyAdmin.

Il est toujours possible de la supprimer en cas d’erreur avec la commande « SQL » : DROP DATABASE nomdetabase
à soumettre dans la boite de saisie ou dans l’espace phpMyAdmin gestionnaire de la BDD.

Crée une table ainsi que les noms des colonnes*, ne pas oublier de remplir comme Indique le nom de la base de données ce qui nous donnent dans la synoptique suivante:
Indique le nom de la base de données nomdetabase

Inscris dans la boite de saisis la requête SQL CREATE TABLE nomdetatable et crées des colonnes*(s) dans cette table qui serviront d’identificateur d’objet(s), nous nous attarderons plus loin sur la création des colonnes*; Pour supprimer une table, il faudra utiliser la requête SQL DROP TABLE nomdetatable dans la boite de saisie.

Pour vérifier qu'il n'y a pas d'erreur au niveau de vos tables qui viennent d'être créées, taper la requête SHOW TABLES en indiquant le nom de la base de données.
La même vérification peut être faite au niveau des colonnes avec cette requête: SHOW COLUMNS FROM nomdetatable. Si l'erreur 0 vous est retourné c'est que tout va pour le mieux. Vous pouvez aussi vérifier dans PhpMyAdmin que tout s'est passé comme vous l'aviez souhaité.

Pour le moment, tout fonctionne parfaitemment : vous avez bien en main cette structure virtuelle, allons plus loin !

Vous pouvez modifier la structure d'une base de données avec la requête ALTER voici un exemple:

Pour renommer une table, utiliser cette requête ALTER TABLE nomdetatable RENAME nomdetanouvelletable, D'autres commandes existent et ne sont pas traitées ici, contente toi de bien avoir déja en main ces divers commandes qui sont des plus utiles. Pour le reste, utilise le tableau de bord de PhpMyAdmin. Ceci est en faite un apprentissage pour voir comment nous pouvons communiquer de manière aveugle et comprendre le principe d'une base de données.

Nous avons vu comment créer ou supprimer une base de données puis la création ou suppression des tables, nous poursuivrons au niveau de colonnes*. Entraînez vous déjà a ces manipulations, quelles soient bien comprises, voici un rappel de ce que nous venons de voir :


*Création de tes colonnes et finalisation de la BDD

Définis tes colonnes et donne un nom a ta base de données pour une liste d’inscris :

exp :
Nom de la base de données «inscritmembre»
Table de la base de données «visiteur»
Colonnes de la base de données «visiteurid» et «visiteurimage» et «visiteuradresse»
Choix du type de données et «valeurs» ou «variable».

Il faudra créer autant de colonnes que nécessaire pour permettre un bon développement d’applications suivant le choix final adopté

exemple :
Tu veux présenter une liste de d’inscris sur ton Site, créé comme ci-dessus et nomme la base de données, ta table, et tes colonnes.

Il va falloir identifier une clef primaire* qui sera par exemple «visiteurid» ;

*son 1er avantage sera de faire une relation entre table mais son rôle de base est d’empêcher plusieurs ligne d’avoir le même nom c'est à dire d'avoir un identifiant unique pour chaque ligne.

Type de données pouvant être déclaré dans les tables à mettre a la suite des colonnes. Il va falloir réfléchir suivant ces exemples «chaîne de caractères» «numérique» «date et heure» pour les principaux à ce que le visiteur devra remplir. D’autre type de données existent, je limite volontairement la liste afin de n’aller qu’au principal.

Voici leurs définitions que nous appelons dans le jargon «Valeurs» ou «Variable» ;

Chaîne de caractères : Login, nom, description,…, ces chaînes de caractères peuvent être limitées en longueur dont voici les valeurs ou type de variables d'exemple;

VARCHAR ( ) entre les ( ) afficher le nombre 255 maximum exp :
Code:
VARCHAR(255)

CHAR ( ) entre les ( ) afficher le nombre 10 maximum exp :
Code:
CHAR(10)

TEXT 65 535 caractères maximum
Code:
TEXT


Numérique : nombre décimaux ou entier ;

Int ( ) unsigned nombre maximum de l’entier pouvant être assigné exp :
Code:
INT(4000)UNSIGNED

Décimal ( ) longueur vaut 5 et décimal nombre de chiffre avant la virgule 2 exp :
Code:
DECIMAL(5,2)
ce qui donne pour un chiffre en décimal et longueur 12.34,

Date et Heure :

Date( ) année,mois,jour décomposer (AAAA-MM-JJ) ce qui donne 2006-06-10 exp :
Code:
DATE(AAAA-MM-JJ)

Time( ) heure,minute,secondes décomposer (hh :mm :ss) ce qui donne 22 :30 :01 exp :
Code:
TIME(hh:mm:ss)


Vous serez amené a déclarer certain de ces type de valeur (ou variable) à vos colonnes. Le nom et le type seront automatiquement reconnus par MySQL.

Exemple imagé de la création dune BDD inscritmembre
nota: avec une BDD sous Linux il faut respecter les Majuscules et les minuscules.





Il est logique de construire une base de données ou de comprendre celle existante avant d’écrire un programme PHP. Le contraire est possible mais aucun test ne pourra se faire;

des scripts PHP récupéré ici ou la peuvent-être très dangereux pour une BDD...

J’espère que ce Tuto sur la base de données vous sera très utiles. J’ai essayé de rester au plus simple pour qu’il soit compréhensif pour tous. Ci-dessous, voila le "scrïpt" complet remanié que vous devez saisir.


"scrïpt" complet d'affichage d'un Formulaire et écriture d'un programme PHP


Code:

<!-- Nom du programme : mysql_envoi.php
     Description : envoi d'une requete SQL au serveur SQL
                   et affichage des résultats.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Affichage et création d'un Formulaire HTML PHP </title>
<meta name="description" content="Construction dune base de données MySQL et instrution PHP">
<meta name="keywords" content="base, donn&eacute;es, php,sql, mysql, table, colonne, Easyphp, programme, programation, webmasteur, aide, technique, recherche, probl&egrave;me, d&eacute;pannage, forum, tutoriaux, cr&eacute;ation, solution, langage, code, codage">
<meta name="content-language" content="fr">
<meta name="robots" content="all">
<meta name="revisit-after" content="15 days">
</head>
<html>
<BODY BGCOLOR="#FFFFCC" TEXT=BLACK LINK=BLUE VLINK=PURPLE ALINK=RED>
<!-- Comment insérer des données dans une table de données provenant d'un formulaire Neutral
Pour exemple, nous appelerons notre base de données inscription et notre table users
 
   
Ayant suivi les exemples en local, voici les travaux pratiques qui ne devront pas vous poser de problèmes. Vous savez maintenant :  créer une table et une base de données (BDD). Une fois votre choix sur le nom de la base de données ainsi que sa création : par exemple, créer une table users dans phpMyAdmin avec la requête SQL imagée ci-dessous.

Nous avons besoin d'un fichier dont l'extension sera php nommé pour l'exemple testuser.php que vous créez avec le bloc note pour Windows. Il contiendra le "scrïpt" html et php nécéssaire renfermant toutes les données pour la création du formulaire;

Requête SQL pour la création de la base de données inscription:
CREATE DATABASE inscription-->




Code:
<!--Requette SQL pour la création de la table user

CREATE TABLE user (id INT (10) not null AUTO_INCREMENT, pseudo VARCHAR (25) not null , email VARCHAR (30) not null , icq INT (11) null , titre VARCHAR (50) not null , description VARCHAR (170) not null , url VARCHAR (75) not null , PRIMARY KEY (id), INDEX (id), UNIQUE (id)) -->




Code:

<!--Nous allons utiliser le formulaire ci-dessous qui va alimenter la table :-->
<br><br><br>

<center>
<?php
   echo "Bonjour, nous somme le";
//echo affiche du texte php
Neutral>
 
<?php
// date local en php
echo date("d/m/Y");
Neutral>
<br>Merci de remplir le formulaire</center>

<!-- page à appeler lors de la soumission du formulaire -->


<!-- saisir une chaîne de caractères,
<input""> cette balise sert à insérer un champ de formulaire.
name=""   c'est l'application qui contient le nom de l'application (au choix).
size=""   définit la longueur du champ de saisie.
Value=""  permet de rajouter une expréssion.
maxlength="" définit le nombre total de caractères dans le champ, le visiteur ne pourra ainsi pas dépasser le nombre de caractères spécifiés.
D'autres balises peuvent etre rajoutées, ce n'est que les principales -->

<!--on a choisi la méthode POST plus sécurisé que GET qui elle ferait passer les variables par l’URL. Créons maintenant le formulaire-->
<center>
<form method="POST" action="testuser.php">
pseudo:->&nbsp;<input type="text" name="pseudo" size="22" value="" maxlength="25"><br>
email:-> <input type="text" name="email" size="20" value="" maxlength="30"><br>
icq:--->&nbsp;&nbsp; <input type="text" name="icq" size="20" value="" maxlength="11"><br>
titre:-->&nbsp;&nbsp;&nbsp;<input type="text" name="titre" size="20" value="" maxlength="50"><br>
description: <input type="text" name="description" size="22" value="" maxlength="170"><br>
url---->:&nbsp;&nbsp;<input type="text" name="url" size="20" value="http://" maxlength="75"><br><br>
<input type="submit" value="Envoyer" name="envoyer"></form>
</center>
 
<!--Voyons maintenant le code PHP pour la  récupéreration des champs-->
 
<?php

if(isset($_POST['pseudo']))      $pseudo=$_POST['pseudo'];
else      $pseudo="";

if(isset($_POST['email']))      $email=$_POST['email'];
else      $email="";

if(isset($_POST['icq']))      $icq=$_POST['icq'];
else      $icq="";

if(isset($_POST['titre']))      $titre=$_POST['titre'];
else      $titre="";

if(isset($_POST['description']))      $description=$_POST['description'];
else      $description="";

if(isset($_POST['url']))      $url=$_POST['url'];
else      $url="";

//vérification des champs vides si aucun champ n'est vide on enregistre dans la table
if(empty($pseudo) OR empty($email) OR empty($titre) OR empty($description) OR empty($url))
    {
    echo '<center><strong><font color="red">Nota, seul le champ ICQ peut rester vide </font></strong></center>';
    }
//connexion à la base de données
else     
    {
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());

       //sélection de la base de données qui a été créées : nom de votre base
      mysql_select_db('inscription',$db)  or die('Erreur de connection'.mysql_error());
     
      //on écrit la requête SQL INSERT INTO qui permet l'insertion des champs du formulaire dans la table user. Dans ce cas, le 1er champ reste vide car c'est l'ID identifiant qui s'incrémente  automatiquement a chaque nouvelle requete

    $sql = "INSERT INTO user(id, pseudo, email, icq, titre, description, url) VALUES('','$pseudo','$email','$icq','$titre','$description','$url')";
     
   //insersion des informations du formulaire dans la table
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

   //affichage du résultat pour le visiteur
    echo '<center><strong><font color="green">Vos informations on été ajouter dans notre base de données.</font></strong></center>';
   //fermeture de la connexion
    mysql_close(); 
    } 
Neutral
 
   
<!-- Pour l'insertion des champs pseudo et description, par exemple, dans la table il faut y spécifier le nom de chaque champ :

$sql = "INSERT INTO user(pseudo,description) VALUES('$pseudo','$description')";

Mais les autres champs de la table comporteront obligatoirement l'attribut NULL et non pas NOT NULL, Null indique au champ qu'il peut rester vide -->

<br><br><center><b>Besoin d'aide sur le "scrïpt":</b><!-- debut du "scrïpt" -->
<form name="jump">
<select name="menu">
<option value="http://pc-informatique.net/forum/forum14.php"title="Forum Webmasters">Forum Webmaster</option>
</select>
<input type="button" onClick="location=document.jump.menu.options[document.jump.menu.selectedIndex].value;" value="GO">
</form>
<!-- fin du "scrïpt" --></center>
</html>



Pour éviter les erreurs de codage, nous vous proposons de télécharger les fichiers codés qui seront directement a coller dans votre dossier appelé plus communément "répertoire" dans le
Web Local a la racine de votre serveur (www)...

Voici les 4 fichiers tests qui seront a décompresser dans votre dossier "répertoire" pour faire vos tests en local:

test.php:-------------->"scrïpt" pour vérifier que PHP tourne correctement
test-mysql:---------->"scrïpt" pour vérifier que mysql tourne correctement
mysql_envoi.php:->"scrïpt" pour envoyer une requete SQL au serveur SQL
testuser:-------------->"scrïpt" pour alimenter votres tables mySQL
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger - Windows Live Messenger
Jackwade
Rank Pr 3
Rank Pr 3


Inscrit le: 03 Sep 2005
Messages: 2268

MessagePosté le: Mer Oct 18, 2006 10:20 am    Sujet du message: Re: Construction dune base de données MySQL et instrution PH Répondre en citant

J'ai testé sous easyphp et ce tuto fonctionne parfaitement. Bon boulot.

J'ajouterais 2 choses :

La première c'est de bien penser quand vous allez interroger votre base mysql sur votre serveur externe de mettre en adresse IP, en user et en mot de passe, l'adresse et le compte de connexion externe et non localhost et root avec un mot de passe vide qui servent juste à tester en local, à faire des essais en fait.

Vous me direz, vous pouvez vous servir d'easyphp pour monter un serveur Web chez vous mais là, je vous conseille de changer vos comptes de connexion, de configurer mysql et apache (httpd.conf) correctement pour pas que votre serveur soit un vrai gruyère.

La deuxième chose, c'est celle-ci :

@YvesJean01@ a écrit:


<!--Requette SQL pour la création de la table user

CREATE TABLE user (id INT (10) not null AUTO_INCREMENT, pseudo VARCHAR (25) not null , email VARCHAR (30) not null , icq INT (11) null , titre VARCHAR (50) not null , description VARCHAR (170) not null , url VARCHAR (75) not null , PRIMARY KEY (id), INDEX (id), UNIQUE (id)) -->



En fait, on voit sous phpmyadmin cette phrase : "PRIMARY and INDEX keys should not both be set for column `id`" après avoir exécuté cette requête qui veut dire qu'on ne peut pas utiliser la même clé primaire et la clé d'index. Pour ce cas là c'est "id", il peut servir soit pour l'un, soit pour l'autre. Généralement , on l'utilisera pour la clé primaire. Les indexes ne sont pas obligatoires, ils sont là pour améliorer la performance des opérations SELECT.
_________________
J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone.

Bjarne Stroustrup
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
blackduty
Rank Pr 8
Rank Pr 8


Inscrit le: 23 Nov 2005
Messages: 102

MessagePosté le: Sam Fév 17, 2007 5:45 pm    Sujet du message: Répondre en citant

Très bon tuto sur le sql ^^

Par contre, ne serait il pas judicieux de commencer dès le début par faire des conseils d'optimisation Neutral

Par exemple, il est conseillé d'appliquer un VARCHAR qu'un TEXT si votre contenu n'est pas long etc...

A+
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Jackwade
Rank Pr 3
Rank Pr 3


Inscrit le: 03 Sep 2005
Messages: 2268

MessagePosté le: Lun Fév 19, 2007 8:05 pm    Sujet du message: Répondre en citant

Oui généralement on utilise des varchar au lieu de TEXT, ca suffit amplement.
_________________
J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone.

Bjarne Stroustrup
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
@YvesJean01@
Rank Pr 2
Rank Pr 2


Inscrit le: 09 Sep 2005
Messages: 3406
Localisation Pays-Ville: Guéreins 01090

MessagePosté le: Mar Fév 20, 2007 1:50 am    Sujet du message: PHP et sécurité Répondre en citant

blackduty a écrit:
Très bon tuto sur le sql ^^

Par contre, ne serait il pas judicieux de commencer dès le début par faire des conseils d'optimisation Neutral

Par exemple, il est conseillé d'appliquer un VARCHAR qu'un TEXT si votre contenu n'est pas long etc...

A+


@YvesJean01@ a écrit:

Type de données pouvant être déclaré dans les tables à mettre a la suite des colonnes. Il va falloir réfléchir suivant ces exemples «chaîne de caractères» «numérique» «date et heure» pour les principaux à ce que le visiteur devra remplir. D’autre type de données existent, je limite volontairement la liste afin de n’aller qu’au principal.

Voici leurs définitions que nous appelons dans le jargon «Valeurs» ou «Variable» ;

Chaîne de caractères : Login, nom, description,…, ces chaînes de caractères peuvent être limitées en longueur dont voici les valeurs ou type de variables d'exemple;

VARCHAR ( ) entre les ( ) afficher le nombre 255 maximum exp :
Code:
VARCHAR(255)

CHAR ( ) entre les ( ) afficher le nombre 10 maximum exp :
Code:
CHAR(10)

TEXT 65 535 caractères maximum
Code:
TEXT


Numérique : nombre décimaux ou entier ;

Int ( ) unsigned nombre maximum de l’entier pouvant être assigné exp :
Code:
INT(4000)UNSIGNED

Décimal ( ) longueur vaut 5 et décimal nombre de chiffre avant la virgule 2 exp :
Code:
DECIMAL(5,2)
ce qui donne pour un chiffre en décimal et longueur 12.34,

Date et Heure :

Date( ) année,mois,jour décomposer (AAAA-MM-JJ) ce qui donne 2006-06-10 exp :
Code:
DATE(AAAA-MM-JJ)

Time( ) heure,minute,secondes décomposer (hh :mm :ss) ce qui donne 22 :30 :01 exp :
Code:
TIME(hh:mm:ss)


La décision d'utiliser le VARCHAR est basée seulement sur les besoins de l'application et est laisser au choix de l’utilisateur, les codes de longueur fixe dans le VARCHAR que nous utilisons dans la requête plus haut permet une concaténation correcte pour le choix du « pseudo » « email » « titre » « description » « url »,
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger - Windows Live Messenger
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Forum Pcinf retour aux Forums -> Langages de programmation Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous pouvez poster de nouveaux sujets dans ce forum
Vous pouvez répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Coin pub d'échange de bannières Pcinf
Touch' à Tout depannage Informatique et Bricolage a domicile Belleville 69220, Bourg 01, Villefranche 69, Macon 71
 

Sites Partenaires:>>   Entreprise multi-services Guéreins |Entreprise de Nettoyage |Espaces Verts |Gardiennage |Travaux de bricolage |Assistance informatique |Boules Unibloc Caudera |Cleanpc |Vistaprint cartes de visite gratuite

Référenceur:---->> |Référencement gratuit Denicher.com |metamoteur |PHP Sources |boosterforum.com


Pages vues sur la multiboard


Powered by phpBB © 2001, 2005 phpBB Group

Anti Bot Question MOD - phpBB MOD against Spam Bots
Inscriptions bloquées: 37939
Modified scripts and design © 2005, 2017 Tous droits réservés Pc-informatique.net
Traduction par : phpBB-fr.com