1 Dernière modification par Atyko (15-04-2009 09:48:18)

Sujet : Forum

Bonjour à tous j'ai créer un forum suivant un tuto du site du zéro .
Mais Hélas Mon Forum Ne Marche Pas pourquoi ?
La commande : session start ()
Elle ne fonctionne pas sur cet hébergeur
Lien de mon site:
http://forum-zik.lescigales.org/

Je m'en souviens plus ^^
Merci De Votre Aide

2 Dernière modification par infobarquee (15-04-2009 09:48:40)

Re: Forum

la fonction session fonctionne, ce n'est pas une option chez un hébergeur.
il faut vérifier le script avant tout.

3

Re: Forum

En attendant j'ai supprimmé le forum

Re: Forum

sans en dire plus, ca va être dur de répondre.
j'ai plusieurs scripts qui utilisent les sessions et aucun problème.

5

Re: Forum

Oui évidemment les sessions fonctionnent sur nos serveurs smile

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

6

Re: Forum

Rahh Dommage Car Sinon je doit supprimmer mon site à tout jamais
pourraît tu faire un petit effort pour moi ?

Re: Forum

de quel effort veux tu parler, refaire ton script a ta place?
les scripts du séro sont très bien, mais de temps en temps il y a des erreurs, trouves d'autres scripts qui utilisent les sessions pour comparer avec le tiens et trouver l'erreur.
ou mets une partie de ton script sur le forum.

8

Re: Forum

Oui je pense aussi que si une personne doit faire un petit effort ici, c'est bien toi Atyko, présente clairement ton problème pour commencer si tu veux une aide (un effort sur l'orthographe ne serait pas de refus aussi)... parce que nous faisons le *ridicule* effort de t'offrir un hébergement et de décrypter ce que tu dis pour l'instant smile

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

9

Re: Forum

Je n'ai fais aucune fautes
Et juste que j'ai déja essayer et les sessions ne fonctionnent pas voilà
Bon Pas Grave je me débrouillerez , merci et aurevoir .

Re: Forum

les sessions fonctionnent parfaitement, il s'agit d'un problème de script.
mais sans le voir, il est difficle de répondre.
le répertoire où doivent se trouver les sessions est il en lecture simple ou en lecture ET écriture, ca peut expliquer le problème, ainsi que le fichier qui les contient (si elles sont inscrites dedans).

si si, il y a des fautes (surtout dans le dernier post), chacun en fait aussi, mais inutile de mettre des majuscules à chaque mot aussi, ca fait un peu agressif.

11

Re: Forum

Atyko a écrit:

Je n'ai fais aucune fautes

Merci Atyko. Je n'avais pas ri comme cela depuis longtemps smile

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

12

Re: Forum

Les sessions se trouvent dans le script et elles ne fonctionnent pas j'ai tester le script sur e3b.org et cela marche complètement

13

Re: Forum

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Forum-Zik | Le Forum De La Zik</title>
<link rel="stylesheet" href="./style.css" type="text/css" />
</head>

<body>

<div id="contenu">

    
    
    
    
    <div class="clear" style="height:16px; "></div>
    
    
    
    
    <div id="header">
    
        <img class="titre_site" src="/images/titre.jpg" alt="Titre" />
        
        
    </div>
    
    
    
    <div class="clear" style="height:22px; "></div>



    <div id="degrade">
        <img src="/images/degrade.jpg" alt="degrade.jpg" />    
    </div>
    
    
    
    <div class="clear" style="height:29px; "></div>
    
    
    
    <div id="menu_gauche">
    <a href="./index.html" alt="Acceuil"><img class="menu_gauche" src="./images/menu_gauche_acceuil.bmp" alt="Acceuil" /></a>
    <a href="./contact.php" alt="Contact"><img class="menu_gauche" src="./images/menu_gauche_contact.bmp" alt="Contact" /></a>    
    <a href="/Forum/forum.php" alt="Forum"><img class="menu_gauche" src="./images/menu_gauche_forum.bmp" alt="Forum" /></a>    
    <a href="./partenaires.php" alt="Partenaires"><img class="menu_gauche" src="./images/menu_gauche_partenaires.bmp" alt="Partenaires" /></a>    
        
    </div>
    
    
    
    <div id="texte">
    <div id="texte_centre">
    <?php
session_start();
$titre = "Index du forum";
include("debut.php");
?>
<body>
<div id="banniere"></div>
<?php
//Maintenant, on se connecte à la base de données
include("identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
?>
<div id="corps_forum">
<?php
// On indique où l'on se trouve
echo'<a href ="./index.php">Index du forum</a>';

// Puis on commence notre if

if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
        //Voici les options
        echo'<p>Vous êtes connecté en tant que
        <a href="./voirprofil.php?m='.intval($_SESSION['id']).'&amp;action=consulter">
        '.stripslashes(htmlspecialchars($_SESSION['pseudo'])).'</a><br />
        <a href="./voirprofil.php?action=modifier">
        Modifier mon profil</a><br />
        <a href="./messagesprives.php">
        Consulter mes messages privés</a><br />
        <a href ="./deconnexion.php">Se déconnecter</a><br /></p>';

}


// Sinon, on propose de se connecter ou de s'enregistrer
else
{
        echo'<p>Vous n êtes pas connecté <br />
        <a href="./connexion.php">Se connecter</a><br />
        <a href="./register.php">Pas encore inscrit ?</a><br /></p>';
}
?>
<h1>Forum Exemple</h1><br /><br />

<?php
//Initialisation de deux variables
$totaldesmessages = 0;
$categorie = NULL;
?>
    <?php
//Déterminons le niveau d'accès du visiteur
$level = (isset($_SESSION['level']))?intval($_SESSION['level']):1;

//Cette requete permet d'obtenir tout sur le forum
$requete2 = mysql_query('
SELECT cat_id, cat_nom, 
forum_forum.forum_id, forum_name, forum_desc, forum_post, forum_topic, auth_view, forum_topic.topic_id,  forum_topic.topic_post, post_id, post_time, post_createur, membre_pseudo, 
membre_id 
FROM forum_categorie
LEFT JOIN forum_forum ON forum_categorie.cat_id = forum_forum.forum_cat_id
LEFT JOIN forum_post ON forum_post.post_id = forum_forum.forum_last_post_id
LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id
LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur
WHERE auth_view < '.$level.' 
ORDER BY cat_ordre, forum_ordre DESC');
?>
<?php
//Dans un premier temps, on vérifie s'il y a des forums à lister
if (mysql_num_rows($requete2) < 1)
{
        echo'Il n y a pas de forum :o 
        Allez en ajouter avec le panneau d administration';
}
else
{
?>
<table>
<?php
        //Début de la boucle
        while($data2 = mysql_fetch_assoc($requete2))
        {
        //On affiche chaque catégorie
        if( $categorie != $data2['cat_id'] )
        {
        //Si c'est une nouvelle catégorie on l'affiche
       
                $categorie = $data2['cat_id'];
                ?>
                <tr>
                <th></th>
                <th class="titre"><strong><?php echo stripslashes(htmlspecialchars($data2['cat_nom'])); ?>
                </strong></th>             
                <th class="nombremessages"><strong>Sujets</strong></th>       
                <th class="nombresujets"><strong>Messages</strong></th>       
                <th class="derniermessage"><strong>Dernier message</strong></th>   
                </tr>
                <?php
               
         }

         //Ici, on met le contenu de chaque catégorie
?>
<?php
// Ce super echo de la mort affiche tous
         // les forums en détail : description, nombre de réponses etc...

         echo'<tr><td><img src="./images/message.gif" alt="message" /></td>
         <td class="titre"><strong>
         <a href="./voirforum.php?f='.$data2['forum_id'].'">
         '.stripslashes(htmlspecialchars($data2['forum_name'])).'</a></strong>
         <br />'.nl2br(stripslashes(htmlspecialchars($data2['forum_desc']))).'</td>
         <td class="nombresujets">'.$data2['forum_topic'].'</td>
         <td class="nombremessages">'.$data2['forum_post'].'</td>';

         // Deux cas possibles :
         // Soit il y a un nouveau message, soit le forum est vide
         if (!empty($data2['forum_post']))
         {
         //Selection dernier message
     $nombreDeMessagesParPage = 15;
         $nbr_post = $data2['topic_post'] +1;
     $page = ceil($nbr_post / $nombreDeMessagesParPage);
         
         echo'<td class="derniermessage">
         '.date('H\hi \l\e d/M/Y',$data2['post_time']).'<br />
         <a href="./voirprofil.php?m='.stripslashes(htmlspecialchars($data2['membre_pseudo'])).'&amp;action=consulter">'.$data2['membre_pseudo'].'  </a>
               <a href="./voirtopic.php?t='.$data2['topic_id'].'&amp;page='.$page.'#p_'.$data2['post_id'].'">
               <img src="./images/go.gif" alt="go" /></a></td></tr>';
         }
         else
         {
               echo'<td class="nombremessages">Pas de message</td></tr>';
         }

         //Cette variable stock le nombre de message, on la met à jour
         $totaldesmessages += $data2['forum_post'];

         //On ferme notre boucle et nos balises
         } //fin de la boucle
echo '</table>';

} //fin du else
?>
<?php
//Le pied de page ici :
echo'
<hr />
<div>
<h2>
Qui est en ligne ?
</h2>
';



$requete3 = mysql_query("SELECT membre_id FROM forum_membres");
$TotalDesMembres = mysql_num_rows($requete3);

$requete4 = mysql_query("SELECT membre_pseudo, membre_id FROM forum_membres ORDER BY membre_id DESC LIMIT 0, 1");
$data4 = mysql_fetch_assoc($requete4);
$derniermembre = stripslashes(htmlspecialchars($data4['membre_pseudo']));

echo'<p>Le total des messages du forum est <strong>'.$totaldesmessages.'</strong>.<br />';
echo'Le site et le forum comptent <strong>'.$TotalDesMembres.'</strong> membres.<br />';
echo'Le dernier membre est <a href="./voirprofil.php?m='.$data4['membre_id'].'&amp;action=consulter">'.$derniermembre.'</a>.</p>';
?>
</div>
    
    <a href="#"><img class="coin_haut_droite" src="/images/texte_coin_bas_droite.jpg" alt="" /></a>
        </div>

    </div>
    
    
    
    <div class="clear" style="height:50px;"></div>
    
    
    
    <div id="footer">
        
        <a href="#"><img class="copyright" src="/images/copyright.jpg" alt="copyright" /></a>
    </div>
    
</div>

</body>
</html>

Et voici l'erreur :
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/users/00/10/02/home/www/Forum/forum.php:23) in /home/users/00/10/02/home/www/Forum/forum.php on line 57

14

Re: Forum

Bravo Atyko tu as réussi (enfin !) à poster le message d'erreur ! smile

Pour te féliciter je vais t'expliquer comment ca marche:

Lorsque le serveur web renvoit une page html, il ne se contente pas d'envoyer le contenu HTML de la page, il va d'abord envoyer ce qu'on appelle des "entêtes" (les headers de ton message d'erreur) pour spécifier que c'est une page HTML, que la requête s'est bien déroulée, qu'il est 3 heures moins le quart sur le serveur et qu'il aimerait se reposer.. bref diverses informations utiles au client, et seulement après tout ca, il va envoyer la page HTML telle que tu l'as écrite.

Or session_start() a besoin de modifier ces headers (il injecte ses propres informations dedans), donc si tu appelles quelque chose qui modifie les headers après avoir envoyé du html, ca ne va pas marcher ! (du moins PHP est assez gentil pour te signaler que ton session_start() ne sert à rien là ou il est placé).

Il te faut donc le mettre au tout début de ton script, DU MOINS avant tout affichage de la page.

Et je te recommande d'apprendre l'anglais, c'est très pratique quand on se lance dans le scripting.

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

15

Re: Forum

Merci j'ai tout corrigé et cela fonctionne à merveille sujet a fermer SVP .