Se connecter avec
S'enregistrer | Connectez-vous

Comment apprendre les bases du php ? (et du MySQL tant qu'on y est)

Dernière réponse : dans Programmation

Marre k'on me dise que mon site utilise des techniques vieilles de 10 ans etc, jveux apprendre un truc qui claque, donc le php me semble tout indiqué :o 

par ailleurs, est-ce que le MySQL sera utile dans mon cas, vu que mon site servira à "classer" et "répertorier" des concerts, et qu'il sera utile de pouvoir les trier par date, groupe ou salle, à la convenance de l'utilisateur?

En quelques mots, de quoi ai-je besoin pour faire tout ca? (sites, softs etc.)

merci bcp !

Vous aurez le privilège d'assister à mes progrès semaine après semaine [:un pseudo qui claque]

Autres pages sur : apprendre bases php mysql

Lassé par la pub ? Créez un compte

Pour pouvoir faire du php et du MySQL, il faut que ton site soit hébergé sur un serveur qui supporte le php et le MySQL. Tu n'as pas besoin de softs spécialisés sauf que si tu veux pouvoir voir le résultat de tes pages en local chez vous, tu peux installer EasyPHP. C'est gratuit et sa et créé un petit serveur privé pour le php et le MySQL.

Pour apprendre le PHP tu peux consulter des sites ou acheter un bouquin.

Sites :
  • http://www.commentcamarche.net/php/phpintro.php3
  • http://webmaster.lycos.fr/topics/technic/php/index.phtml
  • http://www.php.net
  • http://www.easyphp.org
  • http://www.mysql.com/

    Bouquins :
  • Pratique de MySQL et PHP 2e édition (Éditions O'reilly par Philippe rigaux)

    Dawa a écritMarre k'on me dise que mon site utilise des techniques vieilles de 10 ans etc, jveux apprendre un truc qui claque, donc le php me semble tout indiqué :o 

    1- Apprendre a lire
    2- Aller dans la cat prog de notre merveilleux forum
    3- lire le premier topic

    THEniluje a écritUn peu comme ton topic dans la cat quoi [:spamafote]



    possible, jme suis pas posé la question, d'autant + que maintenant j'ai eu ma réponse et que le reste je m'en carre [:spamafote]


    [:edit] quoi qu'il en soit, il y a en effet pas mal de chouettes liens et d'infos sur le 1er topic, je le conçois :o 

    THEniluje a écritEt je parie que tu adore te balader dans la rue avec un message "Frappez-moi" collé au dos ? :heink: 

    S'pas vraiment de ma faute si ta remarque est bien stupide hein... [:spamafote]


    t'as fini de jouer au con ? si j'ai envie d'apprendre des trucs sur le PHP, je vais dans la sous-cat "PHP & MySQL & ASP", normal...
    Hors, pour voir le topic que tu mentionne il faut aller dans la sous-cat "autres" ou à la racine de la cat prog, ce qui n'est pas le premiere idée que j'ai eu, dsl (et apparement, c'est aussi le cas de dawa).
    Donc, t'es gentil, tu remballe tes airs superieurs, ça aurait été plus simple de l'indiquer poliement...

    Déjà tu peux rester un minimum poli...
    De plus quand tu entre dans une catégorie, c'est pas interdit de regarder ce qui est présenté avant d'aller au coeur de ce que l'on cherche, histoire de voir si certaines personnes pas trop bêtes avaient déjà prévue le coup... Si cette remarque te parais hautaine ou autre j'en suis navré pour toi.

    THEniluje a écritDéjà tu peux rester un minimum poli...
    De plus quand tu entre dans une catégorie, c'est pas interdit de regarder ce qui est présenté avant d'aller au coeur de ce que l'on cherche, histoire de voir si certaines personnes pas trop bêtes avaient déjà prévue le coup... Si cette remarque te parais hautaine ou autre j'en suis navré pour toi.


    je ne m'adresse pas avec politesse a qq1 qui me parle de mes remarques stupides, désolé [:spamafote]
    enfin je suis pas là pour ce genre de dispute non plus, je trouve que ça n'a aucun sens
    enfin merci quand même

    Aucune idée. Sur mon pc ça m'arrive souvent aussi que mysql se chie dessus [win2k sp2, easyphp le plus recent d'il y a quelques mois], bilan j'arrete easyphp, je le relance et c'est repartit...

    (il ne se chie dessus qu'au demarrage de l'appli, une fois relancé, c'est bon ça marche définitivement)

    Dawa a écritah oué... bah là ca marche vraiment pas, j'ai eu beau rebooter et relancer le programme 10x ca va pas mieux :D 

    bon bah jvais bien reussir a trouver ce qui merde :o 

    merci !


    donc t'as rien eu le temps de faire ou ça te le fait seulement maintenant ?

    :hello:  je viens d'installer easyphp
    moi aussi je veux faire ma liste au pere noel consultable worldwide :sol: 
    mais bon maintenant c'est installé et c'est installé.... [:kali-ma]

    ya pas un tutorial pour les very very beginner?
    dawa je plante un gros drapal sur ce topik d'interet publique :D 

    sinon qqun sait comment marche le LAST_INSERT ID ?

    apres cette requete

    1. $sql= "insert into concert (date, location) values ('{$data['date']}','{$data['salle']}')";


    la table CONCERT ayant un numéro primaire en auto_increment, j'aimerais récupérer la valeur insérée en clé primaire... j'ai lu que la fonction LAST_INSERT_ID() m'aiderait, mais je n'ai pas trouvé comment l'utiliser, c'est assez flou :o 

    Merci !

    Je ne l'ai jamais essayée mais j'imagine que après ta requète, tu peux utiliser LAST_INSERT_ID() pour trouver quel est l'id du dernier enregistrement ajouté puis créer une autre requète pour l'afficher ou quelque chose du genre.

    ca marche avec mysql_insert_id() finalement, plutot bien foutu ! :D 


    au fait j'ai qques problemes qd je fais 2 requetes d'affilée dans la meme fonction, yaurait pas un truc à la fflush a faire entre les 2? :??: 

    Salut! J'ai 2 questions...


    la 1ere :


    J'ai un formulaire qui me permet d'uploader une image. J'aimerais faire apparaitre une miniature de cette image dans une galerie. Mais je ne veux pas simplement afficher l'image avec des dimensions réduites, pour ne pas imposer le téléchargement complet de l'image à l'affichage de la galerie, ca qui ralentirait bien tout le bordel... donc je me demandais s'il y avait moyen de générer une image miniature de mon image de base, aux dimensions définies etc. et surtout, comment


    ma 2eme question sera sans doute + facile :

    Je voudrais créer une page de redirection, un peu comme celle de ce forum qui apparait juste apres avoir posté un message, et qui nous redirige vers le topic...


    Merci pour votre aide encore! :D 

    Pour ta première question, voici un petit bout de code que j'ai récupéré un jour lorsque je naviguais :
    1. function thumbail($file, $maxWidth, $maxHeight)
    2. {
    3. //Créé une image à partir de $file
    4. $img = ImageCreateFromJpeg("$file");
    5. //Dimensions de l'image
    6. $imgWidth = imagesx($img);
    7. $imgHeight = imagesy($img);
    8. //Facteur largeur/hauteur des dimensions max
    9. $whFact = $maxWidth/$maxHeight;
    10. //Facteur largeur/hauteur de l'original
    11. $imgWhFact = $imgWidth/$imgHeight;
    12. //fixe les dimensions du thumb
    13. if($whFact < imgWhFact){
    14. //Si largeur déterminante
    15. $thumbWidth = $maxWidth;
    16. $thumbHeight = $thumWidth/imgWhFact;
    17. } else {
    18. //Si hauteur déterminante
    19. $thumbHeight = $maxHeight;
    20. $thumbWidth = $thumbHeight*$imgWhFact; }
    21. //Créé le thumb (image réduite)
    22. $imgThumb = ImageCreateTruecolor($thumbWidth, $thumbHeight);
    23. //Insère l'image de base redimensionnée
    24. ImageCopyResized($imgThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight);
    25. //Nom du fichier thumb
    26. $imgThumbName = "thumb_".$file;
    27. //Créé le fichier thumb
    28. $fp = fopen($imgThumbName, "w");
    29. fclose($fp);
    30. //Renvoie le thumb créé
    31. ImageJpeg($imgThumb, $imgThumbName);
    32. return $imgThumbName;
    33. }


    Pour ta deuxième question, c'est un truc dans le header de ta page lorsqu'elle est envoyée au client qui dit de recharger la page après X secondes... mais je n'ai pas le code sous la main.

    Finalement, je te proposerais d'aller voir ce site pour regarder le genre de failles qu'il peut y avoir dans un script PHP et surtout dans des scripts de transfert d'images comme tu t'apprète à créer... http://www.phpsecure.info/v2/article/php-security.php

    ThripS a écritPour ta première question, voici un petit bout de code que j'ai récupéré un jour lorsque je naviguais :
    1. function thumbail($file, $maxWidth, $maxHeight)
    2. {...}

    Penser a faire un :
    ImageDestroy($imgThumb);
    ImageDestroy($img);
    sur le fin de la fonction.


    Pour pouvoir utiliser la fonction plus largement, remplacer :
    //Créé une image à partir de $file
    $img = ImageCreateFromJpeg("$file");

    par :
    //Créé une image à partir de $file
    $taille = GetImageSize("$dir/$file");
    $format = $taille[2];
    if($format=='3') $format = 'png';
    elseif($format=='2') $format = 'jpeg';
    else $format = 'gif';
    $imagecreatefrom = "ImageCreateFrom".$format;
    $img = $imagecreatefrom("$file");

    (ca chiera pour les gifs car la gd ne les supporte plus)

    Cool sa THEniluje, c'est pas moi qui a fait la fonction et je l'avais jamais essayée encore. Je vais en faire une copie avec tes améliorations !

    Alors comme sa c'est mieux :
    1. function thumbnail($file, $maxWidth, $maxHeight)
    2. {
    3. //Créé une image à partir de $file
    4. $taille = GetImageSize("$file");
    5. $format = $taille[2];
    6.  
    7. if($format=='3')
    8. $format = 'Png';
    9. elseif ($format=='2')
    10. $format = 'Jpeg';
    11. else
    12. $format = 'Gif';
    13.  
    14. $imagecreatefrom = "ImageCreateFrom".$format;
    15. $img = $imagecreatefrom("$file");
    16.  
    17. //Dimensions de l'image
    18. $imgWidth = $taille[0];
    19. $imgHeight = $taille[1];
    20.  
    21. //Facteur largeur/hauteur des dimensions max
    22. $whFact = $maxWidth/$maxHeight;
    23. //Facteur largeur/hauteur de l'original
    24. $imgWhFact = $imgWidth/$imgHeight;
    25.  
    26. //fixe les dimensions du thumb
    27. if ($whFact < imgWhFact) {
    28. //Si largeur déterminante
    29. $thumbWidth = $maxWidth;
    30. $thumbHeight = $thumWidth/imgWhFact;
    31. }
    32. else {
    33. //Si hauteur déterminante
    34. $thumbHeight = $maxHeight;
    35. $thumbWidth = $thumbHeight*$imgWhFact;
    36. }
    37.  
    38. //Créé le thumb (image réduite)
    39. $imgThumb = ImageCreateTruecolor($thumbWidth, $thumbHeight);
    40.  
    41. //Insère l'image de base redimensionnée
    42. ImageCopyResized($imgThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight);
    43.  
    44. //Nom du fichier thumb
    45. $imgThumbName = "thumb_".$file;
    46.  
    47. //Créé le fichier thumb
    48. $fp = fopen($imgThumbName, "w");
    49.  
    50. fclose($fp);
    51.  
    52. ImageJpeg($imgThumb, $imgThumbName);
    53.  
    54. //Supprimer les images
    55. ImageDestroy($imgThumb);
    56. ImageDestroy($img);
    57.  
    58. //Renvoie le thumb créé
    59. return $imgThumbName;
    60. }


    [EDIT] avec les corrections de THEniluje ci-dessous !

    Dans ce cas, ce serait peut-etre légerement plus econome de mettre :
    $imgWidth = $taille[0];
    $imgHeight = $taille[1];

    A la place de :
    $imgWidth = imagesx($img);
    $imgHeight = imagesy($img);

    Ca eviterait d'utiliser des fonctions en plus alors qu'on dispose de l'info dans le tableau $taille
    Ouai, 'fin c'est juste du chipotage.

    Question con de noob, (enfin je progresse...)
    comment fait on pour executer la fonction thumbnail quand les images sont dans un directory /pic/ par exemple
    parce que si je passe en arguement pic/image.jpg bah caca qd il le script cherche a ouvrir "thumb_pic/image.jpg"


    [edit]
    met en rajoutant une variable $dir que tu concatene a $file bougre d'andouille
    :o 

    function thumbnail($picdir,$file, $maxWidth, $maxHeight)
    {
    //Créé une image à partir de $file
    $taille = GetImageSize($picdir.$file);

    Dawa a écritca marche avec mysql_insert_id() finalement, plutot bien foutu ! :D 


    au fait j'ai qques problemes qd je fais 2 requetes d'affilée dans la meme fonction, yaurait pas un truc à la fflush a faire entre les 2? :??: 
    SELECT LAST_INSERT_ID();
    Lassé par la pub ? Créez un compte