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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Question de n00b : comment ça coexiste le PHP et le JavaScript ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Question de n00b : comment ça coexiste le PHP et le JavaScript ?

n°2093391
Dawa
www.shootmeagain.com
Posté le 04-08-2011 à 21:36:26  profilanswer
 

Hello,
 
Bon la réponse va certainement être toute simple et la honte toute sur moi mais tant pis, I need to know.
 
En fait je me mets enfin à intégrer un peu de trucs js et jquery dans mon code PHP mais habituellement c'est des scripts tout fait donc easy life.
 
Mais là au milieu de mon code PHP j'aimerais utiliser un document.getElementById() mais je ne vois pas du tout au niveau syntaxe comment l'intégrer.  
 
Donc voilà le bout de code
 

Code :
  1. $bands=array(avec plein de trucs dedans);
  2. foreach ($bands as $idband)
  3. {
  4. -- là je voudrais tester si une div "truc" existe avant d'en recréer une avec le même nom --
  5. echo '<div id="truc" > HAHA </div>


 
Je me fais bien comprendre ? Quelqu'un pourrait me donner un tuyau ? Merci !


---------------
SHOOT ME AGAIN WEBZINE
mood
Publicité
Posté le 04-08-2011 à 21:36:26  profilanswer
 

n°2093394
Tirkyth
Posté le 04-08-2011 à 21:44:03  profilanswer
 

Euh non tu ne peux pas les faire coexister comme ça.
Le javascript est executé côté client, alors que le PHP est executé côté serveur.

 

1/ Le client (navigateur) demande une page à ton serveur
2/ Le serveur génère la page en executant le code PHP. Généralement, le code PHP affiche du code HTML, et éventuellement javascript aussi.
3/ Le client (navigateur) reçoit le code HTML, fait le rendu de la page
4/ Si tu as du javascript dans le code de la page, il l'execute


Message édité par Tirkyth le 04-08-2011 à 21:44:36

---------------
Mon Feedback !
n°2093401
Dawa
www.shootmeagain.com
Posté le 04-08-2011 à 22:11:26  profilanswer
 

Ok je comprends, merci pour cette explication !  
 
Mais si je ne peux pas utiliser le document.GetElementById pour diriger mon script PHP, existe-t-il un équivalent en PHP ?  
 
En gros un script génère des DIV avec chaque fois un nom unique et j'aimerais qu'il vérifie, avant création de cette DIV, qu'elle n'existe pas déjà.  
 
Merci bcp !

n°2093418
GordonF_69
Posté le 05-08-2011 à 06:11:48  profilanswer
 

Pour faire des div avec des nom unique le meilleur moyen, c'est d’incrémenter une variable
 
<div id='div1'></div>
<div id='div2'></div>
<div id='div3'></div>
<div id='div4'></div>
<div id='div5'></div>
...
 
Jte fais pas le code en php, c'est super simple, mais comme ca t'es sur que ta toujours une div, avec un ID unique...

n°2093420
gatsu35
Blablaté par Harko
Posté le 05-08-2011 à 07:52:28  profilanswer
 

au lieu d'utiliser des ID tu utilises des classes c'est plus génériques, et ainsi tu peux facilement matcher N éléments.


---------------
Blablaté par Harko
n°2093538
rufo
Pas me confondre avec Lycos!
Posté le 05-08-2011 à 16:48:06  profilanswer
 

Si les noms ne se suivent pas, à chaque fois que tu crées une div avec un id, tu stockes cet ID dans un tableau. Comme ça, dans ta boucle, avant de créer une div, tu vérifies avec la fonction in_array() que l'ID n'est pas déjà dans le tableau. S'il y est, c'est que t'as déjà créé un e div avec cet ID ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2093620
Dawa
www.shootmeagain.com
Posté le 06-08-2011 à 07:51:15  profilanswer
 

Ca c'est une très bonne idée ! Merci beaucoup, c'est la solution que je vais adopter !!  
 
Merci à tous

n°2093621
Dawa
www.shootmeagain.com
Posté le 06-08-2011 à 07:55:37  profilanswer
 

Autrement, si je dois persister avec mon document.GetElementById, on peut simplement considérer que si je ne peux pas compter sur le javascript pour influencer mon code PHP, je peux quand même faire en sorte qu'il influence l'affichage des pages, donc par exemple,  
 
donc si je mets un <script>  
puis un test logique document.getelementbyId()  
puis de l'affichage html
puis un </script>
 
l'affichage html, même s'il est dicté par du PHP, ne devrait pas être pris en compte mmh ?

n°2093633
gatsu35
Blablaté par Harko
Posté le 06-08-2011 à 10:56:56  profilanswer
 

Ben A partir du moment ou tu as compris ce principe simple :  
Serveur -> PHP -> Genère le code HTML -> envoi navigateur -> navigateur lit le code HTML et Javascript et ne connait pas ce qu'il se passe coté serveur.
 
Ben tu as compris au moins une chose :D


---------------
Blablaté par Harko
n°2095035
CyberDenix
Posté le 12-08-2011 à 21:29:35  profilanswer
 

Dawa a écrit :

Autrement, si je dois persister avec mon document.GetElementById, on peut simplement considérer que si je ne peux pas compter sur le javascript pour influencer mon code PHP, je peux quand même faire en sorte qu'il influence l'affichage des pages, donc par exemple,  
 
donc si je mets un <script>  
puis un test logique document.getelementbyId()  
puis de l'affichage html
puis un </script>
 
l'affichage html, même s'il est dicté par du PHP, ne devrait pas être pris en compte mmh ?


 
Faux, le html est le premier document reçu par le navigateur, celui contenant toutes informations à charger pour la page courante (css, images, js...). Le html est donc nécessairement pris en compte.
 
Par contre, tu peux en masquer une partie à l'affichage avec des css (display:none) et l'afficher (display:block) uniquement sur un évènement js (onclick...).
 
Une stratégie plus évoluée est de ne charger que le strict minimum en html, puis d'attendre un évènement js pour lancer une requete AJAX, c'est à dire un appel asynchrone à du php, qui ramene du html/json/blabla et d'intégrer dynamiquement cette réponse dans ton document. Ca évite d'avoir de grosses pages avec plein de contenu pas forcément utilisé. Regarde du côté du framework JQuery, qui est vraiment bien foutu à ce niveau.


---------------
Directeur Technique (CTO)
mood
Publicité
Posté le 12-08-2011 à 21:29:35  profilanswer
 

n°2095124
rufo
Pas me confondre avec Lycos!
Posté le 14-08-2011 à 09:40:50  profilanswer
 

CyberDenix a écrit :


 
Faux, le html est le premier document reçu par le navigateur, celui contenant toutes informations à charger pour la page courante (css, images, js...). Le html est donc nécessairement pris en compte.
 
Par contre, tu peux en masquer une partie à l'affichage avec des css (display:none) et l'afficher (display:block) uniquement sur un évènement js (onclick...).
 
Une stratégie plus évoluée est de ne charger que le strict minimum en html, puis d'attendre un évènement js pour lancer une requete AJAX, c'est à dire un appel asynchrone à du php, qui ramene du html/json/blabla et d'intégrer dynamiquement cette réponse dans ton document. Ca évite d'avoir de grosses pages avec plein de contenu pas forcément utilisé. Regarde du côté du framework JQuery, qui est vraiment bien foutu à ce niveau.


 
Cette stratégie est tip-top pour l'accessibilité :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2095211
MEI
|DarthPingoo(tm)|
Posté le 15-08-2011 à 01:39:03  profilanswer
 

CyberDenix a écrit :


 
Faux, le html est le premier document reçu par le navigateur, celui contenant toutes informations à charger pour la page courante (css, images, js...). Le html est donc nécessairement pris en compte.
 
Par contre, tu peux en masquer une partie à l'affichage avec des css (display:none) et l'afficher (display:block) uniquement sur un évènement js (onclick...).
 
Une stratégie plus évoluée est de ne charger que le strict minimum en html, puis d'attendre un évènement js pour lancer une requete AJAX, c'est à dire un appel asynchrone à du php, qui ramene du html/json/blabla et d'intégrer dynamiquement cette réponse dans ton document. Ca évite d'avoir de grosses pages avec plein de contenu pas forcément utilisé. Regarde du côté du framework JQuery, qui est vraiment bien foutu à ce niveau.


Faire de l'AJAX pour faire de l'AJAX c'est souvent contre-production. Le cout d'une requête asynchrone est là, et pour l'utilisateur ces temps d'attentes sont désagréables.


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°2095221
rufo
Pas me confondre avec Lycos!
Posté le 15-08-2011 à 10:16:24  profilanswer
 

MEI a écrit :


Faire de l'AJAX pour faire de l'AJAX c'est souvent contre-production. Le cout d'une requête asynchrone est là, et pour l'utilisateur ces temps d'attentes sont désagréables.


 
+1 et j'insiste, ce n'est pas compatible avec l'accessibilité aux site web pour les personnes souffrant d'un handicap visuel. Un site doit être opérationnel (au moins dans ses fonctions de base) sans JS :o JS/Ajax/Flash... ne doivent être là que pour apporter un + (en ergonomie/amélioration du visuel/optimisations, voire, éventuellement en fonctionnalités).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2095942
CyberDenix
Posté le 18-08-2011 à 13:24:04  profilanswer
 

Je vais être dur, mais combien de visiteurs déficients avez-vous jamais eu ? Combien d'aveugles ont déjà conduit une voiture ?  
 
Dans le cadre d'un Intranet, pourquoi pas, pour l'exercice et pour briller dans les dîners en société.
 
Dans le cadre d'Internet, c'est très discutable. Pour un vrai gros site, dont le SEO est vital en terme d'activité, c'est une condition sinequanone.  
La page (correspondante aux éléments communs entre visiteurs) est cachée, et les éléments spécifiques au user (correspondant, pour la plupart des sites, à des données SEO inutiles) sont ajoutés en post production (depuis un cache, si possible).  
Résultat de l'opération : Google télécharge ta page initiale (beaucoup) plus vite, n'a plus le bruit inhérent aux données utilisateur, indexe plus de pages, et te fait monter dans son moteur de recherche.

Message cité 1 fois
Message édité par CyberDenix le 18-08-2011 à 13:25:50

---------------
Directeur Technique (CTO)
n°2095972
rufo
Pas me confondre avec Lycos!
Posté le 18-08-2011 à 14:15:15  profilanswer
 

CyberDenix a écrit :

Je vais être dur, mais combien de visiteurs déficients avez-vous jamais eu ? Combien d'aveugles ont déjà conduit une voiture ?  
 
Dans le cadre d'un Intranet, pourquoi pas, pour l'exercice et pour briller dans les dîners en société.
 
Dans le cadre d'Internet, c'est très discutable. Pour un vrai gros site, dont le SEO est vital en terme d'activité, c'est une condition sinequanone.  
La page (correspondante aux éléments communs entre visiteurs) est cachée, et les éléments spécifiques au user (correspondant, pour la plupart des sites, à des données SEO inutiles) sont ajoutés en post production (depuis un cache, si possible).  
Résultat de l'opération : Google télécharge ta page initiale (beaucoup) plus vite, n'a plus le bruit inhérent aux données utilisateur, indexe plus de pages, et te fait monter dans son moteur de recherche.


 
Pour ta gouverne, il y a, rien qu'en France, entre 8 à 10% de la population souffrance d'un handicap visuel. :o
 
Par ailleurs, c'est en février 2006 (ou 2004, je sais plus) qu'une directive européenne est passée pour que tous les sites des administrations soient de niveau d'accessibilité AA.
 
De plus, faire un site d'accessibilité AA correspond en gros à faire un site bien fait pour le référencement et, qui plus est, respectera les règles de l'art/bonnes pratiques et normes du W3C. Donc y'a pas de surcoût.
 
Enfin, dire qu'on en a rien à cirer de toute une catégorie de personnes, c'est méprisant, tout particulièrement quand il s'agit de personnes handicapées qui subissent déjà pleins de désagréments au quotidien. Le web pourrait justement leur faciliter la vie dans certaines de leurs démarches ou en leur donnant plus d'autonomie (par ex, pouvoir faire ses courses en ligne, une démarche vis-à-vis de la mairie...) mais parce qu'il y a de mauvais web développeurs, ils ne peuvent pas. J'avais regardé rapidement les principales boutiques en lignes : elles ne sont même pas accessibles niveau A!!!
 
Pour plus de détails sur l'accessibilité : http://fr.wikipedia.org/wiki/Accessibilité_du_Web


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2096068
CyberDenix
Posté le 18-08-2011 à 17:35:06  profilanswer
 

C'est une norme de complaisance, pas de productivité.
 
C'est pour cette raison que les sites administratifs la respectent au pied de la lettre, et les sites de e-commerce... vaguement.
 
En outre, c'est une norme très contraignante sur le plan de la créativité, car elle suppose que c'est un robot lecteur au format et non un humain ou un robot au format visuel (Comme GoogleBot) qui va lire la page. C'est contraire au mode de lecture de la quasi totalité des humains.
 
Je m'y connais un peu en accessibilité, rassure-toi, mais cette norme passe clairement en dernière position dans mes critères de développement :
1) Ça fonctionne et ça rend service
2) C'est rapide
3) C'est SEO Friendly (backlinks, contenus, célérité, conformité W3C)
4) Ca génère du fric (Somme de 1 à 4)
5) C'est accessible pour les handicapés ou normalisé ISO-pouet

Message cité 1 fois
Message édité par CyberDenix le 18-08-2011 à 17:36:14

---------------
Directeur Technique (CTO)
n°2096206
MEI
|DarthPingoo(tm)|
Posté le 19-08-2011 à 00:14:58  profilanswer
 

CyberDenix a écrit :

C'est une norme de complaisance, pas de productivité.
 
C'est pour cette raison que les sites administratifs la respectent au pied de la lettre, et les sites de e-commerce... vaguement.
 
En outre, c'est une norme très contraignante sur le plan de la créativité, car elle suppose que c'est un robot lecteur au format et non un humain ou un robot au format visuel (Comme GoogleBot) qui va lire la page. C'est contraire au mode de lecture de la quasi totalité des humains.
 
Je m'y connais un peu en accessibilité, rassure-toi, mais cette norme passe clairement en dernière position dans mes critères de développement :
1) Ça fonctionne et ça rend service
2) C'est rapide
3) C'est SEO Friendly (backlinks, contenus, célérité, conformité W3C)
4) Ca génère du fric (Somme de 1 à 4)
5) C'est accessible pour les handicapés ou normalisé ISO-pouet


Bad news pour toi, si c'est pas accessible, ça respecte pas le W3C... :o
 
En plus, franchement, faire le minimum syndical pour l'accessibilité, c'est comme faire du code propre et commenté, ça ne coute plus cher que si on le fait dans un 2e temps... :spamafote:


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°2096221
rufo
Pas me confondre avec Lycos!
Posté le 19-08-2011 à 09:23:19  profilanswer
 

MEI a écrit :


Bad news pour toi, si c'est pas accessible, ça respecte pas le W3C... :o
 
En plus, franchement, faire le minimum syndical pour l'accessibilité, c'est comme faire du code propre et commenté, ça ne coute plus cher que si on le fait dans un 2e temps... :spamafote:


 
+1  :jap:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2096268
CyberDenix
Posté le 19-08-2011 à 10:34:41  profilanswer
 

Source ?
 
Un site peut être conforme XHTML + CSS sans obtenir la moindre note d'accessibilité style WCAG ou Section 504.
 
Or seule la conformité XHTML + CSS est prise en compte pour le score SEO :
http://googlewebmastercentral.blog [...] -code.html


---------------
Directeur Technique (CTO)
n°2096270
MEI
|DarthPingoo(tm)|
Posté le 19-08-2011 à 10:38:16  profilanswer
 

Citation :


It is essential that the Web be accessible in order to provide equal access and equal opportunity to people with diverse abilities. Indeed, the UN Convention on the Rights of Persons with Disabilities recognizes access to information and communications technologies, including the Web, as a basic human right.  


 
cf. http://www.w3.org/standards/webdesign/accessibility


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°2096318
CyberDenix
Posté le 19-08-2011 à 12:16:28  profilanswer
 

La véritable citation, traduite, de Tim Berners Lee est la suivante :
 

Citation :


« Lorsque j'ai créé le web, il y a dix-sept ans, je n'ai demandé à personne la permission. La nouvelle application a été déployée à travers Internet sans que celui-ci ne soit modifié. J'ai essayé, et beaucoup de personnes y travaillent encore, de faire de la technologie web une plateforme à la fois neutre et universelle. Celle-ci ne doit pas discriminer un matériel, un logiciel, un réseau, un langage, une culture, un handicap ou des données spécifiques.
 
Internet devient de plus en plus le support dominant assurant notre connectivité. La neutralité des supports de communication est essentielle à notre société. C'est la base d'une économie de marché compétitive. C'est la base de la démocratie, au travers de laquelle une communauté choisit les actions à engager. C'est la base de la science, qui permet au genre humain de décider où se trouve la vérité. »
 
http://dig.csail.mit.edu/breadcrumbs/node/132
 


 
J'y vois la définition de neutralité du Net et du combat contre le filtrage, mais... chacun voit midi à sa porte, comme on dit !
 
Bref le débat est clos pour moi, l'accessibilité OSEF c'est pas rentable et je me fous éperdument des handicapés qui ne constituent pas ma cible marketing (Comme 99,99% des entreprises dans le monde). :D
 
http://images.forum-auto.com/mesimages/307710/fonsd.gif1..gif


Message édité par CyberDenix le 19-08-2011 à 13:22:17

---------------
Directeur Technique (CTO)
n°2096329
rufo
Pas me confondre avec Lycos!
Posté le 19-08-2011 à 13:12:10  profilanswer
 

:sweat: C'est bien triste cette façon de penser...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Question de n00b : comment ça coexiste le PHP et le JavaScript ?

 

Sujets relatifs
Ajax et session PHP erreur Incomplete Object[AJAX-JavaScript]Requete Ajax retournant un 403
Communication PHP / C++ via un socket UNIX => blocage read/writeValeur d'un textbox en Html Php
Lister les fichiers d'un répertoire distant (sur un NAS) en PHP[Résolu] [debutant] aide javascript
question sur les threads[SQL] Requète SQL complexe
Planification d'une fonction PHPQuestion pour un portage Win -> OSX
Plus de sujets relatifs à : [PHP] Question de n00b : comment ça coexiste le PHP et le JavaScript ?


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