IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

PHP, le tutoriel pour grands débutants pressés [Tutoriel]


Sujet :

Langage PHP

  1. #41
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Right. Je modifie.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  2. #42
    Nouveau Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Merci Dendrite
    Ce tutoriel PHP est une excellente initiation en PHP
    L'optimisation du TP8 mène à la methode dite du crible d'Erastosthéne:
    http://fr.wikipedia.org/wiki/Crible_...atosth%C3%A8ne

  3. #43
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2002
    Messages : 58
    Points : 150
    Points
    150
    Par défaut Cours PHP pour grands débutants pressés
    Ce tutoriel est exellent. Je ne suis pas vraiment débutant en programmation, mais je n'ai jamais abordé le désormais incontournable PHP. Sur ce point je partage tout à fait l'avis de dendrite : qui peut le plus peut le moins.

    L'approche pédagogique est excellente et très efficace. Surtout pour commencer, le but est atteint avec brio .

    Encore mille félicitations

    Vadim

  4. #44
    Nouveau Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Le tutoriel pour grands débutants pressés
    Très, très bon tutoriel; enfin un qui tiens ces promesses
    Petite note tout de même :
    L’usage des majuscule et minuscules dans VI. PHP ETAPE 6 : utilisateurs et Utilisateurs correspond à deux tables différentes en phpMyAdmin.
    Pour la création de champs dans les tables : usage de majuscules; et usage de minuscules dans les requêtes.
    La sensibilité à la casse est génératrice d'erreur pour le fonctionnement des scripts

    "A gauche dans votre arborescence, sélectionnez votre table 'inscriptions'. "
    La table ne s'appelle t'elle pas utilisateurs ??

    Voilà c'est tout, mais encore merci pour cet excellent tuto, qui m'a permis de mieux conceptualiser mon projet.

  5. #45
    Invité
    Invité(e)
    Par défaut
    Bonjour Sylvie (Dendrite),
    que te dire de plus qu'un ...
    grand bravo pour ton SENS de la PEDAGOGIE, et pour ton humour ... ?

  6. #46
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 220
    Points : 100
    Points
    100
    Par défaut
    Bonjour Sylvie,

    Je suis un grand débutant pressé. Mais je pense justement que je vais prendre un peu plus de temps pour me former. Je ne sais pas si tu as eu des re-lecteurs vraiment débutants (j'en suis un !) - même si j'ai fait du Basic il y a 20 ans !

    Je suis fort intéressé par ton cours mais je suis arrêté au "V-2-d. Fonction qui renvoie une valeur de retour". Je commence à faire quelques erreurs. Je n'ai pas une notion très précise de foreach et de return par exemple. Quand tu dis :"Une dernière chose sur les fonctions : Si l'on ne veut pas une fonction qui affiche, mais une fonction qui par exemple calcule et renvoie une valeur, on utilisera le mot clé return." Cela ne me donne pas une idée très précise; renvoyer à quoi? ou comment? Dans le code de V-2-d. je ne comprends pas bien pourquoi ce "return $verdict" qui semble être "récupé" par "" ou/et par ""; il faudrait, je pense, donner un exemple plus simple de return (dégagé de toute difficulté).

    Une erreur que j'ai faite - et que sans doute beaucoup de débutants font - c'est de passer trop rapidement sur certaines notions. Il me semble-mais chacun fait comme bon lui semble- qu'il ne faut pas passer au-dessus d'une notion sans l'avoir comprise (au moins pour les expressions les plus simples).

    Sinon, je trouve que ton cours est intéressant parce qu'il permet de prendre goût au PHP assez rapidement. Tu as aussi une manière simple et sympathique de présenter les choses.

    Tu me dis si c'est ici le bon endroit pour exposer tous mes petits problèmes.

    Encore merci pour ton excellent travail.
    À bientôt.

  7. #47
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 132
    Points
    132
    Par défaut
    Bonjour,

    Joli tuto , bien présenté et agréable à lire

    Mais en parlant de prendre de bonnes habitudes...

    Aucune des données envoyées à la base ne sont filtrées !

    en gros les risques sont me semble t'il sauf erreur :

    Cross-Site Scripting
    injections de commandes


    Windows 7 / Debian 8 jessie / Kali 2 / Nas Synology ds214se / Arduino Mega 2560 / Raspberry Pi 3

  8. #48
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Salut Eric1,

    à la base les fonctions font des calculs et renvoient le résultat. le mot clé return dit à la fonction d'arrêter de s'exécuter et de renvoyer la valeur qui se trouve à sa droite au lieu où elle a été appeler.
    Exemple : supposons que dans ton programme tu dois calculer à plusieurs reprises une valeur delta = a² - 2ab.

    Au lieu à chaque qu'on retrouves un code du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $delta = a*a - 2*a*b;
    ...
    //un peu plus loin
    $variable = 2/100 - 4*( $poids*$poids - 2*$poids*$mesure)
    tu pourrais simplement écrire une fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function delta( $x , $y ){
     return $x*$x - 2*$x*$y;
    }
    le mot clé return renvois le résultat final de la fonction ayant un type particulier, dans notre cas c'est un flottant.

    dans ce cas, partout où tu voudras appliquer ta formule tu appelleras simplement la fonction en lui passant les deux valeurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $delta = delta( $a, $b );
    ...
    //un peu plus loin
    $variable = 2/100 - 4*delta( $poids, $mesure)
    voilà.
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  9. #49
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 220
    Points : 100
    Points
    100
    Par défaut
    Merci Thes.

  10. #50
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 136
    Points : 104
    Points
    104
    Par défaut
    Bonjour,

    j'aime aussi faire le point sur la différence entre une procédure et une fonction malgré que toutes les deux forment des sous-programmes (SubRoutines pour les anciens programmeurs en Basic), la procédure effectue une action quelconque (affichage, écriture/lecture d'un fichier, tri, etc) alors que la fonction permet d'effectuer des calculs et en retourner le résultat.

    Si l'on souhaite appeler une procédure, il suffit simplement d'écrire son nom sur la ligne du code avec bien entendu les paramètres réels:

    Le code suivant est écrit en langage Pascal

    Code pascal : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    //
    Procedure Afficher_Infos( XCode: integer);
    //XCode est un paramètre formel
    begin
     
    writeln(nom);
    writeln(prenom);
    writeln(adresse);
     
    end;
     
    //Appel de la procédure qui affiche les informations concernant un élève
    //Code_Eleve est un paramètre réel
    Afficher_Infos( Code_Eleve );
     
    Concernant les fonctions (function), un petit exemple explique
    //x et n sont les paramètres formels
    Function puissance(x: real; n: integer): real;
    begin
    if (x=0 and n<>0 ) then puissance := 1
         else puissance := exp(n*ln(x));
    end;
     
    //Appel de la fonction puissance (y à la puissance m)
    //y et m sont les paramètres réels
    readln(y); read(m);
    p := puissance(y, m);
    Il existe aussi la notion de récursivité où une procédure/fonction peut appeler elle-même mais avec un paramètre différent. L'exemple du calcul de la factorielle en est excellent

    Code pascal : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Function Factorielle(n:integer):integer;
    begin
    if (n=0) then Factorielle := 1
      else Factorielle := Factorielle(n-1)*n; {ici on fait appel à la même      
                                                fonction mais avec le n-1}
    end;

    NB : il faut s'assurer que la fonction est récursive c'est-à-dire que f(n) peut s'écrire sous forme d'une fonction de n-1

  11. #51
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 519
    Points : 1 104
    Points
    1 104
    Par défaut
    En effet, BASIC et Pascal font la différence entre fonctions et procédures. Cependant, ce n'est pas le cas du C ou du PHP. (En C, une procédure est juste un fonction dont le type de retour est void.)

  12. #52
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Cela dépasse probablement le cadre de cet article mais, en PHP, il est courant de donner un type de retour à une méthode de classe :
    Cela permet de faire des appels à la chaîne, sans refaire une nouvelle ligne de code (c'est une habitude de programmation comme une autre) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // $form->getElement() renvoie un objet Form_Element dont presque toutes les méthodes se terminent par "return $this"
    echo $form->getElement('firstname')
       ->addValidator('alpha')
       ->addFilter('newline')
       ->setValue($_GET['firstname']);
     
    echo $element; // la valeur filtrée et validée
    Plutôt que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $element = $form->getElement('firstname');
    $element->addValidator('alpha');
    $element->addfilter('newline');
    $element->setValue($_GET['firstname']);
     
    echo $element; // la valeur filtrée et validée
    D'autres programmeurs mettent systématiquement un return TRUE/FALSE/NULL; dans leurs procédures afin de déterminer si l'opération s'est bien passée.

    Bref, la faible distinction entre prodécures et fonctions en PHP est bien utile. PHP est un langage faiblement typé, profitez-en pour faire de la programmation souple

  13. #53
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 519
    Points : 1 104
    Points
    1 104
    Par défaut
    Ce n'est pas le typage faible qui permet ça...
    Je pourrais faire la même chose en C++.
    Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    class Point
    {
        private:
            int _x,_y;
        public:
            Point(int x=0,int y=0):_x(x),_y(y)
            {
            }
            ~Point()
            {
            }
            int getX() const
            {
                return _x;
            }
            int getY() const
            {
                return _y;
            }
            Point& setX(int x)
            {
                x=_x;
                return *this;
            }
            Point& setY(int y)
            {
                y=_y;
                return *this;
            }
    }
    Ensuite, grace au renvoi d'une référence vers l'objet, je peux faire
    Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Point myPoint;
    myPoint.setX(5).setY(10);
    Pourtant, C++ n'est pas faiblement typé.

  14. #54
    Nouveau membre du Club
    Homme Profil pro
    Ing syst. retraité
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ing syst. retraité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Points : 34
    Points
    34
    Par défaut Excellent tuto M E R C I
    Citation Envoyé par Dendrite Voir le message
    Aussi ce tutoriel ne devrait pas rebuter l'informaticien qui connaît déjà un ou plusieurs autres langages, mais souhaiterait se mettre à PHP,
    langage devenu incontournable pour la programmation web.
    Ce lecteur-là pourra parcourir à son rythme le tuto qui suit et y trouver réponses à ses questions...

    http://sylvie-vauthier.developpez.co...rand-debutant/


    Salut Sylvie,
    Je suis dans ce métier depuis 1973, si si, et je me suis toujours limité au dev hardware, au BIOS, aux télécoms (x25 par coeur), aux réseaux IP et au Système, surtout MSDOS UNIX WIN VOS AIX... pour Finir par Linux.
    Mais jamais je n'avais touché au web. Alors quand j'ai voulu commencer, un collègue m'a recommandé ton tuto.
    Premier bilan : j'ai perdu du poids de 97 kg début Juin à 88,5 kg aujourd'hui. Ceux qui ont suivi ton cours comprendront. Rien que ça te vaut déjà un grand merci.
    Mais en plus aujourd'hui j'attaque mon premier développement sérieux, la gestion de mon club de tennis. Après ton tuto j'ai lu le bouquin de Référence "PHP & MySQL" de L. Welling et L. Thomson et je m'y colle.

    Ton tuto est valable pour tout informaticien qui veut s'y mettre très vite. J'ai installé dans mon portable WampServer V2, Notepad++ et j'y ai copié ton tuto. Tous les jours dans le RER 2 x 30mn de trajet toujours assis m'ont suffit pour suire le cours et faire les exercices. J'ai retrouvé, tout l'art et le plaisir du debuoguage. Je suis fin prêt et c'est grâce à ton topo.
    Au passage pour la décomposition des nombres, on s'arrête quand le carré du nombre essayé est > au nombre à décomposer. Et ça s'écrit en beaucoup moins de lignes que dans l'exemple, mais pour les vrais débutants peut-être pas.

  15. #55
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 92
    Points : 22
    Points
    22
    Par défaut Beau Travail
    Bonjour,
    Je souhaiterai tout d'abord remercier Sylvie pour son boulot extraordinaire. En trés peu de temps je me suis un peu familiarisé avec ce langage Php qui m'interesse beaucoup.

  16. #56
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut problème d'affichage PHP database sur firefox
    bonjour,

    en exécutant les TP des chapitre 6 et 7 (population de la base de données à travers un formulaire), j'ai eu les messages suivants lors de l'exécution sur firefox :


    [ L'instruction à "0x01362072" emploie l'adresse mémoire "0x00000000". La mémoire ne peut pas être Read. ]

    et le programme se termine en cliquant sur OK.

    en vérifiant sur la base SQL, je retrouve bel et bien les enregistrements ayant été entrés sur firefox. et en Internet Explorer, je ne peux pas faire mieux, quand même je retrouve les données dans les tables utilisées.


    pourriez vous m'aider concernant ce problème d'affichage ?

    merci d'avance,

    grand_débutant

  17. #57
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    Merci pour cet excellent tuto j'ai déjà appris pas mal grâce a lui

    Mais voila, j'ai un problème dans la partie VI (le formulaire pour ajouter des utilisateurs dans la base de données)
    si j'essaye d'entrer des utilisateurs dans la bdd via ce formulaire il n'enregistre rien et me donne aucune erreur avec firefox ou ie,
    pour étre sur j'ai copier/coller le tuto et toujours rien a faire.
    J'utilise aptana studio qui a un navigateur intégré et lui me retourne cet erreur :
    Erreur SQL !INSERT INTO utilisateurs VALUES("","Jean","G","30","2009-10-29")
    Incorrect integer value: '' for column 'ID' at row 1
    J'ai etait voir la doc de MySQL et j'ai essayer de faire avec ce que j'ai compris étre "la bonne méthode", qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $query = sprintf("INSERT INTO utilisateurs VALUES('', '$pseudo', '$sexe', '$age', '$today')", mysql_real_escape_string($pseudo));
     
    			$result = mysql_query($query);				   
     
    			if (!$result){
    			      $message  = 'Invalid query: ' . mysql_error() . "\n";
        			      $message .= 'Whole query: ' . $query;
        			      die($message);
     
    			}
    et j'ai toujours un message d'erreur
    Invalid query: Incorrect integer value: '' for column 'ID' at row 1 Whole query: INSERT INTO utilisateurs VALUES('', 'Jean', 'G', '30', '2009-10-29')
    Donc en gros il n'arrive pas a incrémenté ID
    Et moi je ne sais plus quoi faire

    Pour infos j'ai suivi le tuto pour la création de la base:
    MaBase
    -- utilisateurs
    ---- ID (int) (auto_increment)
    ---- pseudo (varchar)
    ---- sexe (char)
    ---- age (int)
    ---- dateIscription (date)
    Voila, si quelqu'un a une idée je suis preneur.
    D'avance merci.

  18. #58
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En fait il vaut mieux spécifier les colonnes et laisser mysql gérer l'autoincrément car selon la configuration du serveur, la chaine vide n'est pas forcemment acceptée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'INSERT INTO Utilisateurs (pseudo, sexe, age, DateInscription) VALUES("'.$pseudo.'","'.$sexe.'","'.$age.'","'.$today.'")';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  19. #59
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci sabotage, ça fonctionne au poil maintenant

  20. #60
    Membre éclairé
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Points : 786
    Points
    786
    Par défaut Merci
    Salut!

    J'avais un entretien d'embauche, il m'a demandé un travail à faire en php, et ce cours m'a vraiment aidé, et le titre de se cours est exactement ça (tuto pour grand débutant ),

    Merci infiniment !
    Plus tu prends part aux joies et chagrins des gens, plus ils te sont proches et chers. Mais c'est le chagrin et les problèmes qui vous rapprochent le plus.

    (Mark TWAIN)

Discussions similaires

  1. Bloqué dans le tuto PHP pour grand débutant
    Par jmtutu dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2012, 17h26
  2. Installation de pcre pour grand débutant
    Par sp2308 dans le forum Débuter
    Réponses: 0
    Dernier message: 04/01/2008, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo