Créer son site Gratuitement : Service / Outils webmaster gratuit
Mon Site Gratuit
Contactez nous
Nos partenaires
Scripts
Tutoriaux
Nos services
Forums
Accueil
Forums[Didacticiel]Un espace membre
      Imprimer le sujet FAQ  M'enregistrer 
  Comment apprendre le PHP facilement ?
Les variables, les sessions, la gestion ... Deviendra un jeu d'enfant !

[Didacticiel]Un espace membre

Messagede minitux le 02 Juin 2009, 01:17

Bonjour a tous,
dans ce didacticiel je vais vous accompagné pas a pas sur la création d'un espace membre simple et sans fioriture .

On commence ?Allez on-y vas .

L'inscription c'est utile


Les pré requis

La base de données et les tables

Pour commencé on va faire la requette SQL qui nous servira a crée nos tables .
Je suis sur que 90% des personnes ici utilise l'outil graphique (phpmyadmin) donc je vais vous donnez la requette complète .
Code: Tout sélectionner
CREATE TABLE IF NOT EXISTS `membres` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `utilisateur` varchar(255) NOT NULL,
  `mot_de_passe` varchar(255) NOT NULL,
  `mail` text NOT NULL,
  `rang` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
.

Étudions ensemble un peut cette table.

Elle contient 5 champs
    id
    utilisateur
    mot_de_passe
    mail
    rang

Pour commencé le champs id qui est le champs par excellence. En auto-incrémente , ce qu'il veut dire qu'il change de valeur a chaque insertion ( +1,+1,+1,+1,+1,etc etc ...)
Ensuite nous avons utilisateur qui stockera le nom d'utilisateur ou pseudo .
Ensuite mot_de_passe, vous devez surement vous demandé a quoi sert ce champ :lol: a non vous savez ;-) .
Ensuite mail aussi compliqué que le mot_de_passe .
Et enfin rang, celui-ci stocke un int qui pouras avoir plusieurs valeur comme :
0=membre , 1=modérateur , 2=administrateur .
C'est vous qui décidez .

Le formulaire

Après cette légère étude de la table nous allons commencé ....... le html :p et oui pour s'inscrire il faut un formulaire .
J'ai l'habitude d'aligner mes formulaires pour une meilleur présentation donc je vais partir du principe que vous aussi .
Pour les aligner certain utilise des tableaux(beurk) mais c'est pas lisible du tout et puis les personnes qui utilise encore les tableaux pour la mises en forme de leurs page html sont vraiment de la vielle époque .
Pour la petite info a l'époque ou le css n'existai pas la seul façon de faire un peut de mise en forme étais d'utiliser les tableaux mais depuis l'aparition du css on n'est plus obligé de subir ceci .

Pourquoi je vous dis ça ?
Ben regardé j'ai réintégrés un design trouvé sur le net en tableaux

