Où dois-je placer mes fichiers

Petit nouveau ! | 9 Messages

16 juil. 2007, 09:32

Bonjour à tous

Débutant en PHP, j'utilise Zend Studio, et ayant acheté un livre, au fur et à mesure des chapitres je récupère les exemples et les teste en pas à pas.

EasyPhp 1.8 est installé et semble fonctionner

Voici mon problème.

J'ai un fichier Saisie.htm dans lequel j'ai entre autre les ligne suivante:
........
<form action="Traitement.php" method="POST">
.......
<input type="submit" name="OK" value="OK">
........

D'autre part , j'ai un fichier PHP nommé Traitement.php
Or le fait de cliquer sur le bouton submit ne provoque rien et ne lance pas mon fichier PHP.
Les deux fichiers sont dans le même répertoire sur mon disque dur.

Question : Où dois-je mettre mes fichiers pour que cela fonctionne

Merci de votre réponse

Claude Azoulai
Bientôt 74 ans et j'ai toujours soif d'apprendre

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 09:41

bonjour,

comme tu as mis dans ton fichier html

Code : Tout sélectionner

<form action="Traitement.php" method="POST">
avec dans le champ action seulement le nom du fichier et pas le chemin, le fichier Traitement.php doit se trouver dans le même répertoire que le fichier saisie.html.

Le problème ne semble pas venir de là.

La balise <form> est elle bien fermée? (</form>)

sinon tu pourrais donner le code de saisie.html ?

Petit nouveau ! | 7 Messages

16 juil. 2007, 10:04

Bonjour,

En effet, soit les fichiers doivent être dans le même répertoire, soit il faut donner sur ta ligne "form action="" le chemin complet vers le fichier de traitement.

Cependant, es-tu sûr de ne pas avoir un soucis au niveau des noms avec les majuscules ? Tente de nommer tous tes fichiers uniquement en minuscule (nom du fichier et dans ton script).
Deuxièmement, as-tu bien terminer ton formulaire par </form> ?

Si le problème ne vient pas de là, poste nous ton code complet.

@+

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 10:07

Bonjour,

Cependant, es-tu sûr de ne pas avoir un soucis au niveau des noms avec les majuscules ? Tente de nommer tous tes fichiers uniquement en minuscule (nom du fichier et dans ton script).
Ca ne doit pas venir de ça sinon à la validation du formulaire, il devrait avoir une erreur 404 "page introuvable".

Petit nouveau ! | 9 Messages

16 juil. 2007, 10:42

Merci de vos réponses

J'ai renommé Traitement.php en traitement.php
J'ai mis le chemin complet dans action de la form
Mais ça ne fonctionne toujours pas
Voici dans leur intégralité les trois fichiers concernés.
Merci de votre sollicitude à vous tous
Claude Azoulai

Fichier Exercice 7A_2.html
-----------------------

Code : Tout sélectionner

<html> <head><title>Saisie</title></head> <body> <form action="E:/Exercices PHP 5/Chapitre 7/traitement.php" method="POST"> Nom: <input type="text" name="nom" value="" size="20" maxlength="20"> Mot de passe : <input type="password" name="mot_de_passe" value="" size="20" maxlength="20"> <BR> Sexe : <input type="radio" name="sexe" value="M"> Masculin <input type="radio" name="sexe" value="F"> Féminin <input type="radio" name="sexe" value="?" checked> Ne sait pas <BR> Photo : <input type="file" name="photo" value="" size="50"> <BR> Couleurs préférées : <input type="checkbox" name="bleu"> Bleu <input type="checkbox" name="blanc"> Blanc <input type="checkbox" name="rouge"> Rouge <input type="checkbox" name="nesaitpas" checked> Ne sait pas <BR> Langue : <select name="langue"> <option value="E"> Espagnol <option selected value="F"> Français <option value="I"> Italien </select> <BR>Fruits préférés :<BR> <select name="fruits" multiple size="8"> <option value="A"> Abricots <option value="C"> Cerises <option value="F"> Fraises <option value="P"> Pêches <option selected value="?"> Ne sait pas </select> <BR>Commentaire :<BR> <textarea name="commentaire" rows="4" cols="50"></textarea> <BR> <input type="hidden" name="invisible" value="123"><BR> <input type="submit" name="OK" value="OK"> <input type="image" name="valider" src="valider.gif" width="23" height="34"> <input type="reset" name="effacer" value="Effacer"> <input type="button" name="action" value="Ne fait rien"> </form> </body> </html>
Fichier traitement.php
-----------------------------
<?php
// Inclusion d'un fichier contenant des fonctions génériques
// (dont la fonction Afficher_tableau dans le chapitre 6)
include("E:/Exercices PHP 5/Chapitre 7/Fonctions.inc");
Afficher_tableau($_POST,"\$_POST :");
?>
Fichier Fonction.inc
-----------------------------
<?php
function Afficher_tableau($tableau,$titre = "",$niveau = 0){
	// Parmètres
	// - $tableau = tableau dont il faut afficher la contenu
	// - $titre = titre à afficher au dessus du contenu
	// - $niveau = niveau d'affichage
	// S'il y a un titre, l'afficher
	if ($titre != "") {
		echo "<P><B>$titre</B><BR>\n";
	}
	// Tester s'il y a des données
	if (isset($tableau)) { // Il y a des données
		// Parcourir le tablau passé en paramètre
		reset($tableau);
		while (list($clef,$valeur) = each($tableau)) {
			// Afficher la clef (avec indentation en fonction du niveau)
			echo str_pad("",12*$niveau, "&nbsp;"),
			htmlentities($clef)," = ";
			// Afficher la valeur
			if (is_array($valeur)) { // C'est un tableau
				// Mettre une balise <BR>
				echo "<BR>";
				// et appeler récursivement Afficher_tableau pour
				// afficher le tableau en question (sans titre et
				// au niveau supérieur pour l'indentation
				Afficher_tableau($valeur,"",$niveau+1);
			}else{ // C'est une valeur scalaire
				// Afficher la valeur
				echo htmlentities($valeur),"<BR>";
			}
		}
	}else{ // Pas de données
		// Mettre une simple balise <BR>
		echo "<BR>";
	}
}
?>
Bientôt 74 ans et j'ai toujours soif d'apprendre

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 10:55

Il ne se passe vraiment rien quand tu clique sur le bouton submit ou il y a une page "impossible d'ouvrir la page" ?
PArce que j'ai copié le code du fichier saisie.htm et en appuyant sur le bouton ok le formulaire est envoié.

Mammouth du PHP | 991 Messages

16 juil. 2007, 11:05

Claude Azoulai pense aux balise
 et [code] pour mettre ton code ces balise sont disponible en dessous du sujet , la balise [php] pour le php et [code] pour tous les autres langage 

Pour un souci de présentation et de debuggage plus simple pense a indenter ton code ( aligner les if qui vont en ensemble le rendre plus visible (aussi pense a commenter c'est toujours pmlus pratique) )

Mais le sujet n'est pas ca ....

Question idiote certainement , as tu placer tes fichiers dans le repertoire www de easyphp et utilise tu l adresse http://127.0.0.1/saisie.html (ou assimilé)

@+ thehawk
DevOps, Symfony4, Hoa

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 juil. 2007, 12:58

Modération :
Claude Azoulai, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

PS : the_hawk, préfère nous informer de ce genre d'erreur plutôt que le dire toi même
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 991 Messages

16 juil. 2007, 13:07

@zeus , on fait comment pour vous prevenir ? par mp ?
DevOps, Symfony4, Hoa

Petit nouveau ! | 9 Messages

16 juil. 2007, 13:54

Merci à thehawk (et aux autres)

Non, ta question n'est pas idiote, les fichiers sont dans un dossier quelconque.
Je vais m'empresser de suivre tes conseils et je vous tiens au courant.

Voila
J'ai retrouvé le dossier correspondant au web local :
Mes documents\Fichiers PHP\ dont l'adresse internet est http//127.0.0.1.
(j'ai du changer le dossier par défaut (qui n'est plus www), mais je suis incapable de retrouver où)

J'y ai donc mis mes trois fichiers et CA FONCTIONNE.
Encore deux détails
1 - ça fonctionne pas sous firevox (message d'erreur) mais ça fonctionne avec IE7.
2 - je ne peux pas suivre le fonctionnement (pas à pas) avec Zend Studio


Claude Azoulai
Bientôt 74 ans et j'ai toujours soif d'apprendre

Mammouth du PHP | 991 Messages

16 juil. 2007, 18:12

Un petit conseil enleve de ton vocabulaire (en tout cas sur phpfrance ) les ca marche , i y a une erreur ou tout assimilé pour les remplacer par ton probleme et ton erreur , il est plus facile de debug une erreur que tu nous expose que de la deviner :wink:

Que veut tu dire pas fonctionnement pas a pas avec Zend ? moi j 'utilise depuis zend et je n ai aucun souci
DevOps, Symfony4, Hoa

Petit nouveau ! | 9 Messages

17 juil. 2007, 08:01

Bonjour thehawk

Voici mon problème avec l'utilisation de Zend Studio.
Je lance Zend Studio avec dans l'éditeur les trois fichiers concernés soit :
Saisie.html, traitement.php, Fonction.inc
Je met un point d'arrêt sur la ligne Afficher_tableau($_POST,"\$_POST :"); du programme traitement.php
là où il doit forcément passer.
Je vais dans mon répertoire Web local et lance Saisie.html.
Je saisi des éléments dans ce formulaire et clique sur le bouton submit
J'obtiens bien le résultat prévu mais sans que le programme traitement.php ne s'arrête sur mon point d'arrêt
pour pouvoir examiner mes variables et suivre le fonctionnement en pas à pas.
Je ne procède peut-être pas comme il faut, si tu procède d'une autre manière, je serais ravi que tu me dise comment tu fais.
En tous les cas, je te remercie pour l'aide que tu m'as apportée.

Claude Azoulai
Bientôt 74 ans et j'ai toujours soif d'apprendre

Mammouth du PHP | 991 Messages

17 juil. 2007, 08:46

N'étant pas un grand adepte des points d'arrêt , il sont néanmoins valable qu'a l'interieur du programme ... Je m'explique tu as un debuggeur integrer (a droite de l'espace de travail) et en cliquant sur la petite fleche verte (debugger) Zend va analyser ton code est ressortir les message d erreur et c'est la qu'il va s arreter sur ton point d arret

Mais une fois sortit du logiciel les points d arret de sont viables
DevOps, Symfony4, Hoa

Petit nouveau ! | 9 Messages

17 juil. 2007, 09:11

Merci de tes explications que je connais modestement.
Ayant quelques années de développement en Visual Basic j'ai une certaine expérience dans l'utilisation d'un SDI.
Pour moi, le travail avec des points d'arrêt est très important, même si le code est correct, il permet entre autres d'examiner les valeurs des variables en cours de traitement.
Je suis donc déçu que Zend Studio ne semble pas le permettre dans ce cas de figure.
Merci à toi
Claude Azoulai
Bientôt 74 ans et j'ai toujours soif d'apprendre