Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL

Hébergement Webou.net => Hébergement Webou.net => Discussion démarrée; par: uman le 27 Juin 2011, 00:36:16



Titre: Capcha et session
Posté par: uman le 27 Juin 2011, 00:36:16
Bonsoir,

J'ai installer mon "site" sans difficulté.

Cependant le script capcha pose un problème, comme ceci:

Affichage d'un message d'erreur:
Warning: session_start() [function.session-start]: Cannot send session cache limiter -
headers already sent (output started at /home/pisp/public_html/gbp_2/capcha.php:7) in
/home/pisp/public_html/gbp_2/capcha.php on line 83

Fichiers incriminés:

<DEBUT capcha.php>
<html>
......
        </tr>
             <tr><td align="center"><?php session_start();?>----> LIGNE 83
<?php
   echo '<blink>Vérification >> </blink>';
   if (isset($_POST['submitform'])){
      $secure = isset($_POST['secure']) ? strtolower($_POST['secure']) : '';
      if ($secure == $_SESSION['securecode']) {
         include('verifier.php');
         unset($_SESSION['securecode']);
      }
      else {  echo 'Le code de sécurité est incorrecte!';
         }   
    }
?>
.....
</html>
<FIN capcha.php>


<DEBUT verifier.php
<html>
 <?php
    header("Location: members/login-form.php");
 ?>
</html>

<FIN verifier.php

Pourriez-vous m'aider?

Merci par avance.

[EDIT]J'ai dû changer complétement de système à partir de ce topique --> http://www.webou.net/communaute/index.php/topic,2668.msg15429.html#msg15429 (http://www.webou.net/communaute/index.php/topic,2668.msg15429.html#msg15429)..
Historique:
1--> "Crypograph 1.4" (http://www.captcha.fr/index.php?page=34 (http://www.captcha.fr/index.php?page=34)) n'a pas fonctionné
2--> Un "système" (http://www.phpsources.org/scripts468-PHP.htm (http://www.phpsources.org/scripts468-PHP.htm)) plus simplifié (dont les bouts de codes ci-devant) n'a pas fonctionné
3--> ..Finalement j'ai utilisé ces scrypts http://www.phpcs.com/codes/CAPTCHA-VISUELLE_42607.aspx (http://www.phpcs.com/codes/CAPTCHA-VISUELLE_42607.aspx) qui semblent fonctionner![/EDIT]


Titre: Re: Capcha et session
Posté par: Keanjyto le 17 Juillet 2011, 19:11:43
Salut,

La réponse est tardive mais elle pourrait te servir plus tard ;)

A retenir : les entêtes ne peuvent plus être modifiées après l'envoi d'un code HTML
Du coup, au lieu de :
Code:
<html>
......
        </tr>
             <tr><td align="center"><?php session_start();?>----> LIGNE 83
<?php
   
echo '<blink>Vérification >> </blink>';
   if (isset(
$_POST['submitform'])){
      
$secure = isset($_POST['secure']) ? strtolower($_POST['secure']) : '';
      if (
$secure == $_SESSION['securecode']) {
         include(
'verifier.php');
         unset(
$_SESSION['securecode']);
      }
      else {  echo 
'Le code de sécurité est incorrecte!';
         }   
    }
?>

.....
</html>
Il aurait fallu juste mettre le "session_start();" au début :
Code:
<?php session_start();?>
<html>
......
        </tr>
             <tr><td align="center">----> LIGNE 83
<?php
   
echo '<blink>Vérification >> </blink>';
   if (isset(
$_POST['submitform'])){
      
$secure = isset($_POST['secure']) ? strtolower($_POST['secure']) : '';
      if (
$secure == $_SESSION['securecode']) {
         include(
'verifier.php');
         unset(
$_SESSION['securecode']);
      }
      else {  echo 
'Le code de sécurité est incorrecte!';
         }   
    }
?>

.....
</html>

Pareil dans ton fichier "verifier.php" ta redirection n'a pas dû marcher parce qu'elle doit être placer avant le code HTML aussi. Une alternative pour la redirection est d'utiliser la balise HTML dédiée à cet effet (<meta http-equiv="refresh" content="n;url=http://destination.com/"> pour rediriger au bout de n millisecondes).

Bonne continuation.

Cordialement,
Keanjyto.


Titre: Re: Capcha et session
Posté par: uman le 18 Juillet 2011, 19:51:53
Bonjour Keanjito,

Le code que j'ai donné est celui du site de cryptograph - 1.4 http://www.captcha.fr/index.php?page=34 (http://www.captcha.fr/index.php?page=34) -.
Sur ce site, ils signalent le problème mais n'apportent pas "publiquement" la solution!

Je testerai tes recommandations sur une copie et je te remercie d'avoir daigner m'aider.

Il n'est jamais trop tard pour donner une solution qui finit (toujours) par servir un jour!

Merci encore!