Code: Tout sélectionner
<html>
<body>
<table width=1000 height=600 border=0 cellpadding=0 cellspacing=0>
<tr height=200>
<td width=20><img src="images\design01s1s.jpg"></td>
<td width=20><img src="images\design02s1s.jpg"></td>
<td width=20><img src="images\design03s1s.jpg"></td>
<td width=20><img src="images\design04s1s.jpg"></td>
<td width=20><img src="images\design05s1s.jpg"></td>
<td width=20><img src="images\design06s1s.jpg"></td>
<td width=20><img src="images\design07s1s.jpg"></td>
<td width=20><img src="images\design08s1s.jpg"></td>
<td width=20><img src="images\design09s1s.jpg"></td>
<td width=20><img src="images\design10s1s.jpg"></td>
<td width=20><img src="images\design11s1s.jpg"></td>
<td width=20><img src="images\design12s1s.jpg"></td>
<td width=20><img src="images\design13s1s.jpg"></td>
<td width=20><img src="images\design14s1s.jpg"></td>
<td width=20><img src="images\design15s1s.jpg"></td>
<td width=20><img src="images\design16s1s.jpg"></td>
<td width=20><img src="images\design17s1s.jpg"></td>
<td width=20><img src="images\design18s1s.jpg"></td>
<td width=20><img src="images\design19s1s.jpg"></td>
<td width=20><img src="images\design20s1s.jpg"></td>
<td width=20><img src="images\design21s1s.jpg"></td>
<td width=20><img src="images\design22s1s.jpg"></td>
<td width=20><img src="images\design23s1s.jpg"></td>
<td width=20><img src="images\design24s1s.jpg"></td>
<td width=20><img src="images\design25s1s.jpg"></td>
<td width=20><img src="images\design26s1s.jpg"></td>
<td width=20><img src="images\design27s1s.jpg"></td>
<td width=20><img src="images\design28s1s.jpg"></td>
<td width=20><img src="images\design29s1s.jpg"></td>
<td width=20><img src="images\design30s1s.jpg"></td>
<td width=20><img src="images\design31s1s.jpg"></td>
<td width=20><img src="images\design32s1s.jpg"></td>
<td width=20><img src="images\design33s1s.jpg"></td>
<td width=20><img src="images\design34s1s.jpg"></td>
<td width=20><img src="images\design35s1s.jpg"></td>
<td width=20><img src="images\design36s1s.jpg"></td>
<td width=20><img src="images\design37s1s.jpg"></td>
<td width=20><img src="images\design38s1s.jpg"></td>
<td width=20><img src="images\design39s1s.jpg"></td>
<td width=20><img src="images\design40s1s.jpg"></td>
<td width=20><img src="images\design41s1s.jpg"></td>
<td width=20><img src="images\design42s1s.jpg"></td>
<td width=20><img src="images\design43s1s.jpg"></td>
<td width=20><img src="images\design44s1s.jpg"></td>
<td width=20><img src="images\design45s1s.jpg"></td>
<td width=20><img src="images\design46s1s.jpg"></td>
<td width=20><img src="images\design47s1s.jpg"></td>
<td width=20><img src="images\design48s1s.jpg"></td>
<td width=20><img src="images\design49s1s.jpg"></td>
<td width=20><img src="images\design50s1s.jpg"></td>
</tr>
<tr height=200>
<td width=20><img src="images\design01s2s.jpg"></td>
<td width=20><img src="images\design02s2s.jpg"></td>
<td width=20><img src="images\design03s2s.jpg"></td>
<td width=20><img src="images\design04s2s.jpg"></td>
<td width=20><img src="images\design05s2s.jpg"></td>
<td width=20><img src="images\design06s2s.jpg"></td>
<td width=20><img src="images\design07s2s.jpg"></td>
<td width=20><img src="images\design08s2s.jpg"></td>
<td width=20><img src="images\design09s2s.jpg"></td>
<td width=20><img src="images\design10s2s.jpg"></td>
<td width=20><img src="images\design11s2s.jpg"></td>
<td width=20><img src="images\design12s2s.jpg"></td>
<td width=20><img src="images\design13s2s.jpg"></td>
<td width=20><img src="images\design14s2s.jpg"></td>
<td width=20><img src="images\design15s2s.jpg"></td>
<td width=20><img src="images\design16s2s.jpg"></td>
<td width=20><img src="images\design17s2s.jpg"></td>
<td width=20><img src="images\design18s2s.jpg"></td>
<td width=20><img src="images\design19s2s.jpg"></td>
<td width=20><img src="images\design20s2s.jpg"></td>
<td width=20><img src="images\design21s2s.jpg"></td>
<td width=20><img src="images\design22s2s.jpg"></td>
<td width=20><img src="images\design23s2s.jpg"></td>
<td width=20><img src="images\design24s2s.jpg"></td>
<td width=20><img src="images\design25s2s.jpg"></td>
<td width=20><img src="images\design26s2s.jpg"></td>
<td width=20><img src="images\design27s2s.jpg"></td>
<td width=20><img src="images\design28s2s.jpg"></td>
<td width=20><img src="images\design29s2s.jpg"></td>
<td width=20><img src="images\design30s2s.jpg"></td>
<td width=20><img src="images\design31s2s.jpg"></td>
<td width=20><img src="images\design32s2s.jpg"></td>
<td width=20><img src="images\design33s2s.jpg"></td>
<td width=20><img src="images\design34s2s.jpg"></td>
<td width=20><img src="images\design35s2s.jpg"></td>
<td width=20><img src="images\design36s2s.jpg"></td>
<td width=20><img src="images\design37s2s.jpg"></td>
<td width=20><img src="images\design38s2s.jpg"></td>
<td width=20><img src="images\design39s2s.jpg"></td>
<td width=20><img src="images\design40s2s.jpg"></td>
<td width=20><img src="images\design41s2s.jpg"></td>
<td width=20><img src="images\design42s2s.jpg"></td>
<td width=20><img src="images\design43s2s.jpg"></td>
<td width=20><img src="images\design44s2s.jpg"></td>
<td width=20><img src="images\design45s2s.jpg"></td>
<td width=20><img src="images\design46s2s.jpg"></td>
<td width=20><img src="images\design47s2s.jpg"></td>
<td width=20><img src="images\design48s2s.jpg"></td>
<td width=20><img src="images\design49s2s.jpg"></td>
<td width=20><img src="images\design50s2s.jpg"></td>
</tr>
<tr height=200>
<td width=20><img src="images\design01s3s.jpg"></td>
<td width=20><img src="images\design02s3s.jpg"></td>
<td width=20><img src="images\design03s3s.jpg"></td>
<td width=20><img src="images\design04s3s.jpg"></td>
<td width=20><img src="images\design05s3s.jpg"></td>
<td width=20><img src="images\design06s3s.jpg"></td>
<td width=20><img src="images\design07s3s.jpg"></td>
<td width=20><img src="images\design08s3s.jpg"></td>
<td width=20><img src="images\design09s3s.jpg"></td>
<td width=20><img src="images\design10s3s.jpg"></td>
<td width=20><img src="images\design11s3s.jpg"></td>
<td width=20><img src="images\design12s3s.jpg"></td>
<td width=20><img src="images\design13s3s.jpg"></td>
<td width=20><img src="images\design14s3s.jpg"></td>
<td width=20><img src="images\design15s3s.jpg"></td>
<td width=20><img src="images\design16s3s.jpg"></td>
<td width=20><img src="images\design17s3s.jpg"></td>
<td width=20><img src="images\design18s3s.jpg"></td>
<td width=20><img src="images\design19s3s.jpg"></td>
<td width=20><img src="images\design20s3s.jpg"></td>
<td width=20><img src="images\design21s3s.jpg"></td>
<td width=20><img src="images\design22s3s.jpg"></td>
<td width=20><img src="images\design23s3s.jpg"></td>
<td width=20><img src="images\design24s3s.jpg"></td>
<td width=20><img src="images\design25s3s.jpg"></td>
<td width=20><img src="images\design26s3s.jpg"></td>
<td width=20><img src="images\design27s3s.jpg"></td>
<td width=20><img src="images\design28s3s.jpg"></td>
<td width=20><img src="images\design29s3s.jpg"></td>
<td width=20><img src="images\design30s3s.jpg"></td>
<td width=20><img src="images\design31s3s.jpg"></td>
<td width=20><img src="images\design32s3s.jpg"></td>
<td width=20><img src="images\design33s3s.jpg"></td>
<td width=20><img src="images\design34s3s.jpg"></td>
<td width=20><img src="images\design35s3s.jpg"></td>
<td width=20><img src="images\design36s3s.jpg"></td>
<td width=20><img src="images\design37s3s.jpg"></td>
<td width=20><img src="images\design38s3s.jpg"></td>
<td width=20><img src="images\design39s3s.jpg"></td>
<td width=20><img src="images\design40s3s.jpg"></td>
<td width=20><img src="images\design41s3s.jpg"></td>
<td width=20><img src="images\design42s3s.jpg"></td>
<td width=20><img src="images\design43s3s.jpg"></td>
<td width=20><img src="images\design44s3s.jpg"></td>
<td width=20><img src="images\design45s3s.jpg"></td>
<td width=20><img src="images\design46s3s.jpg"></td>
<td width=20><img src="images\design47s3s.jpg"></td>
<td width=20><img src="images\design48s3s.jpg"></td>
<td width=20><img src="images\design49s3s.jpg"></td>
<td width=20><img src="images\design50s3s.jpg"></td>
</tr>
</table>
</body>
</html>


