Traitement de formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Traitement de formulaire

par Stef » 08 déc. 2008, 11:56

houla, c'est quoi ça les options? j'vais googler le truc...


(en passant: c'est vachement anarchique les notifications de réponse par mail ici! d'abord je n'en ai reçu aucune pendant plusieurs posts, puis ensuite 2 notifications, et enfin plus aucune...)

Edit: bon ok, j'ai lu de la doc sur fopen et les options (r r+ w w+), je ne me sens guère avancé...

par stopher » 08 déc. 2008, 11:15

Là j'avoue ne plus savoir quoi te dire ...

Si tu pointes au bon endroit , que tu as donné tt les droits à tt les utilisateurs sur le fichier concerné ... et que celà ne fonctionne pas ...

Regardes maintenant du coté des options de fopen ...

Exemple :
Note: Pour des raisons de portabilité, il est recommandé de toujours utiliser l'option 'b' lorsque vous ouvrez des fichiers avec fopen().
Essayes de modifier les mode d'ouverture de fopen ...

"a+b " .. ou autre ..

Peut être quelqu'un d'autre a une idée ...

par Stef » 08 déc. 2008, 11:08

Ce test est concluant, au pointe bien au bon endroit...

j'étais désemparé, me voilà en plus dépité! :shock:

par stopher » 08 déc. 2008, 10:46

Tu as donné les pleins pouvoir à tous le monde sur ce fichier ?

Si c'est la cas , vérifies simplement que tu accèdes bien au fichier , peut être que tu ne pointe pas au bon endroit ..

test avec
if( file_exists( "directory/filename" ) ){
   //le fichier existe , le probléme est ailleurs 
}else{
   // le fichier n'existe pas ou ce n'est pas le bon directory
}

par Stef » 08 déc. 2008, 10:41

bon, j'ai essayé ce que tu as dit: modifier les droits et créé un nouveau fichier; et j'ai toujours la même réponse:

"supplied argument is not a valid stream resource"

par stopher » 08 déc. 2008, 10:25

Certainement que les fichiers cree dans ce répertoire héritent des droit du répertoire parent ...

Essayes donc soit de modifier les droits du répertoire parent et recreer un fichier via tes scripts php ...

Soit désactiver cet héritage ( dans les propriétés du dossier ) et encore une fois recréer un nouveau fichier via tes scripts pour tester que celà fonctionne

par Stef » 08 déc. 2008, 10:20

ok, j'ai regardé: en tant qu'utilisateur je n'ai pas droits d'écriture et de modification, en tant qu'admin j'ai tous les droits...

par stopher » 08 déc. 2008, 10:11

Click droit > propriétés > Sécurité

Et tu dois avoir une liste les droits pour chauque utilisateur/groupe dans les case à cocher en dessous

par Stef » 08 déc. 2008, 10:07

arf c'est ce que j'aimerais savoir... comme je t'ai dit je ne sais pas du tout manipuler ces choses

voilà le script de création des fichiers html:

gen.php
echo '<h3>Créer une nouvelle fiche produit</h3>';
//Si la formulaire n'est pas envoyé, on l'affiche
if (!isset($_POST['form'])) {
echo "<form action=\"gen.php\" method=\"POST\">
Nom de la fiche : <input type=\"text\" name=\"filename\" value=\"exemple.html\"> <br>
Contenu :<br><textarea id=\"elm1\" cols=\"90\" rows=\"4\" name=\"contenu\">
</textarea><br><br>
<input type=\"hidden\" name=\"form\" value=\"1\">
<input type=\"submit\" value=\"Envoyer\">";
} else {
// Création du fichier
$fichier = fopen($_POST['filename'],"w");
// Vérification de l'écriture
if (fwrite($fichier,$_POST['contenu'])) {
echo "<b>Le fichier à été créé avec succès!</b> <br /><a href=\"gen.php\">Retourner à la page précédente</a>";
} else {
// Erreur
echo "Impossible de créer le fichier";
}
fclose($fichier);
}

par stopher » 08 déc. 2008, 10:01

Dans ce cas , si ton fichier a entiérement été créé par ton script ,

quels sont les droits qui lui sont attribué ? et , à qui appartient il ?

par Stef » 08 déc. 2008, 09:52

non non, ils sont pas copier coller, mais créer à partir d'un autre formulaire... l'admin doit donc pouvoir les éditer au besoin (c'est des potes à moi qui montent une boite de ballades en vtt et je leur fais leur site; je leur ai créer une admin avec un formulaire pour qu'ils puissent créer leurs fiches (de ballades (produits)) en ligne... lesquelles fiches seront listées sur une page du site pour être consultées par les visitors, il faut donc qu'ils puissent les modifier si nécessaire!).

par stopher » 08 déc. 2008, 09:32

Effectivement ,

Sous windows ces commandes ne sont pas les mêmes ...
Donnes leurs tous les droits pour tester ton code , ensuite , tu affineras ...

Mais ces fichiers, ce sont des fichiers que tu as copié coller dans le répertoire de ton serveur ...

Car normalement, si c'est ton script PHP qui crée ces fichiers , tu ne devrais avoir aucun mal à les modifier par la suite ...

par Stef » 08 déc. 2008, 09:01

sous windows... et je l'ai pas encore testé sur le serveur de l'hébergeur, pour l'instant je suis en local (j'espère ne pas avoir trop de difficulté une fois mis en ligne).

j'ai essayer d'utiliser linux pour php, mais j'ai trop galéré, je suis donc retourné sous windows...

j'ai édité mon précédent post pour ajouter cette question, je ne sais ni si elle judicieuse ni si elle est pertinente:

je n'ai aucune idée de comment faire ces manips: chmod et chown... je ne pourrais pas plutôt donner les droits en écriture lorsque le fichier est initialement créer (dans un autre formulaire) afin de pouvoir l'éditer par la suite sans avoir ce problème?

par stopher » 08 déc. 2008, 08:58

Ton serveur est sous linux ou windows ?

par Stef » 08 déc. 2008, 08:55

Bon... ben me voilà bien désemparé! :shock: je n'ai aucune idée de comment faire ces manips: chmod et chown... je ne pourrais pas plutôt donner les droits en écriture lorsque le fichier est initialement créer (dans un autre formulaire) afin de pouvoir l'éditer par la suite sans avoir ce problème?

En tous cas un grand merci à toi stopher!!