Pages : 1
#1 Le 02/01/2008, à 22:23
- environ314
[Résolu] formulaire simple en php
Bonjour,
Je n'ai pas le même comportement sur free et sur un serveur hébergé avec Ubuntu.
Voyez et comparer :
Résultat souhaité : http://wild.cse.free.fr/test/compte.php
Résultat obtenu : http://environ314.net/club/outils/compte.php
Contenu de la page compte.php :
<HTML>
<HEAD>
<TITLE>Outils... </TITLE>
</HEAD>
<BODY>
<h1>Comptage des mots d'un texte.</h1>
<p></p>
<p></p>
<p>
Vous avez ici la possibilité de compté le nombre de fois qu'apparait chaque lettre
</p>
<?
function questionnaire(){
?>
<form Method=POST Name="Formulaire" action="compte.php" <? // echo "../..".$_SERVER['PHP_SELF'];
?>">
<h2>Entrez ici le texte</h2>
<p>
<textarea name="textebrut" Rows="4" Cols="70"> </textarea></p>
</p>
<p> </p>
<p>
<input type="submit" name="soumettre" value="Envoyer">
<input type="reset" value="Effacer">
</p>
</form>
<p></p>
<?
} //fin de la fonction soumettre()
//programme principal
if(!$soumettre):
questionnaire();
else:
//requete :
$dat = "$textebrut".chr(27);
$fp=fopen("requetes.txt","a+"); // variable fp vaut ouverture de fichier en lecture
fseek($fp,0); // mise du curseur au début du fichier ouvert
fputs($fp,$dat); // écriture de la variable date dans le fichier ouvert
fclose($fp); // fermeture du fichier ouvert
?>
<font color="#CC0000"><strong>Merci pour votre participation !<br>Les occurences sont les suivantes :<br>
</strong></font>
<?
endif;
?>
</p>
</BODY>
</HTML>
En plus, j'ai du bricolé un
<form Method=POST Name="Formulaire" action="compte.php" <? // echo "../..".$_SERVER['PHP_SELF'];
car le code suivant ne fonctionnait pas :
<form Method=POST Name="Formulaire" action="<? echo $PHP_SELF ?>">
Des idées pour expliquer cette différence de comportement ?
Merci !
Dernière modification par environ314 (Le 02/01/2008, à 23:43)
Hors ligne
#2 Le 02/01/2008, à 22:28
- niceboy
Re : [Résolu] formulaire simple en php
Bonjour,
J'ai consulté les deux pages mais pas de différence entre les deux.
Peux tu nous montrer o๠se trouve la différence?
A+.
Solidarité, Coopération, nIceb0y
Hors ligne
#3 Le 02/01/2008, à 22:29
- environ314
Re : [Résolu] formulaire simple en php
si tu mets un texte et que tu valides, une fois tu as un message en rouge, et l'autre fois tu as à nouveau le formulaire
Hors ligne
#4 Le 02/01/2008, à 22:34
- niceboy
Re : [Résolu] formulaire simple en php
Oui tu as raison, je viens de revoir. Est ce que t'as pu vérifier le log du serveur?
Solidarité, Coopération, nIceb0y
Hors ligne
#5 Le 02/01/2008, à 22:45
- environ314
Re : [Résolu] formulaire simple en php
je n'y vois rien de spécial. Peut-être que je cherche mal ?
Hors ligne
#6 Le 02/01/2008, à 22:54
- niceboy
Re : [Résolu] formulaire simple en php
Je ne sais pas si tu travailles sur un serveur local ou distant mais je crains fort que dans le deuxieme cas tu n'as pas les droits nécessaires pour écrire un fichier sur le serveur, alors il faut s'assurer de ce point des permissions.
J'attends..
Solidarité, Coopération, nIceb0y
Hors ligne
#7 Le 02/01/2008, à 22:58
- environ314
Re : [Résolu] formulaire simple en php
c'est local, pas de pb de droits (droits en écriture sur le dossier et le fichier)
Hors ligne
#8 Le 02/01/2008, à 23:03
- niceboy
Re : [Résolu] formulaire simple en php
Ben dans ce cas le problème vient essentiellement de la soumission des données avec POST (ça entre tjrs ds if), essaye de s'assurer que le POST passe bien.
Solidarité, Coopération, nIceb0y
Hors ligne
#9 Le 02/01/2008, à 23:04
- environ314
Re : [Résolu] formulaire simple en php
c'est-à -dire ?
le fichier log ne contient pas d'erreurs, et le fichier chez free et chez moi est le même !
Hors ligne
#10 Le 02/01/2008, à 23:07
- Halike
Re : [Résolu] formulaire simple en php
Bonsoir,
il faut peut-être voir du cote de register global.
Sinon, sans vouloir être méchant (je ne suis pas un expert, loin de la), ton code n'est pas tres "joli", on dirait du copié/collé d'un truc qui date un peu.
C'est quoi ton objectif ?
Hors ligne
#11 Le 02/01/2008, à 23:10
- environ314
Re : [Résolu] formulaire simple en php
oui, tu as raison, je recycle un vieux formulaire
Je veux simplement transmettre un texte depuis une page internet, le traiter, et redonner à l'utilisateur le nombre d'apparition de chacune des lettres de l'alphabet dans le texte donné.
Il faut donc que je récupère déjà un champs texte !
Toutes suggestions bienvenues
Hors ligne
#12 Le 02/01/2008, à 23:13
- niceboy
Re : [Résolu] formulaire simple en php
wé Halike, t'as raison si les registres globaux ne sont pas actifs il faut utiliser $_POST['textebrute'] à la place de $textebrute.
Solidarité, Coopération, nIceb0y
Hors ligne
#13 Le 02/01/2008, à 23:19
- environ314
Re : [Résolu] formulaire simple en php
j'ai mis
} //fin de la fonction soumettre()
//programme principal
if(!$_POST[$soumettre]):
questionnaire();
else:
//requete :
$dat = "$_POST[$textebrut]".chr(27);
sans plus de succès...
Hors ligne
#14 Le 02/01/2008, à 23:22
- niceboy
Re : [Résolu] formulaire simple en php
A revoir,
} //fin de la fonction soumettre()
//programme principal
if(!$_POST['soumettre']):
questionnaire();
else:
//requete :
$dat = $_POST['textebrut'].chr(27);
Solidarité, Coopération, nIceb0y
Hors ligne
#15 Le 02/01/2008, à 23:24
- environ314
Re : [Résolu] formulaire simple en php
pas d'effet
Hors ligne
#16 Le 02/01/2008, à 23:28
- Halike
Re : [Résolu] formulaire simple en php
Je ne connaissais pas cette syntaxe pour if: else: endif;
Personelelment, j'utilise celle ci:
if (condition)
{
///instructions
}
else
{
//instructions
}
Je ne sais pas si ca changerait grand chose...
Hors ligne
#17 Le 02/01/2008, à 23:32
- environ314
Re : [Résolu] formulaire simple en php
Non, pas de changement
Hors ligne
#18 Le 02/01/2008, à 23:33
- niceboy
Re : [Résolu] formulaire simple en php
A revoir,
//programme principal
if(!isset($_POST):
questionnaire();
else:
//requete :
$dat = $_POST['textebrut'].chr(27);
ou à l'aide de la fonction empty comme suit:
if(!empty($_POST):
questionnaire();
else:
//requete :
$dat = $_POST['textebrut'].chr(27);
Dernière modification par niceboy (Le 02/01/2008, à 23:36)
Solidarité, Coopération, nIceb0y
Hors ligne
#19 Le 02/01/2008, à 23:37
- environ314
Re : [Résolu] formulaire simple en php
Merci tous les deux.
On y est finalement arrivé :
if(!isset($_POST['soumettre'])){
Reste le truc affreux pour dire 'la même page' :
<? // echo "../..".$_SERVER['PHP_SELF'];
Hors ligne
#20 Le 02/01/2008, à 23:38
- Halike
Re : [Résolu] formulaire simple en php
Il sert a quoi ce "truc affreux" ?
J'avoue que je ne comprends pas trop l'interet...
Hors ligne
#21 Le 02/01/2008, à 23:43
- environ314
Re : [Résolu] formulaire simple en php
juste à indiquer que la page réponse est la même que la page du formulaire... J'avais au départ $_SERVER['PHP_SELF'] qui, je pensais, ne fonctionnait pas. Mais en fait c'est ok.
Merci bien !
Hors ligne
#22 Le 02/01/2008, à 23:48
- Halike
Re : [Résolu] formulaire simple en php
Je me disais aussi, ca devrait fonctionner comme ca.
Par contre, le code est toujours pas très "joli".
Si je peux te donner un conseil, c'est de revoir un peu les bases.
Le site du zero (ce n'est pas une insulte, c'est vraiment le nom du site ) est reconnu pour etre une bonne base de départ, pour l'apprentissage du html et du php par exemple.
Aujourd'hui, en html, les balises sont en minuscule (html,body,title, ...). D'autre part, l'utilisation de la balise font est vraiment dépréciée, au proift d'une séparation du contenu et de la présentation, a l'aide notament des css.
Tout cela est passé en revue sur le site du zero.
Bonne nuit en tout cas
Hors ligne