Kommunauty
Connexion
Inscription

Problème d’ajout d'un commentaire dans un article


Warranty Messages : 389

Salut à tous !

Je vient de remarquer que j'ai un problème pour ajouté un commentaire sur un article. En local cela fonctionne parfaitement mais sur mon hébergeur je vient de m'apercevoir qu'il mais impossible dans ajouter.

Si vous voulez j'ai fait une condition si une personne accède directement à la page http://domaine.com/comment/ il obtiens le message suivant "Vous ne pouvez pas accéder à cette page directement"

Voici mon formulaire pour envoyer le commentaire

<form action="<?php echo get_option('site_path'); if (get_option('pretty_permalinks')) echo 'comment/'; else echo '?action=comment'; ?>" method="post">
<p><label for="name">Pseudo:</label>
<input type="text" name="name" id="name"<?php field_value('name'); ?> /></p>

<p><label for="email">Email:</label>
<input type="text" name="email" id="email"<?php field_value('email'); ?> /></p>

<p><label for="website">Website:</label>
<input type="text" name="website" id="website"<?php field_value('website'); ?> /></p>

<p><label for="comment">Commentaire:</label>
<textarea name="comment" id="comment" rows="6" cols="60"></textarea></p>
<p>
<?php required_fields($post); ?>
<input type="submit" name="submit" class="button" value="Envoyer" />
</p>
</form>

Est voici ma condition:

if ($_SERVER['REQUEST_METHOD'] != 'POST') exit('Vous ne pouvez pas accédé à cette page directement.');

$c = get_post_data();
$status = 1;
$c['agent'] = get_global($_SERVER, 'HTTP_USER_AGENT');
$c['ip'] = get_global($_SERVER, 'REMOTE_ADDR');

if (empty($c['post_id'])) error('Vous ne pouvez pas accédé à cette page directement.');
else $c['post_id'] = (int)$c['post_id'];

Si vous avez besoin d'autre chose demandé moi

Merci de votre aide

dimanche 15 juillet 2012

SiMax Messages : 7572

Essaye dans ta condition de vérifier ce que retourne $_SERVER['REQUEST_METHOD'].

Transforme ta première ligne en :

if ($_SERVER['REQUEST_METHOD'] != 'POST') { echo $_SERVER['REQUEST_METHOD']; exit; }

Dis moi ce que ça affiche

dimanche 15 juillet 2012 (Dernière édition dimanche 15 juillet 2012)

Warranty Messages : 389

Salut SiMax !

Il me retourne "GET"

dimanche 15 juillet 2012

SiMax Messages : 7572

C'est sûrement parce que tu utilises "?action=comment" dans ton chemin d'accès. Donc ton script considère qu'il y a du GET. Tu dois prendre en compte cette éventualité dans ta vérif :

if (($_SERVER['REQUEST_METHOD'] != 'POST') && (!isset($_GET["action"]))) exit('Vous ne pouvez pas accédé à cette page directement.');

Là, si ce n'est ni du post pur ni du GET, ça bloquera normalement.

dimanche 15 juillet 2012

Warranty Messages : 389

Il me retourne le message "Vous ne pouvez pas accédé à cette page directement."

Ce que je comprend pas c'est que ça fonctionne parfaitement en local

dimanche 15 juillet 2012

SiMax Messages : 7572

Plus simple, essaye :

if(!isset($_POST["submit"])) { exit('Vous ne pouvez pas accéder à cette page directement.'); }
dimanche 15 juillet 2012

Warranty Messages : 389

Pareil rien ne change. J'ai passé pratiquement tout ma journée pour essayé de résoudre le problème mais impossible, je ne comprend plus rien

Je pense que je vais devoir changé le traitement des commentaires.

dimanche 15 juillet 2012

SiMax Messages : 7572

Et tu es sûr que l'erreur vient du premier test ? Numérote les 2 erreurs pour pouvoir déterminer de laquelle il s'agit.

dimanche 15 juillet 2012

Warranty Messages : 389

C'est bien le premier test qui merde "Vous ne pouvez pas accéder à cette page directement n°1."

dimanche 15 juillet 2012

Warranty Messages : 389

Il y a pas une possibilité que le problème vient du .htaccess ?

dimanche 15 juillet 2012 (Dernière édition dimanche 15 juillet 2012)

Page suivante »