Avoué que ce n'est pas super lisible, bon j'avoue que j'abuse un peut mais c'est pour que vous compreniez bien .

Alors revenons a nos moutons .
Voici un formulaire simple, je vous fournis le code directement car rien de bien compliqué ici

Code: Tout sélectionner
<form action="traitement-inscription.php" method="post">
<label for="utilisateur">Utilisateur:</label><input type="text" id="utilisateur" name="pseudo" /><br /><br/>

<label for="motdepasse">Mot de passe:</label><input type="password" id="motdepasse" name="mdp" /><br />
<label for="motdepasse">Mot de passe(confirmation):</label><input type="password" id="motdepasse" name="mdp2" /><br /><br/>

<label for="mail">Adresse e-mail:</label><input name="mail" type="text" id="mail" /><br />
<label for="mail">Adresse e-mail(confirmation):</label><input name="mail2" type="text" id="mail" /><br /><br/>

<input style="margin-left: 200px;"type="submit"/>

</form>


Alors regarder bien l'attribue name c'est le nom que porterons les variables dans notre page traitement-inscription.php

Un peut de mise en page

Noté que nous allons travaillé sur plusieurs page pour plus de simplicité .
Ne vous occupé pas de la balise label elle nous sert a aligné nos forlulaires, mais avant directions la case css, passer pas par la case php ne touché pas votre clavier :-D

