Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1393 connectés 

 


Pour ou contre du changement sur le topic ?


 
35.7 %
 5 votes
1.  Oui, faq / bonnes pratiques + blabla@php
 
 
0.0 %
        0 vote
2.  Oui, blabla@php uniquement
 
 
7.1 %
 1 vote
3.  Ce topic mérite la poubelle. Pauvre poubelle
 
 
21.4 %
 3 votes
4.  Non, ce topic reste tel quel
 
 
35.7 %
 5 votes
5.  Obiwan n'aime pas le php
 

Total : 16 votes (2 votes blancs)
Ce sondage est clos, vous ne pouvez plus voter
 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  64  65  66  67  68  69
Auteur Sujet :

blabla@php | faq et bonnes pratiques page 1

n°1723873
hppp
Serveur@home
Posté le 24-04-2008 à 16:20:25  profilanswer
 

Reprise du message précédent :

flo850 a écrit :


 
a ce moment là , dans ta fonction query , tu inclues la gestion des erreur ( écriture dans un fichier texte par exemple ) . Pour le nom des variables, j'utilise rsProducts pour les result set contenant mes produits  
 
pour le tableau ,je garde le tableau "extérieur" , vu qu'il s'agit bien de données tabulaires
 
mais a l'intérieur de la case quantité, je vais mettre les images + et - en float:right  et ça suffira.
 
et tu devrai revoir le découpage comme on te l'a dit un peu plus haut . Ca va te prendre 2 heures a faire, mais ton code sera mille fois plus clair. Concrètement, si dans un même ficheir tu as du HTML et du SQL c'est que tu mélange la logique metier et l'affichage


 
Donc en gros il faut avoir d'un coté les fichiers avec le mysql et le php et d'un autre l'affichage en HTML et CSS?

mood
Publicité
Posté le 24-04-2008 à 16:20:25  profilanswer
 

n°1723876
skeye
Posté le 24-04-2008 à 16:22:10  profilanswer
 

hppp a écrit :

 

Donc en gros il faut avoir d'un coté les fichiers avec le mysql et le php et d'un autre l'affichage en HTML et CSS?

 

C'est un début. Pour t'y forcer tu peux utiliser un moteur de templates, par exemple.


Message édité par skeye le 24-04-2008 à 16:22:16

---------------
Can't buy what I want because it's free -
n°1723889
hppp
Serveur@home
Posté le 24-04-2008 à 16:39:04  profilanswer
 

Comment ça logique/actions, logique/affichage, affichage?
les entités = ?

n°1723896
XaTriX
Posté le 24-04-2008 à 16:44:24  profilanswer
 

Vous avez des bons liens sur les interactions entre PHP et MySQL ? Je voudrais récuperer des données d'une base et les afficher :)
 
XaT


---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020
n°1723909
XaTriX
Posté le 24-04-2008 à 16:57:38  profilanswer
 


Ok je vois à peut pres, sauf le fetch et l'objet à la collection :o
 
Je vais déjà récuprere une requête pour voir comment elle marche :o
 
XaT


---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020
n°1723917
hppp
Serveur@home
Posté le 24-04-2008 à 17:08:59  profilanswer
 

et vous en pensez quoi de ça dans un fichier index.php pour inclure les différentes pages?
 

Code :
  1. if ($_GET['page']=="" )
  2. {
  3. include("pages_index.php" );
  4. }
  5. elseif ($_GET['page']=="panier" )
  6. {
  7. include("pages_panier.php" );
  8. }
  9. elseif ($_GET['page']=="page1" )
  10. {
  11. include("page_page1.php" );
  12. }


 
avec des liens comme ça:
index.php?page=panier
index.php?page=page1
etc...

n°1723929
hppp
Serveur@home
Posté le 24-04-2008 à 17:33:48  profilanswer
 

ah ouais ok, c'est plus simple sa version.

n°1723992
hppp
Serveur@home
Posté le 24-04-2008 à 19:58:08  profilanswer
 


Ouais, enfin la tienne  :whistle: , j'avais pas fait gaffe  :D  

n°1723996
hppp
Serveur@home
Posté le 24-04-2008 à 20:26:02  profilanswer
 

dans le code en php c'est grave de mettre beaucoup de variables? de conditions if et elseif? et pour les variables il faut plutôt des noms court et en anglais? dsl mais je comprend pas beaucoup comment vous nommer vos variables.
et après dans le code HTML on met juste nos variables à afficher? et on fait des include dans la page HTML de nos fichiers php/mysql avec dedans nos fonctions et nos classes? Je sais que je suis chiant mais j'aimerai vraiment apprendre pour bien savoir coder. Merci quand même.

n°1723998
XaTriX
Posté le 24-04-2008 à 20:35:57  profilanswer
 

Tu les nommes comme tu veux, et qui lira ton code, si c'est pour toi prend des noms usels et des pensesbêtes, etc.
Bref exemple: quand on parle d'image, j'aime bien mettre "img" et plus voila :o

 

XaT


Message édité par XaTriX le 24-04-2008 à 20:36:16

---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020
mood
Publicité
Posté le 24-04-2008 à 20:35:57  profilanswer
 

n°1724014
bixibu
Ca ... c'est fait!
Posté le 24-04-2008 à 21:28:41  profilanswer
 

Bon ma petite pierre à l'edifice pour les codeurs debutants qui veulent faire du propre..

 

Avant tout : l'architecture des dossiers / fichiers. Comment organiser les fichiers? ca parait con mais au debut on met souvent tout a l'arrache dans le meme dossier.. l'architecture que je preconise :

 
Code :
  1. Projets
  2. __Site1
  3. ____Web
  4. ______sd    <= vos sous domaines
  5. ________dev
  6. ________test
  7. ______www   <= sous domaine principale
  8. ________css
  9. ________media
  10. __________img
  11. ____________default
  12. ____________dynamik
  13. __________swf
  14. __________flv_
  15. __________pdf
  16. ________php
  17. __________config
  18. __________classes
  19. __________includes
  20. ________js
  21. ________tmp
  22. ________xml
  23. ________index.php
  24. ________.htaccess
  25. __Site2
  26. __Site3
 

etc etc..

 

Pour les nom de fichiers aussi il faut bien faire les choses (identification rapide du type d'un fichier etc)par exemple :
Product.class.php <= classe définissant l'objet Product
config.inc.php <= fichier de config
displayProduct.php <= page du site

 

bt_meteo.png => BOUTON meteo d'un menu par exemple (image)
bg_bottom_menu2.png => BACKGROUND (fond) du bas du menu2
bg_top_menu2.png

 

etc

 

Bon c'est minime comme conseils mais ca donne l'impression - dès le debut - de faire du "propre" et perso, ca me motive a tout faire dans ce sens, du propre, des fichiers bien nommés, des variables explicites, fonctions explicites ($object->isVisible() ou object->getVars() ou $object->addMediaFlv() etc etc)

 

:kaola:


Message édité par bixibu le 24-04-2008 à 21:29:33
n°1724034
hppp
Serveur@home
Posté le 24-04-2008 à 22:30:45  profilanswer
 

et ça c'est du code comment pour vous? Merci
 
 

Code :
  1. <?php
  2. session_start();
  3. include_once("fonctions-panier.php" );
  4. echo '<?xml version="1.0" encoding="iso-8859-1"?>';?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">  
  6. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  7. <head>
  8. <title>Votre panier</title>
  9. </head>
  10. <body>
  11. <form method="post" action="panier.php">
  12. <table style="width: 400px">
  13. <tr>
  14.       <td colspan="4">Votre panier</td >
  15. </tr>
  16. <tr>
  17.       <td>Libellé</td>
  18.       <td>Quantité</td>
  19.       <td>Prix Unitaire</td>
  20.       <td>Action</td>
  21. </tr>
  22. <?php
  23. if (creationPanier())
  24. {
  25. $nbArticles=count($_SESSION['panier']['libelleProduit']);
  26.   if ($nbArticles <= 0)
  27.    echo "<tr><td>Votre panier est vide </ td></tr>";
  28.   else
  29.   {
  30.    for ($i=0 ;$i < $nbArticles ; $i++)
  31.    {
  32.     echo "<tr>";
  33.     echo "<td>".htmlspecialchars($_SESSION['panier']['libelleProduit'][$i])."</ td>";
  34.     echo "<td><input type=\"text\" size=\"4\" name=\"QteArticle[]\" value=\"".htmlspecialchars($_SESSION['panier']['qteProduit'][$i])."\"/></td>";
  35.     echo "<td>".htmlspecialchars($_SESSION['panier']['prixProduit'][$i])."</td>";
  36.     echo "<td><a href=\"".htmlspecialchars("panier.php?action=suppression&l=".rawurlencode($_SESSION['panier']['libelleProduit'][$i]))."\">XX</a></td>";
  37.     echo "</tr>";
  38.    }
  39.            
  40.   echo "<tr><td colspan=\"2\"> </td>";
  41.   echo "<td colspan=\"2\">";
  42.   echo "Total : ".MontantGlobal();
  43.   echo "</td></tr>";
  44.            
  45.   echo "<tr><td colspan=\"4\">";
  46.   echo "<input type=\"submit\" value=\"Rafraichir\"/>";
  47.   echo "<input type=\"hidden\" name=\"action\" value=\"refresh\"/>";
  48.   echo "</td></tr>";
  49.   }
  50. }
  51. ?>
  52. </table>
  53. </form>
  54. </body>
  55. </html>

n°1724068
Profil sup​primé
Posté le 24-04-2008 à 23:38:09  answer
 

hppp a écrit :

et ça c'est du code comment pour vous? Merci
...


- le code html dans des echo c'est très sale, et tu demande du traitement à php completement inutile en faisant cela
pour info ca peut etre plus présentable en  
  echo '<input type="submit" value="Rafraichir" />';
  et le mieux ainsi :
  ?><input type="submit" value="Rafraichir" /><?
- styles css en dur aussi
- que se passe t il si $_SESSION['panier'] n'existe pas ?  
- creationPanier() n'est pas explicite sur ce que fait la fonction
- htmlspecialchars() sur une url ne te sers pas à grand chose, à utiliser uniquement pour des champs de formulaire

n°1724161
hppp
Serveur@home
Posté le 25-04-2008 à 09:38:44  profilanswer
 

et un panier vous trouvé que c'est mieux avec $_SESSION ou enregistré dans une BDD au fur et a mesure des ajout? Merci

n°1724626
XaTriX
Posté le 25-04-2008 à 17:11:29  profilanswer
 

cookie ? :o


---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020
n°1724630
babasss
Posté le 25-04-2008 à 17:17:19  profilanswer
 


Tu es sur ? J'avais lu (il y a un bout de temps et c'était en asp) que ca faisait de multiples instances (???) sur le serveur. Depuis je me suis toujours posé la question...
 


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1724645
dwogsi
Défaillance cérébrale...
Posté le 25-04-2008 à 17:43:45  profilanswer
 

hppp a écrit :

et un panier vous trouvé que c'est mieux avec $_SESSION ou enregistré dans une BDD au fur et a mesure des ajout? Merci


Personnellement je préfère utiliser la BDD. Plus souple/simple à mon goût. Mais ça reste discutable.
En tout cas la BDD ça oblige à effectuer un nettoyage régulier des panier qui n'ont pas aboutis sur une commande.
Donc en générale je colle un cron chargé de nettoyer les paniers un peu vieux et qui ne sont pas rattaché à un utilisateur. Pour ceux qui sont rattaché à un utilisateur, une personne inscrite, je les laisse comme ça elle peut récupérer son panier quand elle s'identifie. Mais faut aussi penser à écraser un ancien panier si ton visiteur créé un panier et s'identifie ensuite.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1724689
hppp
Serveur@home
Posté le 25-04-2008 à 19:05:46  profilanswer
 

ouiat, moi je laisse pas le choix pour pas avoir de problème, pour créer un panier il faut être identifié. Comme ça t'as pas de problème avec ça.
ouais j'avais pas pensé aux cookies. Mais je pense que je vais continuer à le développer avec une BDD. Merci beaucoup

n°1724690
tomsoft
Posté le 25-04-2008 à 19:08:36  profilanswer
 

hppp a écrit :

