8768 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai commencé à apprendre le Php pour pouvoir envoyer un formulaire de contact.
Mais je ne comprends pas pourquoi je code une page en Html mais je l'enregistre en Php.
Par exemple: menu.php

Merci pour vos explications!
Attention de ne pas confondre deux choses...
Une page ne contenant que des instructions HTML (c'est à dire des balises décrites dans les spécifications du W3C) est en général enregistrée avec une extension .html (voire .xhtml si cette page est conforme aux spécifications XHTML de ce même W3C).
Une page contenant des instructions HTML et des instructions PHP (c'est à dire des balises ouvrantes / fermantes conformes à ce langage) est quant à elle enregistrée avec une extension .php.
Cette différenciation permet au serveur web de savoir s'il doit ou non analyser des instructions PHP et les convertir, in fine, en instructions HTML conformes W3C.
Il existe toutefois des subtilités en la matière, certains sites servant une page contenant des instructions PHP en l'affublant d'une extension .html. L'utilisateur final ne recevant qu'une page en pur HTML, ceci permet de ne pas donner trop d'indications sur la technologie sous jacente utilisée par le serveur web et, par là, ne pas faciliter le travail des gens plus ou moins bien intentionnés qui analysent les flux.
Modifié par sepecat (26 Mar 2016 - 11:15)
En gros :

- Le html est ce qui est lu par le navigateur de l'utilisateur final. On peut créer un site uniquement avec des pages en html, sans php. Ce sera alors un "site statique" : il ne sera pas possible de créer d'interactions avancées, par exemple quand on souhaite enregistrer de nouvelles données, ou alors il faudra passer par un service extérieur au site.

- Php, Ruby, Python, etc, sont des langages serveur. Ils permettent de créer des "sites dynamiques" : en générant du contenu html à partir d'une base de donnée, en enregistrant de nouvelles données dans la base, etc.
Ok, merci pour vos réponses. Comme d'habitudes, ultra rapides et ultra précises.

Donc, si par exemple j'ai une page contact, avec un formulaire contact (nom, mail, message), je n'ai que du Html dedans.
Mais les données recueillies avec TEXTAREA seront envoyées dans ma page TRAITEMENT.PHP

Je vous mets mon code, parce que pour l'instant je nage un peu avec le Php!

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="style.css" />
        <title>contact</title>
    </head>
    
<body>



<img src="couleur2.png" alt="" />
<div class="pagecontact">

<div class="boutonaccueil"><a href="accueil.html">Accueil</a> </div>
<div class="boutonauteur"><a href="auteur.html">L'auteur</a></div> 


<p style="margin-bottom: 5%"></p>
<div class="margetextegauche">
Si vous voulez me laisser un commentaire, c'est ici.</div>
<form method="post" action="traitement.php">
<div>
        <label for="nom">Nom :</label>
        <input type="text" id="nom" autofocus />
    </div>
    <div>
        <label for="courriel">Mail :</label>
        <input type="email" id="courriel" />
    </div>
    <div>
        <label for="message">Votre message :</label>
        <textarea id="message"></textarea>
<p style="margin-bottom: 7%"></p>
    </div>

	<div class="button">
        <button type="submit"><span class="rouge fontgros">Envoyer votre message</span></button>
    </div>

</form>

</div>

</body>
</html>



Merci pour votre aide.
Telle qu'elle est, ta page est du "pur" HTML, en ce sens qu'elle ne contient (à moins que j'ai mal vu...) aucune instruction PHP.
Si le modèle que tu nous as fourni est celui généré par PHP lors de la création du fichier (et non pas une copie de ce qu'a reçu l'utilisateur dans le navigateur), il s'agit d'une page dite "statique".
Ceci ne signifie pas pour autant qu'elle ne puisse pas être traitée par le langage PHP, lorsqu'elle aura été envoyée en retour au serveur Web (validation de la saisie par l'utilisateur).
Le serveur web pourra alors accéder aux champs de saisie, via les habituelles variables GET / POST de PHP et retourner une autre page (apparemment appelée traitement.php dans ton code formulaire), qui elle-même pourra avoir été créée de façon statique ou dynamique.
On rappelle qu'ici le mot "ou" est exclusif, car une page est soit statique, soit dynamique, mais pas les deux à la fois.
Il est évident que si le serveur renvoie la totalité du site sous forme de pages purement statiques, l'utilisation de PHP ou autre langage n'a alors plus de sens.
Par contre, s'il y a des calculs, des accès bases de données ou autres fonctionnalités de ce genre, PHP effectue ces traitement et permet de construire une page HTML dont le contenu pourra été soit statique (ex. : les enregistrements retournés par un SGBD sont repris sous forme d'une table HTML construite in extenso) ou bien dynamique (ex.: une boucle PHP construit de façon "dynamique" les différentes lignes constituant la table).
Yes Sepecat, merci pour ton explication technique...

On va résumer:
je voudrais tout simplement que l'internaute puisse m'envoyer un message mail, par le biais d'une page de contact. (La page que j'ai mis dans le commentaire au dessus)
Ensuite, je veux pouvoir lire les données que m'a envoyé l'internaute.
Comment je les récupère ensuite?
Il y a une règle d'or en informatique...
Lorsqu'on sèche sur une façon de procéder, on va sur Google ou sur tout autre moteur de recherche de son choix et on tape ceci :

Récupérer données formulaire PHP

C'est simple et ça marche à tous les coups.
Si tu veux une liste de tutoriels, cours, vidéos, pensées profondes et autres états d'âmes sur le sujet, cliques sur le lien ci-dessous :

Résultats recherche Google

Y a plus qu'à.
Salut,

Pour récupérer des données sur ta page traitement.php envoyées depuis ta page du formulaire, il faut tout d'abord nommer tes champs (input, textarea, select...). Pour cela il faut, et c'est obligatoire, que tu aies un attribut "name" dans chaque balise de saisie.
Exemple :
<label for="nom">Nom :</label>
<input type="text" id="nom" name="nom" autofocus />

"for" fait bien référence à l'"id" de ton champ et name sera la clé du tableau qui contiendra ta valeur.

Ensuite tu récupères la valeur de "nom" sur ta page traitement.php dans ton tableau $_POST comme ceci :
<?php
$nom = htmlspecialchars($_POST['nom']) //nom étant la valeur de l'attribut "name" de ton champ

Tu dois déjà comprendre ça et ensuite tu passeras à l'utilisation des ces variables.

EDIT : je devais écrire en même temps que sepecat, il a raison, suit un tuto pour comprendre ces bases de programmation
Modifié par MatthieuR (26 Mar 2016 - 14:14)
sepecat a écrit :
Il y a une règle d'or en informatique...
Lorsqu'on sèche sur une façon de procéder, on va sur Google ou sur tout autre moteur de recherche de son choix et on tape ceci :

Récupérer données formulaire PHP

C'est simple et ça marche à tous les coups.
Si tu veux une liste de tutoriels, cours, vidéos, pensées profondes et autres états d'âmes sur le sujet, cliques sur le lien ci-dessous :

Résultats recherche Google

Y a plus qu'à.
Ok, merci pour ton info Sepecat.
Mais pour faire Récupérer données formulaire PHP sur Google, il faut savoir que c'est ceci qu'il faut chercher!
Sinon je passe des heures à trouver l'info, alors qu'en demandant ici, c'est fait en 2 minutes!
Je vais me plonger dans le tuto que tu m'as mis.
Merci, à plus.
abeille a écrit :
Ok, merci pour ton info Sepecat.
Mais pour faire Récupérer données formulaire PHP sur Google, il faut savoir que c'est ceci qu'il faut chercher!
Sinon je passe des heures à trouver l'info, alors qu'en demandant ici, c'est fait en 2 minutes!
Je vais me plonger dans le tuto que tu m'as mis.
Merci, à plus.

Là, tu prends le problème à l'envers Smiley smile .
La méthode habituelle est plutôt de faire une recherche sur Google, balayer les tutos qui te sont retournés et venir après, mais après seulement, sur un forum poser les questions, lorsque le problème se révèle plus complexe que prévu.
Je viens de refaire la recherche que je t'ai passée et ce bon Google me retourne "Environ 223 000 résultats", autant dire qu'il y a matière à progresser. Certains tutos te prennent la main de A à Z et t'indiquent comment faire pour créer le formulaire, transmettre les données et valider en retour.
Les quatre mots clés que je t'ai passés n'ont rien de bien compliqué et cela m'étonnerait beaucoup qu'ils soient hors de portée et ne viennent pas à l'esprit immédiatement.
C'est un peu le problème aujourd'hui, ne pas trop se casser la tête et compter sur une bonne âme sur le forum qui fera la réflexion à la place, en espérant qu'il en tombera un bout de code tout cuit prêt à être utilisé.
Durant ma formation initiale, le prof nous renvoyait systématiquement aux bouquins (pas de Google à l'époque...), ce qui avait le don d'en énerver certains mais, in fine, il nous a rendu un fier service en nous obligeant à savoir chercher et ne pas compter sur le collègue de bureau plus ou moins disponible et plus ou moins content de venir nous aider.
Venant pour ma part du notariat, c'était une habitude déjà acquise car lorsque tu bloques sur la rédaction d'un acte et face aux méandres des textes juridiques, je t'assure que tu as vite intérêt à apprendre à te débrouiller et acquérir une autonomie.
Pas sûr qu'aujourd'hui cette autonomie soit de mise, alors qu'en entreprise ce dont on a besoin c'est, justement, de gens qui soient en mesure de chercher, regrouper et intégrer des choses ensemble pour répondre à un besoin précis.
Et je ne parle même pas des freelances pour qui autonomie rime avec survie Smiley cligne
Modifié par sepecat (27 Mar 2016 - 20:40)
Oui c'est vrai Sepecat, tu as totalement raison!
Et je suis un abominable fainéant. Smiley zzzz

Donc je vais suivre tes conseils, puisque pour l'instant, envoyer un Mail en local...c'est pas encore gagné.
Mais je vais y arriver!

Merci pour tes conseils.
Aplus.