Et voici le code css a copier coller sans rien comprendre ^^
Code: Tout sélectionner
label {
display:block;
width:200px;
float:left;
}

Voila voila on va pouvoir attaqué le php :bravo:


Ce didacticiel n'est bien sûr pas fini, je l'éditerer demain dans la journée




Coté php

Alors on avais déjà fait le formulaire d'inscription et on avais également fait la mise en page du formulaire (aligner les zone de saisies et les textes.
Passons donc maintenant au php pur et dur.

Les vérifications de routine

Alors on va utilisé une page que j'ai décidé d'appelé traitement-inscription.php
donc la premiére chose a faire c'est de vérifié que le formulaire a bien êtes envoyé grace a la fonction isset .
voici mon code :
Code: Tout sélectionner
if(isset($_POST['pseudo'],$_POST['mdp'],$_POST['mdp2'],$_POST['mail'],$_POST['mail2'])) // Si les variables existe.
{
// instructions a venir 
} 
else 
{
     echo'Une erreur c\'est produite';
}
 

Toujours pensée a prévoir qu'un visiteur arrive sur cette page sans être passé par le formulaire .
Bon la rien de bien compliqué mais je pense que certaine personne ont du mal avec mon if ,
en faite la façon dont je l'est écrit revient au même qui si j'écrivais
Code: Tout sélectionner
if(isset($_POST['pseudo']) && isset($_POST['mdp']) && isset($_POST['mdp2']) // etc etc etc...       


Bon donc nos variables existe bien maintenant il faut testé si elle sont pleine et si toutes on êtes remplie.
On pourrait faire ça simplement avec quelque chose dans ce style
Code: Tout sélectionner
if($_POST['pseudo'] != NULL AND $_POST....// suite des variables
{
//instructions

}
else
{
echo
'Erreur dans la saisie du formulaire';
}
 


Mais ça ne laisse pas beaucoup d'info au visiteur pour comprendre son erreur .
On va donc faire une gestion des erreurs assez complète .
Mais on va quand même se servir du else du dessus au cas ou une des variables soit vide .
Car si on ne remplie pas tout le formulaire c'est bien que on la fait exprès :-) .

La sécurité avant tout

Bon par suite on va faire quoi ?
A oui on va commencé par la sécurité
donc on va se connecté a la bdd et s'occupé de la sécurité c'est a dire désactivé l'interprétation d'un quelconque langage saisie grave a htmlspecialchars et mysql_real_escape_string
Voici donc ce que j'obtient
Code: Tout sélectionner
        
mysql_connect
('hote','utilisateur','mot de passe');
mysql_select_db('data_base');
        
        
/* Pour la securité ont empéche 
           l'insertion de code dans la base 
            de données . 
        */
        $utilisateur = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
        $mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
        $mail2 = mysql_real_escape_string(htmlspecialchars($_POST['mail2'])); 

Voila qui rend totalement inoffensif nos variables on va pouvoir donc travaillé dessus .

Les vérifications le retour

Je pense que de vérifié maintenant si les deux adresse mail corresponde et bien sur vérifié que le format et valide .
Pour cette ligne je vous demande pas de comprendre mais de simplement la copier coller car les regexs sont quelque chose d'assez complexe .
Voila ce que j'obtient :
Code: Tout sélectionner
if($mail == $mail2) // Verification que les deux mails sont identique .
        {
            if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['mail']))//verification que l'e-mail a un format valide .
            { 

Vous remarquerez que je ne mes pas de else tout simplement parceque je les mes toujours quand j'ai fini de crée ma page, c'est ma façon de faire et je vous l'impose :rrr: .

Bon alors 1er ligne on vérifie que la variable mail et = a mail2 si oui on continue sinon (cd voir plus bas ) .
Ensuite pourquoi pas faire de même pour la variable mot de passe

Code: Tout sélectionner
if($_POST['mdp'] == $_POST['mdp2'])//verification si les deux mot de passe sont identique .
                { 

et voila maintenant on c'est que les adresses mail et les mot de passe entrée sont correct .
Pas de commentaire ici car c'est pareil que haut dessus quoi que je voit déjà vos tête en train de se dire il est fou il a pas sécurisé le mot de passe . Mais si mais si on a le sécurisé mieux que ce que vous pensez on le verra plus bas .
Alors maintenant sa serais bête d'avoir 3 membres qui porte le même pseudo vous trouvez pas ?
Alors ont fait comment ....... et bien oui on selectionne dans la base de données tout les champs et on vérifie grace a un array que la variable utilisateur n'existe pas déjà .
hey hey j'ai une idée, on va faire pareil pour la variable mail comme ça pas de double compte (enfin pas avec le même mail).
Voila ce que j'obtient
Code: Tout sélectionner
$reponse = mysql_query('SELECT * FROM membres');
                    $retour = mysql_fetch_array($reponse); // Array qui sert a vérifié si le nom d'utilisateur n'existe pas .
                    
                    if
($utilisateur != $retour['utilisateur'])// Vérification que le nom d'utilisateur n'est pas déjà present dans la base de données .
                    {
                        if($mail != $retour['mail'])// Idem pour l'e-mail on vérifie qu'il n'existe pas encore dans la bases de données .
                        { 

et voila le tour est joué a partir de la on c'est que le pseudo et l'email est unique .

On crypte ou pas

Alors maintenant étape finale l'insertion dans la base de données et le cryptage du mot de passe
Hein quoi comment tu dit quoi toi .
Et oui on as pas sécurisé le mot de passe tout simplement parce que on va le crypté . Grâce a la fonction sha1();
qui est en faite une méthode de cryptage comme beaucoup d'autre .
Alors voici mon code
Code: Tout sélectionner
$mdp = sha1($_POST['mdp']);
                
                            mysql_query
("INSERT INTO membres VALUES('','".$utilisateur."','".$mdp."','".$mail."','0')") or die (mysql_error());
                            
                            echo
' <h4>Inscription réussi</h4>
                            <p>L\'inscription c\'est éffectué avec succée, vous pouvez des a présent vous 
                                <a href="connexion.php">connecter</a></p>'
;
                        } 

et voila maintenant un membre peut s'inscrire n'est il pas super sa .

Les visiteurs sont étranges

A oui j'oubliai la gestion des erreurs , bon je vous balance le code comme ça parce que il est très simple .
Code: Tout sélectionner
/* Gestion des erreurs en rapport 
                           avec toutes les vérifications
                           faite ci dessus .
                        */
                        else
                        
{
                            echo' <h4>Erreur dans l\'inscription</h4>
                            <p>Une erreur c\'est produite, un membre utilise déjà cette adresse e-mail</p>'
;
                        }
                    }
                    else
                    
{
                        echo'<h4>Erreur dans l\'inscription</h4
                        <p>Une erreur c\'est produite, un membre utilise déjà ce nom d\'utilisateur</p>'
;
                    }
                
                
}
                else
                
{
                    echo'<h4>Erreur dans l\'inscription</h4
                    <p>Une erreur c\'est produite, les deux mots de passe saisie ne corresponde pas.</p>'
;
                }
            }
            else
            
{
                echo'<h4>Erreur dans l\'inscription</h4
                <p>Le format de votre adresse e-mail est invalide</p>'
;
            }
        }
        else
        
{
            echo'<h4>Erreur dans l\'inscription</h4
            <p>Une erreur c\'est produite, les adresses e-mail que vous avez saisie ne corresponde pas.</p>'
;
        }
    }
    else
    
{
        echo'<h4>Erreur dans l\'inscription</h4
        <p>Une erreur c\'est produite, vous n\'avez saisie tout les champs.</p>'
;
    }
}
 

Voila voila pour les erreur .

Ce didacticiel n'est pas fini, dans la soirée je rajouterais la connexion et la connexion automatique a ce soir :oui:




La connexion avec un X


Dans cette partie nous allons nous intéressais a la connexion, et même la connexion automatique .
Pour cette partie je recommande chaudement d'aller revoir un didacticiel sur les variables $_SESSION et $_COOKIE car je vous rapelle que j'avais promis de faire la connexion automatique, roooooo la class je c'est :-D .

Le formulaire


C'est le retour du xhtml est il est pas content :rrr:
Et oui il nous faut toujours un formulaire pour se connecté mais avec une nouveauté, une case a cocher pour la connexion automatique .
Bon je vous aide pas pour ça on la fait déjà plus haut donc voici ce que vous devriez obtenir :
Code: Tout sélectionner
<form action="traitement-connexion.php" method="post">

<label for="utilisateur">Utilisateur:</label><input type="text" id="utilisateur" name="pseudo" /><br /><br/>