ouiat, moi je laisse pas le choix pour pas avoir de problème, pour créer un panier il faut être identifié. Comme ça t'as pas de problème avec ça.
ouais j'avais pas pensé aux cookies. Mais je pense que je vais continuer à le développer avec une BDD. Merci beaucoup


 
how to : faire fuir un / des clients  :)

n°1724692
XaTriX
Posté le 25-04-2008 à 19:15:20  profilanswer
 

+1 tu te tire une balle dans le pied :jap:
 
XaT


---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020
n°1726056
Sylver---
Not a geek. Just a human 2.0
Posté le 29-04-2008 à 11:09:21  profilanswer
 

Vous avez un bon tuto pour dev un site multilingue ? Quelles sont les différentes façons, etc etc...
 
Merci :jap:


---------------
Aloha
n°1726058
tomsoft
Posté le 29-04-2008 à 11:12:04  profilanswer
 

+1 ca m'interesse :)
 
paske la on m'a demandé de traduire un site statique en html, donc fr_index.html, en_index.html :ange:
 
je suppose qu'il ya mieux :/

n°1726060
skeye
Posté le 29-04-2008 à 11:14:10  profilanswer
 

Sylver--- a écrit :

Vous avez un bon tuto pour dev un site multilingue ? Quelles sont les différentes façons, etc etc...


 
C'est un peu vague comme question.:D
Je dirais que le plus élégant niveau design c'est le design pattern abstract factory : tu définis une classe abstraite/une interface du style "textProvider", et autant de classes filles/classes implémentant l'interface qu'il y a de langues. Là-dessus tu ajoutes une classe dont une méthode sait te retourner l'instance qui va bien en fonction de la configuration, et tu travailles avec l'instance retournée.


---------------
Can't buy what I want because it's free -
n°1726064
XaTriX
Posté le 29-04-2008 à 11:16:57  profilanswer
 

J'ai pas de tutos mais sinon le mieux c'est une page languages.php
 
et  

<?
 
$languages = array();
 
$languages['fr']['about'] = 'about fr'
$languages['en']['about'] = 'about en'
 
?>


Et faire des appels :)
 
XaT


---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020
n°1726065
Sylver---
Not a geek. Just a human 2.0
Posté le 29-04-2008 à 11:17:04  profilanswer
 

Et un truc un peu plus expliqué ? :whistle:
(pour skeye)

Message cité 2 fois
Message édité par Sylver--- le 29-04-2008 à 11:17:32

---------------
Aloha
n°1726067
XaTriX
Posté le 29-04-2008 à 11:19:03  profilanswer
 

tomsoft a écrit :

+1 ca m'interesse :)
 
paske la on m'a demandé de traduire un site statique en html, donc fr_index.html, en_index.html :ange:
 
je suppose qu'il ya mieux :/


http://url/index?page=toto&lang=fr ?  
 
Tableau fr & en avec page toto dans chaque :o
 
XaT


---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020
n°1726069
XaTriX
Posté le 29-04-2008 à 11:20:27  profilanswer
 

Sylver--- a écrit :

Et un truc un peu plus expliqué ? :whistle:
(pour skeye)


Genre moi je pue  :o  
 
Non bon d'accord je suis débutant  :sweat:  
Un PDF/Livre à conseiller (fr) pour PHP5/MYSQL5 ?
 
XaT


---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020
n°1726088
skeye
Posté le 29-04-2008 à 11:41:48  profilanswer
 

Sylver--- a écrit :

Et un truc un peu plus expliqué ? :whistle:
(pour skeye)


 
En très gros, un truc dans ce genre :

Code :
  1. class TextProvider{
  2.     
  3.     private $content;
  4.     
  5.     function __construct($textFilePath){
  6.         //on passe en paramètre le fichier contenant tous les textes du site pour une langue donnée.
  7.         $this->loadFile($textFilePath);    
  8.     }
  9.     
  10.     function loadFile($textFilePath){
  11.         //ici on charge les données dans la classe...dans un tableau avec pour indices l'identifiant de la chaine de caractères par exemple
  12.     }
  13.     
  14.     function text($textId){
  15.         //on retourne le contenu du tableau à l'indice $textId
  16.         return($this->content[$id]);
  17.     }
  18.     
  19. }
  20.  
  21. class FrenchTextProvider extends TextProvider{
  22.  
  23.     function __construct(){
  24.         parent::__construct('/chemin/vers/textes_fr.truc');
  25.     }
  26. }
  27.  
  28. class EnglishTextProvider extends TextProvider{
  29.  
  30.     function __construct(){
  31.         parent::__construct('/chemin/vers/textes_en.truc');
  32.     }
  33. }
  34.  
  35. class TurkishTextProvider extends TextProvider{
  36.  
  37.     function __construct(){
  38.         parent::__construct('/chemin/vers/textes_tk.truc');
  39.     }
  40. }
  41.  
  42.  
  43.  
  44.  
  45. //...et une classe qui te permet de récupérer l'instance de la bonne classe xxxTextProvider
  46. class TextProviderFactory{
  47.     
  48.     private $language;
  49.     
  50.     function __construct($language){
  51.         $this->language = $language;
  52.     }
  53.     
  54.     function provider(){
  55.         switch($this->language){
  56.             case 'fr':
  57.                 return new FrenchTextProvider();
  58.             case 'en':
  59.                 return new EnglishTextProvider();
  60.             //...
  61.         }
  62.     }
  63.     
  64.     
  65. }


---------------
Can't buy what I want because it's free -
n°1726092
skeye
Posté le 29-04-2008 à 11:44:44  profilanswer
 

(bon après c'est plus une histoire de modélisation que de php, tout ce que je raconte moi...[:petrus75])


---------------
Can't buy what I want because it's free -
n°1726110
skeye
Posté le 29-04-2008 à 11:56:29  profilanswer
 

 

C'est pas tout à fait pareil, amha on peut résumer comme ça :

 

Factory sert à abstraire la création d'objets (voire de groupes d'objets), Strategy plutôt à abstraire une fonction/un algo.

 

Tu vas utiliser Factory dans un cas comme le multilangues par ex.(le cas classique c'est les widgets graphiques - tu délègues à une classe le soin de te donner les widgets dont tu as besoin, cette classe ne te donnant pas la même chose si tu es sous OSX, windows, minux, en GTK, tcl/tk, etc.).
Strategy est pas au même niveau de conception,, mais tu peux el retrouver dans le contexte de Factory : genre pour dessiner un widget, tu vas extraire une méthode générique (afficher le fond, puis les bordures, puis le texte, au pif), qui sera définie dans la classe mère abstraite de tes widgets, et elle va faire appel à différentes fonctions qui elles ne seront implémentées que dans les classes filles (par ex. une classe va faire du lissage de polices, etc...). Tu forces une segmentation propre du code en factorisant la partie algorithmique commune.


Message édité par skeye le 29-04-2008 à 11:58:11

---------------
Can't buy what I want because it's free -
n°1734737
theredled
● REC
Posté le 20-05-2008 à 18:33:37  profilanswer
 

Hep,
Comment on fait pour différencier une variable null d'une variable non existante [:mullet] ?


Message édité par theredled le 20-05-2008 à 18:33:46

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1734757
theredled
● REC
Posté le 20-05-2008 à 19:03:57  profilanswer
 

Et c'est quoi crystal-ball-php5 [:dawao] ?

 

----
aaaah une blague [:totoz]

Message cité 1 fois
Message édité par theredled le 20-05-2008 à 19:06:40

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1734759
theredled
● REC
Posté le 20-05-2008 à 19:07:24  profilanswer
 

Sinon ya aussi is_null() et === null qui font pareil :o


Message édité par theredled le 20-05-2008 à 19:08:34

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  64  65  66  67  68  69

Aller à :
Ajouter une réponse
 

Sujets relatifs
Problème pour une mise en page sous forme de tableauAfficher sur une page web directement le resultat d'une autre page web
[PHP] Fonction include plus rapide qu'un bout de code dans la page ?Ouvrir un fichier HTML en fin de page
[Résolu] Expirer la cache au niveau de la pageexecuter une page php sans rien afficher
inserer dans ma page wikiControler le changement de page
Certificat SSL a valider pour chaque élément de pageinstallé un mdp sur une page web avec Namo
Plus de sujets relatifs à : blabla@php | faq et bonnes pratiques page 1


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR