[RESOLU] Données gardées dans le formulaire.

Eléphant du PHP | 290 Messages

12 mars 2014, 18:35

Bonjour,

Je construis un formulaire de saisies en mettant dans chaque champs pour value:

value="<?php echo htmlentities(@$_POST['champs1']) ?>"
value="<?php echo htmlentities(@$_POST['champs2']) ?>"
value="<?php echo htmlentities(@$_POST['champs3']) ?>"
...
le but étant bien sûr de laisser telles quelles les données saisies dans le formulaire
suite à validation au cas où un utilisateur, pour une raison ou pour une autre, devait
revenir sur la feuille de saisie pour reprendre ce qui a été saisi (je veux lui
éviter d'avoir à tout ressaisir).
En local, le navigateur affiche la page avec dans chaque champs mon code
écrit en texte littéral (le visiteur voit donc dans un champs <?php echo htmlentities(@$_POST['champs1']) ?>
on dirait que le navigateur n'a pas conscience que c'est du code php et non du texte littéral.
J'ai pourtant bien pensé à changer l'extension de mon fichier en .html en .php
Le navigateur a donc bien l'information qu'il s'agit d'une page php.

Je ne comprends pas ce qu'il se passe. #-o

Mammouth du PHP | 504 Messages

12 mars 2014, 19:08

Hello,

Tu es en local, n'est ce pas? as tu installer apache ou wamp, mamp ?

Si tu executes du php dans un environnement sans php, effectivement ça ne pas fonctionner.

Eléphant du PHP | 290 Messages

12 mars 2014, 20:01

Oui, WAMPP est installé et marche très bien.
Je suis en train de créer une table sur phpmyadmin en local
et mon script php n'est pas encore construit.

Mais ça n'explique pas qu'il y a du code <?php ... ?> affiché comme du texte littéral dans mes champs.
Bien sûr ça ne devrait pas encore marcher mais il devrait rien y avoir dans mes champs.
Le navigateur devrait reconnaître que c'est du code php (dejà avec l'extension .php puis avec <?php ... ?>),
même s'il n'arrive pas à le lire, et non l'interpréter comme du html.

ViPHP
xTG
ViPHP | 7331 Messages

12 mars 2014, 20:34

Accèdes-tu à ce script via l'url du serveur local ?
http://localhost/tonscript
ou bien
http://127.0.0.1/tonscript

Eléphant du PHP | 290 Messages

13 mars 2014, 09:58

Non, je n'y accède pas.

WAMPP marche bien, j'accède par exemple à http://localhost/phpmyadmin (d'où je suis en train de créer une table)
ou même plus simplement à http://localhost/ mais en admettant que mon script s'appelle monscript.php
si je tape http://localhost/monscript.php je tombe sur error 404 Objet non trouvé!

ViPHP
xTG
ViPHP | 7331 Messages

13 mars 2014, 13:05

Ton script se trouve-t-il bien dans le dossier www de WAMPP ?
Seules l'arborescence à partir de ce dossier est accessible par le serveur.

Eléphant du PHP | 290 Messages

17 mars 2014, 16:45

J'ai créé une table sur phpmyadmin en local et j'ai créé mon script de traitement de formulaire
avant de revenir à ce problème.

Tu me dis que seule l'arborescence à partir du répertoire WAMPP est accessible par le serveur.
Si je comprends bien, ça veut dire que tous les développeurs qui travaillent en local sur un site
avec du code côté serveur ont tous créé le dossier racine de leur site dans le repertoire WAMPP?
(car je suppose qu'ils mettent toutes les pages de leur site dans un même dossier)

Eléphanteau du PHP | 13 Messages

17 mars 2014, 17:28

Bonsoir,

Le dossier contenant ton script doit se trouver à la racine du dossier WWW si tu utilises WAMP.
Ensuite, tu dois y accéder de cette manière http://localhost/dossier/script.php

Si tu tentes d'accéder à ton script d'une autre manière (comme par exemple C:\wamp\www) cela ne fonctionnera pas.

ViPHP
xTG
ViPHP | 7331 Messages

17 mars 2014, 17:29

Euh non, une entreprise n'utilise pas un système aussi limité mais monte sa propre infrastructure Apache/PHP.
WAMP n'est pas fait à la base pour servir de serveur final, mais juste comme serveur de développement pour un développeur.
(bon après on peut le configurer différemment en touchant à Apache et autre)

Si tu prends le parallèle avec un hébergeur il te fournira un accès FTP sur un dossier www qui est en fait plutôt de ce genre : www/dossier_du_client_X/www
Et tu n'auras accès avec ce compte ftp qu'au dernier dossier.
De ce fait chaque client a accès à un dossier www (sous-dossier du principal) mais ne pourra pas accéder à ceux des autres (gestion des droits sur les dossiers).

Si nous revenons à ton serveur local : il faut que ton/tes site(s) se trouvent dans le dossier www de WAMP pour être interprété par le serveur.
Ou bien changer la configuration du serveur pour lui dire qu'en fait le dossier www se trouve ailleurs sur le disque dur.

Eléphant du PHP | 290 Messages

17 mars 2014, 19:56

J'ai deux dossiers WWW (les trois lettres en majuscules) sur mon disque dur qui contiennent

pour l'un:

1 répertoire Mechanize
(qui contient les 5 fichiers: Cookbook.pod Examples.pod FAQ.pod Image.pm et Link.pm)
1 répertoire RobotRules
(qui contient le fichier AnyDBM_pm)
1 fichier Mechanize.pm
1 fichier RobotRules.pm

pour l'autre:

1 répertoire Mechanize
(qui contient les 2 fichiers: .packlist et NOTEMPTY)
1 répertoire RobotRules
(qui contient aussi 2 fichiers: .packlist et NOTEMPTY)

Ca ne marche ni dans l'un ni dans l'autre (je parle bien de la racine du dossier WWW dans les deux cas).

A savoir, mon arborescence commence toujours ainsi: C:\ -> xampp

ViPHP
xTG
ViPHP | 7331 Messages

17 mars 2014, 21:59

WAMP ou XAMP ? Ce sont deux logiciels différents.
Si c'est WAMP que tu lances mais que tu as mis ton projet dans le dossier de XAMP cela ne risque pas de fonctionner.

Eléphant du PHP | 290 Messages

17 mars 2014, 22:55

XAMPP, avec un x au début et deux p à la fin.
Je me suis mélangé les pinceaux avec tous ces noms.

Pour ce qui est de ma question ça change beaucoup de choses?

ViPHP
xTG
ViPHP | 7331 Messages

18 mars 2014, 10:46

Non le principe reste le même que WAMP.
Tu as un dossier www (ou peut être nommé htdocs sous XAMPP) qui sert de racine au serveur web.

Tu retrouveras le dossier utilisé dans le fichier httpd.conf qui renseigne la variable "DocumentRoot".
DocumentRoot est la définition de la racine du serveur.

Eléphant du PHP | 290 Messages

18 mars 2014, 11:22

Oui alors ça, dans mes recherches hier j'ai effectivement trouvé.
J'ai un dossier httpd.conf avec à l'intérieur deux lignes
qui commencent par DocumentRoot.
C'est le nom de mon répertoire racine.

Il faut que je fasse quoi au juste?
Que je change ce nom?
Est-ce que je dois aussi faire autre chose?
Est-ce que je dois aussi faire quelque chose dans le fichier config.inc.php?

ViPHP
xTG
ViPHP | 7331 Messages

18 mars 2014, 21:44

Non, c'était simplement un moyen de vérifier que tu regardais bien le bon dossier.