<label for="motdepasse">Mot de passe:</label><input type="password" id="motdepasse" name="mdp" /><br /><br />

<label for="connexion_auto">Connexion automatique:</label><input type="checkbox" name="connexion_auto" />

<input style="margin-left: 200px;"type="submit"/>

</form>


Nous voila avec un formulaire qui nous iras parfaitement .

Coté php bis


De retour dans le php nous allons suivre le même plan que ci dessus sauf que on va sauté quelque étape comme la sécurité etc etc.

Elle existe ou pas

Et oui nous allons vérifié que nos variables mdp et pseudo existe avec toujours un simple isset, et aussi vérifié que nos variable mdp et pseudo sont pleine.
Et oui pas besoin de vérifié la case a cocher car si elle est cocher elle existe sinon elle existe pas :-D

Vous avez l'habitude maintenant donc voici ce que je retrouve :

Code: Tout sélectionner
if(isset($_POST['pseudo']) && isset($_POST['mdp']))// Vérification de l'existance des variables de connexion.
{
    if(
$_POST['pseudo'] != NULL && $_POST['mdp'] != NULL)// Vérification que les variables contiennent bien des données.
    


Alors voila maintenant on va faire la requette nous permettant de vérifié la validité du pseudo.
Une simple selection dans la base membre et un petit array pour classé tout ça et puis hop le tour est joué
Code: Tout sélectionner

$retour 
mysql_query('SELECT * FROM membres'); // Sélection dans la bdd 
$array mysql_fetch_array($retour);// Un petit array pour tout rangé 
 


Et on retourne a nos vérifications longe et ch****

Bon vérifier si le pseudo existe, en demandant si la variable pseudo et egale a la variable $array['utilisateur'] .
Code: Tout sélectionner
if($_POST['pseudo'] == $array['pseudo'])
{


Il est midi et demi j'ai faim donc je finirais cette aprém a touta lure :lol:
Dernière édition par minitux le 05 Juin 2009, 11:32, édité 4 fois.
Image
Avatar de l'utilisateur
minitux
Nouveau Plug'zien
Nouveau Plug'zien
 
Messages: 18
Inscription: 02 Juin 2009, 00:40
Points: 47


Re: [Didacticiel]Un espace membre

Messagede jeromecold le 02 Juin 2009, 07:15

Salut,

Pas mal pour un premier tuto que tu nous proposes!
Par contre, je ne vois pas du tout pourquoi tu mets du CSS dans un tuto PHP, sa devient carrément de la création de site et plus simplement un tuto!

Par exemple, moi aussi j'ai fait un tuto d'espace membre en php (un peu spécial, je le reconnais): http://lesite.jeromecold.fr.nf/cours.php?cours=1 et si tu regardes, rien de ce qui est formulaire est expliqué, seul le php compte! Enfin, c'était une parenthèse que perso, je juge importante. On verra ce que les autres diront!
Arobase plus
Avatar de l'utilisateur
jeromecold
Plug'zien Pro
Plug'zien Pro
 
Messages: 3156
Inscription: 05 Sep 2007, 13:18
Points: 2915


Re: [Didacticiel]Un espace membre

Messagede minitux le 02 Juin 2009, 12:48

et bien je voit que dans ton tuto pour le formulaire tu utilise des tableaux pour l'alignement, or moi je préfère utilisé du CSS et puis comme j'ai dit il copie colle vite fait et c'est bon.
Image
Avatar de l'utilisateur
minitux
Nouveau Plug'zien
Nouveau Plug'zien
 
Messages: 18
Inscription: 02 Juin 2009, 00:40
Points: 47


Re: [Didacticiel]Un espace membre

Messagede zardoz le 02 Juin 2009, 16:14

minitux a écrit:et bien je voit que dans ton tuto pour le formulaire tu utilise des tableaux pour l'alignement, or moi je préfère utilisé du CSS et puis comme j'ai dit il copie colle vite fait et c'est bon.


Je comprend mal minitux lorsque tu compare : Élément HTML » <table> avec CSS.
Compte tenu du fait que l'on peut écrire du CSS en utilisant les éléments <table style='attributs:valeurs'>
comme exemple évidemment, quoique un fichier externe c'est mieux, c'est pro.

C'est que le CSS s'intègre à la plupart des balises HTML. Il s'agit de deux choses très distincte,
un agissant sur l'autre, pour la mise en forme, la mise en page.
Le CSS a un pouvoir sur le HTML, mais le HTML n'a aucun pouvoir sur CSS.

Tu aurais dis je préfère le <div> plutôt que <table> pour l'alignement et j'aurais compris.

Mais là tu compare un langage « CSS » avec une balise « HTML ». Alors que ceux-ci font bon ménage.

Je réécrit le [quote="minitux"] ici en haut »
« dans ton tuto pour le formulaire tu utilise des tableaux pour l'alignement, or moi je préfère utilisé du CSS »
Oui d'accord mais avec une balise HTML. Qu'il soit <div> ou <table> ou autre.

Quoique ceux-ci font bon ménage il n'y a, à la base, aucun rapport entre CSS et HTML

Je ne crois pas que jeromecold soit sans CSS. Un web sans CSS ? Peu probable.

À la toute fin je tiens à te féliciter pour ton tuto » Il est vraiment magnifique. Go vers PHP

Tu as oublier de fermer la parenthèse ici
if($_POST['pseudo'] != NULL AND $_POST....// suite des variables

C'est juste un p'ti détail mais lâche pas c'est good

++ :-)
zardoz
Plug'zien Star'z
Plug'zien Star'z
 
Messages: 888
Inscription: 16 Fév 2008, 04:05
Points: 582


Re: [Didacticiel]Un espace membre

Messagede minitux le 02 Juin 2009, 16:33

merci pour le compliment je n'est pas oublié la fermeture du if je l'est fait exprés car le if en lui même n'est pas fini .

Ensuite je veut dire que je préfère utilisé le css pour aligné mes formulaire plutôt que les tableaux regarde voici le code du site de jeromcold
Code: Tout sélectionner
form method="post">
<table>
<tr><td>Votre Pseudo:</td><td><input type="text" size="30" name="pseudo" /></td>
</tr><tr><td>Votre mot de passe:</td><td><input type="password" name="pass" size="30" /></td></tr></table>
<input type="submit" value="Envoyer" />
</form>

ont voit que c'est aligné grace au cellule du tableau .
Or moi mon code est bien plus clair.
Sinon je pense finir le tuto ce soir
Image
Avatar de l'utilisateur
minitux
Nouveau Plug'zien
Nouveau Plug'zien
 
Messages: 18
Inscription: 02 Juin 2009, 00:40
Points: 47


Re: [Didacticiel]Un espace membre

Messagede zardoz le 02 Juin 2009, 17:13

C'est vrai que le if n'est pas terminer mais tu peut quand même fermer la parenthèse.
Je m'en suis rendu compte dans ton écriture.

Code: Tout sélectionner
if($_POST['pseudo'] != NULL AND $_POST....// suite des variables
{
//instructions
}
else
{
echo'Erreur dans la saisie du formulaire';
}


Tu as défini un block de code donc ferme la parenthèse, tu as marquer »
{
instructions.
}

Copier / coller, cette partie de script ne fonctionnera pas. Si quelqu'un fait « Tout Sélectionner ».

@+ :p
Dernière édition par zardoz le 02 Juin 2009, 17:36, édité 2 fois.
zardoz
Plug'zien Star'z
Plug'zien Star'z
 
Messages: 888
Inscription: 16 Fév 2008, 04:05
Points: 582


Re: [Didacticiel]Un espace membre

Messagede Cclleemm le 02 Juin 2009, 17:21

Tout d'abbord, un grand merci pour la rédaction de ce long et grand tuto qui a du te prendre du temps à rédiger ! Merci
Par contre, venons en au critiques, positives et négatives ! :-o

==> Tout d'abord, lorsque l'on survol ton tuto (première chose que fait un internaute normal avant se lancer) il n'y a aucune structure ni aucun plan, le simple fait de mettre ces genres de titres :
Un grand titre

Un un petit titre

Simplifirait grandement la lecture de ton article ! Car là, on s'y perd un peu, si on recherche une partie particulière du tuto.

==> De plus, contrairement à Jeromecold, je ne pense pas que la partie CSS soit inutile, elle n'est pas très longue, et la remarque est bonne. Par contre, aucun intérêt de mettre ce code de tableau, qui n'a pas de rapport avec le sujet (formulaire d'inscription).

==> Il y a des erreurs mentionnés ci-dessus, pas bien :lol:

==> Pour finir, si c'est un tuto et non un script, ne fait pas TOUT à la place de l'internaute, tu lui pond le code CSS sans même l'expliquer, pour lui ça tombe du ciel, et ce n'est pas lui qui l'a fait ... Donc ce qui est vrai chez Jeromecold, c'est soit tu parle du CSS et la tu approfondis un peu, soit tu lui donne un code de formulaire en lui disant que c'est un exemple et qu'ils peuvent faire le leurs.

Maintenant, venons en au critiques positives, ton tuto est simple à lire et pas désagréable ! C'est bien joué :bravo:
Tu as choisi un bon sujet, beaucoup de personnes cherchent à faire ça.
Peut être ne poses tu pas correctement les bases (but du systeme et fonctionnement en detaille, avant de coder) ...
Je te félicite, et je te remercie pour ta participation à MSG ! J'espère pourquoi pas que tu posteras d'autres tutos comme celui-ci, peut être pourrais tu y mettre le zip de ton script pour que l'utilisateur puisse le téléchager si il n'y arrive pas.

Bonne continuation Minitux !
Image
Avatar de l'utilisateur
Cclleemm
Admin'z
Admin'z
 
Messages: 2762
Inscription: 14 Mar 2007, 16:21
Localisation: Savoie
Points: 2003


Re: [Didacticiel]Un espace membre

Messagede zardoz le 02 Juin 2009, 17:34

Ouf quel topic
C'est vrai minitux que nous devons nous améliorer constament » Ton premier tuto y'é vraiment cool.

Certaine erreur mais sans accro's.

Cclleemm a su répondre à fond. Il a su comprendre la façon de faire. Je pense que l'admin a un oeil
sur ton topic. C'est dur de valider en écriture et tellement simple en visuel.

@+ :-)
zardoz
Plug'zien Star'z
Plug'zien Star'z
 
Messages: 888
Inscription: 16 Fév 2008, 04:05
Points: 582


Re: [Didacticiel]Un espace membre

Messagede minitux le 02 Juin 2009, 17:37

Ok ben c'est vrai que j'avais pas pensée a faire lpus d'explication au sujet du css et du code, je pense que mon tuto n'est pas fait pour les debutants en php mais plutot pour les personnes qui ne save pas trop comment procédé
Bon je vais rectifier sa ce soit apres le repas pour mettre quelque titre et expliqué un peut plus mon code
Image
Avatar de l'utilisateur
minitux
Nouveau Plug'zien
Nouveau Plug'zien
 
Messages: 18
Inscription: 02 Juin 2009, 00:40
Points: 47


Re: [Didacticiel]Un espace membre

Messagede zardoz le 02 Juin 2009, 17:54

Ton tuto ? « It's very good »
Ce qui importe c'est ta participation ici. Avec évidemment « l'amélioration++ »
Pour ce qui est de l'apprentissage, c'est avec le temps.

Lâche pas :p

++ :-)
zardoz
Plug'zien Star'z
Plug'zien Star'z
 
Messages: 888
Inscription: 16 Fév 2008, 04:05
Points: 582


Re: [Didacticiel]Un espace membre

Messagede idefix le 04 Juin 2009, 13:05

Tres bien fait super :bravo:
Merci minitux .
Ce qui doit être fait mérite d'être bien fait !
IDEFIX
Avatar de l'utilisateur
idefix
Apprenti Plug'zien
Apprenti Plug'zien
 
Messages: 62
Inscription: 23 Mai 2009, 02:57
Localisation: Canada
Points: 79


Re: [Didacticiel]Un espace membre

Messagede minitux le 04 Juin 2009, 18:05

Ne vous inquiété pas je le finirais bientôt mais je suis beaucoup pris en ce moment :siffle:
Allez une petite promesse on va dire, il seras fini avant la fin de la semaine :-D
Image
Avatar de l'utilisateur
minitux
Nouveau Plug'zien
Nouveau Plug'zien
 
Messages: 18
Inscription: 02 Juin 2009, 00:40
Points: 47


Re: [Didacticiel]Un espace membre

Messagede moster le 16 Aoû 2009, 15:20

Super Merci
moster
Apprenti Plug'zien
Apprenti Plug'zien
 
Messages: 54
Inscription: 15 Aoû 2009, 22:42
Points: 71



Retourner vers PHP

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités