Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 03-12-2008 16:47:16

Firekans
Membre

Erreur ligne CaptchaGuest 1.1.0

Bonjour

EN fait j'ai poste sur le sujet du mod mais c'est mort.... siffle
c'est le mod CaptchaGuest 1.1.0

le problème est le suivant :

Parse error: syntax error, unexpected '}' in /www/firekans/forum/CaptchaGuest.php on line 27

Pourtant j'ai recommencer plusieurs fois et toujours même problème
a cet ligne ce trouve un commentaire....

merci d'avance

Hors ligne

#2 03-12-2008 16:54:24

mangafan
Membre

Re : Erreur ligne CaptchaGuest 1.1.0

C'est à dire que sans voir le code, on peut pas deviner. La divination et le php, c'est pas compatible.

Si tu nous mettais au moins les 5 lignes avant et après l'erreur. Ou mieux que tu nous mettais le fichier au format txt quelque part pour qu'on regarde vite fait.

Tu aurais déjà la solution. En tous cas vu l'erreur c'est une boulette humaine.


:canon: Mangafan : Mettez un chat dans votre processeur ! happy

Hors ligne

#3 03-12-2008 16:58:51

Firekans
Membre

Re : Erreur ligne CaptchaGuest 1.1.0

wink;) voici le code complet

Code trop long supprimé

Hors ligne

#4 03-12-2008 19:42:28

mangafan
Membre

Re : Erreur ligne CaptchaGuest 1.1.0

Alors là happy

Y a surement autre chose en tout cas j'ai pas vu d'erreurs, recréais ton fichiers à partir d'un fichier vide voir si tu n'as pas un encodage qui a capoté.


:canon: Mangafan : Mettez un chat dans votre processeur ! happy

Hors ligne

#5 04-12-2008 14:03:04

mangafan
Membre

Re : Erreur ligne CaptchaGuest 1.1.0

En effet j'avais pas vu le include coincé entre les commentaires.


:canon: Mangafan : Mettez un chat dans votre processeur ! happy

Hors ligne

#6 04-12-2008 19:20:24

Firekans
Membre

Re : Erreur ligne CaptchaGuest 1.1.0

honte a moi je l'avais remarqué mais j'etais a l'ecole
voici captchaguest.php

<?php
/******************************* CaptchaGuest ************************************/
/* Solution de securite pour limiter l'acces des robots spameurs */
/* Base sur une proposition de vin100 sur le forum PunBbFr */
/* voir : <http://www.punbb.fr/forums/viewtopic.php?pid=30840> */
/* Evolution grace a une contribution de BertrandB des forums PunBbFr */
/* Realisation : FredoMkb (c) 2007 */
/********************************************************************************/
/* Ce fichier contient toutes les fonctions d'analyse et de traitement du Captcha */
/* Placez ce fichier au meme niveau que le fichier Php nomme "post.php" */
/* de votre forum PunBb. */
/********************************************************************************/

/* Inclusion des valeurs et options */
include('CaptchaGuestValeurs.php');

// Pour choisir une liste de questions perticuliere, indiquez son numero
// dans la variable $theListNro.
// Les listes de questions disponibles par defaut sont :
// 0 (zero) = liste des calculs arithmetiques au format numerique (20 questions)
// 1 = liste des calculs arithmetiques au format textuel (20 questions)
// 2 = liste des questions avec des choix de reponse (10 questions)
// 3 = liste des questions de culture generale francaise (10 questions)
// Indiquez un nombre negatif pour choisir la liste de maniere aleatoire
$theListNro = -1; // -1 = choix aleatoire
session_start(); // On lance une session
if (isset($_SESSION['Captcha_List'])) { $theListNro = $_SESSION['Captcha_List']; }
list ($libelle, $inputSize, $inputMax, $captchaList) = getListItems($theListAll, $theListNro);

/* Fonctions de traitement */
// Fonction pour choisir la liste des questions a poser et pour recuperer ses infos.
function getListItems($theListAll, $theNro) {
    // session_start(); //On lance une session
    if ($theNro <= -1) { $theNro = rand(0, count($theListAll)-1); }
    $_SESSION['Captcha_List'] = $theNro;
    $theList = $theListAll[$theNro];
    $infos = $theList['infos'];
    $captchaList = array_slice ($theList, 1);
    return array ($infos['libelle'], $infos['inputSize'], $infos['inputMax'], $captchaList);
}

// Fonction pour convertir du texte Html en codes Ascii Html.
function asciihtml($textHtml) {
// Fonction pour retourner le texte Html fourni ($textHtml) converti en codes Ascii Html ($asciiHtml).
// Petite adaptation d'une contribution sur Spip'Contrib proposee par Jean Luc Girard et Coyote.
// Voir : <http://www.spip-contrib.net/Crypter-une-adresse-email>
// Utf<->Html, johan dot andersson at strateg dot se, 
// voir : <http://fr.php.net/manual/fr/function.utf8-decode.php#31815>
    $textHtml = html_entity_decode(htmlentities($textHtml, ENT_COMPAT, 'UTF-8'));
    $asciiHtml = '';
    for ($i = 0; $i < strlen($textHtml); $i++) {
        $asciiHtml .= '&#'.ord($textHtml[$i]).';';
    }
    return $asciiHtml;
}

// Fonction pour preparer la question du captcha
function captchaQuestion() {
    global $captchaList; // Utiliser les globales
    // session_start(); //On lance une session
    if (isset($_SESSION['Captcha_Index'])) {
        // Recuperation de la question
        $captchaIndex = $_SESSION['Captcha_Index'];
    } else {
        // Construction de la question
        $captchaIndex = rand(0, count($captchaList)-1); // Choix aleatoire d'un couple "question/reponse"
        //On stock dans la session la question
        $_SESSION['Captcha_Index'] = $captchaIndex;
    }
    $captchaQstsList = array_keys($captchaList); // Liste des questions
    $captchaQst = $captchaQstsList[$captchaIndex]; // La question choisie
    $captchaQstHtml = asciihtml($captchaQst.' ='); // Encodage ascii html de la question choisie
    // Retour des resultats
    return $captchaQstHtml;
}

// Fonction pour analyser la reponse au captcha
function captchaReponse() {
    global $captchaList, $conseilsList, $lang_common, $captchaConfig; // Utiliser les globales
    // session_start(); //On lance une session
    $limite = $captchaConfig['limite'];
    $conseil = $conseilsList[rand(0, count($conseilsList)-1)]; // Choix aleatoire d'un conseil
    // Recuperation des varialbes passees par $_POST
    $captchaRepUsr = strtolower(trim($_POST['captcha']));
    $messageOk = 0;
    $reponses = array_values($captchaList);
    // Si la reponse n'est pas correcte, on affiche un message d'information
    if ($reponses[$_SESSION['Captcha_Index']] != $captchaRepUsr) { $messageOk = 1; }
    // Compter le nombre de tentatives
    $finOk = 0;
    if (isset($_SESSION['Captcha_Nbr'])) {
        $_SESSION['Captcha_Nbr'] ++;  // Iteration du compteur
        if ($_SESSION['Captcha_Nbr'] >= $limite) { $finOk = 1; }
    } else {
        $_SESSION['Captcha_Nbr'] = 1; // Initialisation du compteur
    }
    // Construction des messages d'erreur
    $message = '<p><strong>Réponse incorrecte, veuillez recommencer... </strong>';
    $message .= '<small style="color: gray;">(tentative '.$_SESSION['Captcha_Nbr'].'/'.$limite.')</small></p>';
    $message .= '<p>Conseil : <em>'.$conseil.'</em></p>';
    // Avertissement et lien lorsque la limite est depassee
    $avertoTxt = 'Vous avez épuisé le nombre de tentatives autorisées !';
    $averto = '<p><strong style="color: maroon;">'.$avertoTxt.'</strong></p>';
    $averto .= '<p><a href="javascript:location.href=location">'.$lang_common['Go back'].'</a></p>';
    // Supperssion des infos de la session lorsque la limite est depassee
    if ($finOk) { 
        $message .= $averto; 
        eraseVars();
    }
    // Retour des resultats
    return array($messageOk, $message, $finOk);
}

// Fonction pour effacer les variables de session et de post
function eraseVars() {
    // session_start(); //On lance une session
    unset($_SESSION['Captcha_List']);
    unset($_SESSION['Captcha_Nbr']);
    unset($_SESSION['Captcha_Index']);
    unset($_POST['captcha']);
}

// Fonction pour sauvegarder les tentatives de post
function sauvLog() {
    global $captchaConfig; // Utiliser les globales
    // Si l'option de sauvegarde des tentatives de post est activee, on enregistre les infos.
    if ($captchaConfig['logOk']) {
        $captchaLogFile = $captchaConfig['logFile'];
        $captchaLogTxt = 'Date : '.date('Y/m/d-H:i:s').' - Url : '.get_remote_address()."\n";
        $captchaLogOpen = fopen($captchaLogFile, 'a');
        fwrite($captchaLogOpen, $captchaLogTxt);
        fclose($captchaLogOpen);
    }
}
/***************************** Fin CaptchaGuest **********************************/
?>

merci d'avance

Hors ligne

#7 04-12-2008 21:27:58

Firekans
Membre

Re : Erreur ligne CaptchaGuest 1.1.0

et voila valeur merci de m'aide smile

<?php 
/*************************** CaptchaGuest Valeurs *********************************/
/* Solution de securite pour limiter l'acces des robots spameurs */
/* Base sur une proposition de vin100 sur le forum PunBbFr */
/* voir : <http://www.punbb.fr/forums/viewtopic.php?pid=30840> */
/* Evolution grace a une contribution de BertrandB des forums PunBbFr */
/* Realisation : FredoMkb (c) 2007 */
/********************************************************************************/
/* Ce fichier contient las listes des questions a poser pour valider le Captcha */
/* ainsi que les differentes options de traitement. */
/* Placez ce fichier au meme niveau que le fichier Php nomme "post.php" */
/* de votre forum PunBb. */
/********************************************************************************/

// Tableau des options de traitement (a adapter selon vos besoins)
$captchaConfig = array (
    'limite' => 3, // Nombre de tentatives de post
    'logOk' => 1, // Sauvegarde de tentatives de post : 1 = oui - 0 = non
    'logFile' => 'CaptchaGuestLog.txt' // Fichier contenant des infos sur les tentatives de post
    // Comme il s'agit d'une mod libre et accessible a tout le monde,
    // n'hesitez pas a modifier le nom de ce fichier contenant les tentatives de post
    // afin d'eviter que d'autres personnes ne puissent consulter ces informations.
);

// Tableau des conseils (a adapter selon vos besoins)
$conseilsList = array(
    'Et si vous mettiez vos lunettes là... hein ? ;-)',
    'Je crois vous devriez vous faire aider là... ;-)',
    'Accrochez-vous... vous allez y arriver... ;-)',
    'Et bein... vous devriez changer de cerveau... ;-)',
    'Et si vous utilisiez une calculette là... non ? ;-)',
    'Euh... vous devriez vous réposer un peu là... ;-)',
    'Ça alors... vous devriez retouner à l\'école... ;-)',
    'Faut pas déprimer... ça arrive à tout le monde... ;-)',
    'Vous devriez vous procurer quelques neurones... ;-)',
    'Faut pas vous décourager... vous y êtes presque... ;-)'
);

// Tableau questions/reponses numerique (a adapter selon vos besoins).
$captchaListNum = array (
    'infos' => array (
        'libelle' => 'Veuillez noter le résultat de l\'opération suivante :  ', 
        'inputSize' => 5, 
        'inputMax' => 10
    ),
    '1 + 3' => '4',
    '1 - 1' => '0',
    '2 + 6' => '8',
    '2 - 1' => '1',
    '3 + 6' => '9',
    '3 - 2' => '1',
    '4 + 8' => '12',
    '4 - 2' => '2',
    '5 + 3' => '8',
    '5 - 2' => '3',
    '6 + 4' => '10',
    '6 - 3' => '3',
    '7 + 6' => '13',
    '7 - 3' => '4',
    '8 + 7' => '15',
    '8 - 3' => '5',
    '9 + 9' => '18',
    '9 - 2' => '7',
    '10 + 4' => '14',
    '10 - 4' => '6'
);

// Tableau questions/reponses textuel (a adapter selon vos besoins).
$captchaListTxt = array(
    'infos' => array(
        'libelle' => 'Veuillez noter le résultat numérique de l\'opération suivante :  ',
        'inputSize' => 5,
        'inputMax' => 10
    ),
    'Un plus trois' => '4',
    'Un moins un' => '0',
    'Deux plus six' => '8',
    'Deux moins un' => '1',
    'Trois plus six' => '9',
    'Trois moins deux' => '1',
    'Quatre plus huit' => '12',
    'Quatre moins deux' => '2',
    'Cinq plus trois' => '8',
    'Cinc moins deux' => '3',
    'Six plus quatre' => '10',
    'Six moins trois' => '3',
    'Sept plus six' => '13',
    'Sept moins quatre' => '4',
    'Huit plus sept' => '15',
    'Huit moins trois' => '5',
    'Neuf plus neuf' => '18',
    'Neuf moins deux' => '7',
    'Dix plus quatre' => '14',
    'Dix moins quatre' => '6'
);

// Tableau questions/reponses choix (a adapter selon vos besoins).
$captchaListChx = array(
    'infos' => array(
        'libelle' => 'Veuillez noter la bonne réponse selon le choix suivant :  ',
        'inputSize' => 10,
        'inputMax' => 20
    ),
    'Un CD-Rom est carre ou rond ?' => 'rond',
    'Une tomate est rouge ou bleue ?' => 'rouge',
    'Une pierre est molle ou dure ?' => 'dure',
    'Le feu est chaud ou froid ?' => 'chaud',
    'Un citron est noir ou jaune ?' => 'jaune',
    'Un train roule ou vole ?' => 'roule',
    'Un ocean est petit ou grand ?' => 'grand',
    'Un glacier est froid ou chaud ?' => 'froid',
    'Un bateau vole ou flote ?' => 'flote',
    'Une montagne est haute ou basse ?' => 'haute'
);

// Tableau questions/reponses culture generale francaise (Cgf) (a adapter selon vos besoins).
$captchaListCgf = array(
    'infos' => array(
        'libelle' => 'Veuillez noter le mot (seul) répondant à la question suivante :  ',
        'inputSize' => 10,
        'inputMax' => 20
    ),
    'Quel liquide contient un stylo-plume ?' => 'encre',
    'Quelle est la couleur centrale du drapeaux de la France ?' => 'blanc',
    'Quelle ville est la capitale de la France ?' => 'paris',
    'Quel liquide contient une bouteille de bordeaux ?' => 'vin',
    'Quel fruit produit un pommier ? (au singulier)' => 'pomme',
    'Quel produit fabrique principalement un boulanger ?' => 'pain',
    'Quel animal de compagnie miaule ?' => 'chat',
    'Quelle est la monnaie actuelle de la France ?' => 'euro',
    'Quel est l\'acronyme de "Train a Grande Vitesse" ?' => 'tgv',
    'Quel est le premier jour de la semaine ?' => 'lundi'
);

$theListAll = array ($captchaListNum, $captchaListTxt, $captchaListChx, $captchaListCgf);

/************************** Fin CaptchaGuest Valeurs ********************************/
?>

Hors ligne

#8 04-12-2008 21:52:50

Firekans
Membre

Re : Erreur ligne CaptchaGuest 1.1.0

ouais! ben je laisse tomber alors siffle
merci oldie-2 et mangafan

Hors ligne

#9 08-12-2008 23:03:46

mika23
Membre

Re : Erreur ligne CaptchaGuest 1.1.0

Salut

J'ai eu a faire au même problème ce soir, une fois uploadé le fichier ne fonctionnais plus. En fait cela vient du codage du fichier. Les retours à la ligne utilisés dans le fichier sont des CR+LF (codage windows) il faut les remplacer par de simples CR (codage linux) et plus d'erreur smile

Hors ligne

#10 25-12-2008 10:31:47

Otomatic
Régisseur

Re : Erreur ligne CaptchaGuest 1.1.0

mika23 a écrit :

Les retours à la ligne utilisés dans le fichier sont des CR+LF (codage windows) il faut les remplacer par de simples CR (codage linux)

Là, il faut m'expliquer en quoi les terminateurs de lignes sont un problème. roll

En effet, en local, je suis sous Windows XP Home SP3 et Wampserver 2.0f et tous les fichiers PunBB - *.php et *.css - ont des fins de lignes codées x0D0A, c'est-à-dire CRLF.
Ce sont ces mêmes fichiers qui sont transférés, via FTP, sur deux hébergeurs qui tournent tous les deux sous Linux et, aucune transformation de CRLF en CR n'est effectuée ni avant, ni pendant le transfert et ça ne pose aucun problème chez les hébergeurs.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

Pied de page des forums