Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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>&nbsp; </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 smile

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 smile

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 wink ) 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 wink

Hors ligne