/*MESSAGE ORIGINAL */

Bonjour a tous, j'utilise le mvc depuis un petit moment sans réelement avoir eu de problèmes.

Mais voila que je met une nouvelle version de mon site en ligne, et je remarque qu'il y a enormement de soucis, du moins a un endroit bien précis:

Lorsque j'appelle une page exemple : mur-public, il me dit que ma variable vartest n'existe pas.. cependant elle est belle et bien crée en local elle marche super bien du coup...

Comment je fais ??

l'url est mur-public

dans mon conf j'ai ceci:

routeur::connect('murs-:cat','mur/voirmur/cat:([a-z0-9\-]+)');

<?php
class murcontroller extends controller{
    function index(){...}
    function voirmur($cat){
    $this->implanter_vars('vartest','ma variable test');
    .....
}

et sur ma page

voirmur.php

<?php 
if(isset($vartest)){
    echo $vartest;
}else{
    echo 'la variable vartest existe pas';
} ?>

J'utilise celle la pour les tests mais c'est le meme bordel avec les autres pages aussi...

Je sais absolument pas pourquoi :s

voici le liens pour tester

http://www.verviers-mustangs.be/murs-public

Merci de votre aide

/*EDIT */

En faite, apres plusieurs test, je remarque que mes requetes ne passent absolument pas lorsque je update mon site sur un serveur (j'en ai tester deux).

Voici la function voirmur complete...

function voirmur($cat){
        $this->implanter_vars('vartest','Ma variable de test contient ceci');
        echo 'test';
        $contenu='ma categorie'.$cat;
        if($cat){
            $contenu="je passe ici";
            $this->loadmodel('mur_cat');
            $this->loadmodel('mur_sujet');
            $this->loadmodel('mur_commentaire');
            $id_cat = $this->mur_cat->find(array('condition'=>array('cat_nom'=>$cat)));
            $this->implanter_vars('vartest','ce que vaut id_cat :'.$id_cat'cat_id']);
            foreach ($id_cat as $k) {
                if(controller::$is_connected){
                    $contenu ='
                        <div id="formforsujet" class="padding10px backtranscontenu bordertransgrey">
                        '.$this->formcontent('sujet',0,$k->cat_id).'
                        </div>
                        <div id="listing_sujet">';
                }else{
                    $contenu='<div id="listing_sujet">';
                }

                $contenu="Je passe le premier foreach";
                /*1ere etape on recupere d'abord le message original*/
                $sujet = $this->mur_sujet->find(array('condition'   =>array('sujet_cat_id'=>$k->cat_id),
                                                        'special'   =>  'SELECT sujet_id,sujet_auteur,sujet_date,sujet_content,
                                                                                membre_avatar,membre_pseudo ,membre_id
                                                                        FROM mur_sujet 
                                                                        LEFT JOIN forum_membres ON forum_membres.membre_id = mur_sujet.sujet_auteur',
                                                        'afterwhere' => 'ORDER BY sujet_date DESC'
                                                      ));

                /*On boucle dessus afin d'affiche d'abord le premier */
                foreach($sujet as $s){
                    /*2eme etape on recupere tous les commentaire*/
                    $commentaire = $this->mur_commentaire->find(array('condition'=>array('commentaire_sujet_id'=>$s->sujet_id),
                                                        'special'=>'SELECT commentaire_id,commentaire_date,commentaire_content,
                                                                            membre_avatar,membre_pseudo ,membre_id
                                                                    FROM mur_commentaire 
                                                                    LEFT JOIN forum_membres ON forum_membres.membre_id = mur_commentaire.commentaire_auteur'
                                                      ));
                    /*3eme etape on affiche le premier sujet*/
                    $contenu.='<div id="sujet-'.$s->sujet_id.'" class="affichagesujet padding10px backtranscontenu bordertransgrey">';
                    $contenu.=' <div class="inlineblock width20per100 vatop">
                                <img class="width80per100 padding10px backtrans91141a bordertransgrey" src="img/avatar/'.$s->membre_avatar.'" alt="'.$s->membre_pseudo.'" title="'.$s->membre_pseudo.'" />
                                </div><div class="inlineblock width80per100 vatop">
                                <div class="padding10px">
                                    <p>
                                    <span class="infodate textbord1px242424">'.ucfirst($s->membre_pseudo).' a écrit:</span><br />
                                    <span class="textindent">'.$s->sujet_content.'</span>
                                    <span class="infoheure">'.$s->sujet_date.'</span>
                                    </p>
                                </div>
                                <div id="zonecommentaire'.$s->sujet_id.'">';
                                foreach($commentaire as $com){
                                    $contenu.='
                                            <div id="commentaire'.$s->sujet_id.'-'.$com->commentaire_id.'" class="bordertoptransgrey paddingtop10px">
                                                <div class="inlineblock width20per100 vatop">
                                                    <img class="width80per100 padding10px backtrans91141a bordertransgrey" src="img/avatar/'.$com->membre_avatar.'" alt="'.$com->membre_pseudo.'" title="'.$com->membre_pseudo.'" />
                                                    </div><div class="inlineblock width80per100 vatop">
                                                    <div class="padding10px">
                                                        <p>
                                                        <span class="infodate textbord1px242424" >'.ucfirst($com->membre_pseudo).' a écrit:</span><br />
                                                        <span class="textindent">'.$com->commentaire_content.'</span>
                                                        <span class="infoheure ">'.$com->commentaire_date.'</span>
                                                        </p>
                                                    </div>
                                                    </div>
                                            </div>
                                            ';
                                }
                    if(controller::$is_connected){
                    $contenu.='</div>'.$this->formcontent('commentaire',$s->sujet_id,$k->cat_id).'</div>
                                </div>';
                    }else{
                        $contenu.='</div></div></div>';
                    }
                }
            }

        }
         $this->implanter_vars('mur',$contenu);
    }

MAIS pourquoi maintenant elle poserait un soucis, j'ai rien modifié au systeme du fichier model.php :s

3 réponses


Salut CaptainZ,

Je pense que ton problème se situe au niveau du routage de tes donnée.

Quand tu travail en local, ton système va chercher tes données dans un répertoire du genre

http://localhost/monsite

.

Quand tu upload sur le serveur, la racine de stockage de tes fichiers change.

A voir dans le fichier de configuration de tes routes je pense.

Je ne suis pas un expert mais j'espère avoir pu t'aider.

Bon courage!

PS: c'est un avis tout à fait personnel mais il me semble que pour un modèle MVC tu as beaucoup de code Html dans ton controller alors que le but est justement de séparer et de mieux organiser tout ça...
Mélanger du php, de l'Html et des requètes Sql sur une même page augmente les risques de plantage de ton système...
Encore une fois, Grafikart à mis pas mal de tutoriel video en ligne dont tu peux t'inspirer pour mieux organiser ton code.
(cf.: Tutoriel PHP : Développer un site : Jour 2, La structure PHP.

captainz
Auteur

Salut, voila j'ai re suivit tous le tuto, j'ai bien respecter les reègles etc.. et le probleme est que j'ai toujours le meme soucis...

je vous laisse aller jeter un oeil et dite moi quoi svp :(

http://www.verviers-mustangs.be/

captainz
Auteur

Je précise que je suis chez OVH..