Passage de easyphp à un hebergeur web

Discussion dans 'Administration d'un site Web' créé par helrod, 26 Juillet 2006.

  1. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Bonjour,

    Apès avoir monté mon site php/sql sur mon ordinateur avec easyphp, je l'ai transferer sur un hebergeur web.
    Celui-ci étant bien sur muni de php4 et php5, mysql.

    Mais un probleme survient. Il se trouve que j'ai creer un espace membre, qui lorsque que la personne est connecté le nom de cette s'affiche en haut de la page tel "Bonjour Pseudo".
    Sur easyphp aucun probleme, ce système marche très bien.

    Mais une fois passer sur l'hébergeur web, lors de ma connexion au compte, le nom indiqué en haut de ma page est "Bonjour Array".

    Je n'arrive pas à comprendre pourquoi.
    Merci d'avance pour vos réponse et l'aide que vous pourrez m'apporter.

    Amicalement,
    Helrod
     
  2. jexl
    jexl WRInaute discret
    Inscrit:
    23 Juin 2005
    Messages:
    166
    J'aime reçus:
    0
    Hello,
    a mon avis, a vu de nez ca ressemble a un probleme de mysql_fetch_assoc

    Mais pour en etre sure, fais nous voir ton code.
     
  3. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Voici mes pages :

    Le page ou se trouve les informations de connexion à la base de donnée. (conf.php)
    Code:
    <?php
    $db = mysql_connect('localhost', '******', '******');
    mysql_select_db('helrod_site',$db);
    
    if(isset($_SESSION['login']))
    {
        $pseudo = $_SESSION['login'];
        $sqllogin = "SELECT * FROM membre WHERE pseudo='".$pseudo."'";
        $rlogin = mysql_query($sqllogin) or die('Erreur SQL !<br>'.$sqllogin.'<br>'.mysql_error());
        $login = mysql_fetch_array($rlogin);
    }	
    ?>
    Le page ou se trouve les informations d'identification. (login.php)
    Code:
    <?php
    include('conf.php');
    
    if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['mdp']))
    {
        extract($_POST);
    
        // on recupère le password de la table qui correspond au login du visiteur
        $sql = "select mdp from membre where pseudo='".$pseudo."'";
        $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    
        $data = mysql_fetch_assoc($req);
    
        if($data['mdp'] != md5($mdp))
        {
            echo '<div align="center">Mauvaise pseudo ou mot de passe <a href="javascript:history.back(1)"><br /><br /><input type="button" value="Retour"></a></div>';
            return (FALSE);
            exit();
        }
        else
        {
            session_start();
            $_SESSION['login'] = $pseudo;
    
            // On change la valeur du champ connecte
            $sql = "UPDATE membre set connecte='1' WHERE pseudo='$pseudo'";
            $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    
            header('location: index.php?page=membre');
            exit;
        }
    }
    else
    {
        echo '<div align="center">Vous avez oublié un champs de connection! <a href="javascript:history.back(1)"><br /><br /><input type="button" value="Retour"></a></div>';
        return (FALSE);
        exit();
    }?>
    Le page ou se trouve l'acces à l'espace membre, avec le texte de "bienvenue pseudo". (index.php)
    Code:
    <?php
    session_start();
    include('conf.php');
    ?>
    
    <table cellpadding="0" cellspacing="0" border="0" align="center" background="image/design/fond.jpg" width="827" height="768">
        <tr>
            <td colspan="2">
    <?php
    if(!isset($_SESSION['login']))
    {
        echo '
                <form method="post" action="login.php">
                <table border="0" width="40%" cellspacing="0" cellpadding="0" align="center" class="texte">
                    <tr>
                        <td height="10" colspan="2"></td>
                    </tr>
                    <tr>
                        <td align="left"><b>Pseudo</b></td>
                        <td><input type="text" name="pseudo" maxlength="50" size="8" /></td>
                        <td align="left"><b>Passe</b></td>
                        <td><input type="password" name="mdp" maxlength="20" size="8" /></td>
                        <td rowspan="2"><input type="submit" value="Ok" /></td>
                    </tr>
                </table>
                </form>
                <div align="center"><a href="?page=inscription">Inscription</a></div>';
    }
    else
    {
        $sql = "SELECT * FROM messagerie WHERE destinataire='$pseudo'";
        $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
        $data = mysql_num_rows($req);
    
        $date = date("d-m-Y");
    
        echo'
                <table border="0" width="650" cellspacing="0" cellpadding="0" align="center" class="texte">
                    <tr>
                        <td height="10" colspan="4"></td>
                    </tr>
                    <tr>
                        <td align="center" width="36%">Bienvenue '.$_SESSION['login'].' !<br />';
        if ($pseudo)
        {
            if ($data == '')
            {
                echo 'Vous n\'avez pas de message';
            }
            else
            {
                if ($data == '1')
                {
                    echo 'Vous avez <a href="?page=messagerie" alt="">'.$data.'</a> message';
                }
                else
                {
                    echo 'Vous avez <a href="?page=messagerie" alt="">'.$data.'</a> messages';
                }
            }
        }
        echo '
                        </td>
                        <td align="left">Nous sommes le '.$date.' et il est : </td>
                        <td align="left" id="ejs_heure" width="13%">Initialisation !</td>
                        <td align="left" width="17%"><a href="deconnexion.php" alt="">Déconnexion</a><br /><a href="?page=membre">Espace membre</a></td>
                    </tr>
                </table>';
    }
    ?>
     
  4. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    Bonjour,

    Je ne vois pas la ligne dans ton code où tu affiches "Bonjour pseudo" ?

    ps : Surveille ton orthographe
     
  5. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Oui excusez moi, c'est plutôt "Bienvenue pseudo"

    Ps : Ou est le problème avec mon orthographe?
     
  6. jexl
    jexl WRInaute discret
    Inscrit:
    23 Juin 2005
    Messages:
    166
    J'aime reçus:
    0
    J'ai l'impression que ton probleme vient du fait que $pseudo n'existe pas

    essaies de remplacer dans ta page d'identification ca :

    $_SESSION['login'] = $pseudo;

    par ca
    $_SESSION['login'] = $data['pseudo'];
     
  7. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Lorsque je place le code que tu indique, et que je m'identifie, il me renvoi sans cesse au formulaire d'identification.
     
  8. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    ce serait plutôt ça :
    non ? :wink:

    tant que j'y suis :

    je dirais plutôt :
    puis je passe les commentaires où ce n'est pas grave :p
     
  9. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    (^^) oups je n'avait pas fait attention à cela.
     
  10. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    moi je dirais que la variable $pseudo existe, grâce à ça :

     
  11. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    La variable pseudo est crée dans le fichier de configuration.

    Le premier code que j'ai place dans mon deuxieme post.

    Edit: Voici l'adresse du site

    J'ai creer une login et mot de passe de test pour que vous puissiez voir ce que cela donne.

    Identifiant : Test
    Mot de passe : Test
     
  12. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    effectivement, "Array"... :(
     
  13. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Ce que je ne comprend pas c'est pourquoi sur mon pc avec easyphp l'affichage est bon.
     
  14. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    et :
    Code:
    <td align="center" width="36%">Bienvenue '.$pseudo.' !<br /> 
    ça marche pas ?
     
  15. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Ca serai une solution provisoire, car lorsque tu change de page et que tu revien dans l'espace membre, tout l'espace membre à disparut.
     
  16. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    M'enfin, y'a peut être mieux comme gestion des membres.
    Là, tu ne fais que vérifier que l'identification est correcte, que se passe-t-il si on accede directement à une page réservée à un membre via url directe ?
    tu rediriges vers la page d'identification ?
     
  17. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Oui une redirection
     
  18. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    Essaie de tracer la valeur de tes variables POST avec un echo par exemple afin d'être sûr de ce que tu récupères ou non.
     
  19. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    J'ai pu voir sur le forum de mon hebergeur un probleme simillaire.
    Mais celui ci ne me donne rien de bien, j'ai poster un message pour voir si il connaisse la réponse.
     
  20. spidetra
    spidetra WRInaute passionné
    Inscrit:
    7 Juillet 2003
    Messages:
    1 215
    J'aime reçus:
    0
    1. reprend ton code en local

    2. modifie le niveau d'error reporting dans ton php.ini. Prend le niveau le plus sévère possible :
    error_reporting = E_ALL | E_STRICT
    ou simplement
    error_reporting = E_ALL

    3. ça donne quoi ?

     
  21. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Pourquoi faire ce test en local, alors que tout marche très bien.
    Seul sur l'heberge le code deconne.
     
  22. jexl
    jexl WRInaute discret
    Inscrit:
    23 Juin 2005
    Messages:
    166
    J'aime reçus:
    0
    Juste pour voir,
    Puisqu'il te renvoie array (un tableau), essaie de faire

    echo '<pre>' ;
    print_r($pseudo );
    echo'</pre>' ;

    Pour voir ce qu'il y a dedans.

    P.S : oups, j'avais pas vu le extract
     
  23. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Je précise, en premier il m'affiche seulement Helrod.
    Mais lors de la reactualisation il me met ceci :

     
  24. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    et alors, je ne vois pas ce que tu essaies de nous montrer helrod ?
     
  25. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Ben je fait ce que l'on me demande de faire.
     
  26. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    bon si je comprends bien lorsque tu testes ce code :
    Code:
    echo '<pre>' ; 
    print_r($pseudo ); 
    echo'</pre>' ; 
    
    En premier ca te donne le resultat
    après connexion.

    Et lorsque tu fais un deuxième essai tu obtiens :
     
  27. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Oui apres connexion j'obtien Helrod.

    Apres ma connexion je reactualise la page, car c'est à ce moment la que tout l'espace membre devient invisible.
    Et là, j'obtien cela:

     
  28. spidetra
    spidetra WRInaute passionné
    Inscrit:
    7 Juillet 2003
    Messages:
    1 215
    J'aime reçus:
    0
    Pour essayer de rendre ton code plus robuste.
     
  29. jexl
    jexl WRInaute discret
    Inscrit:
    23 Juin 2005
    Messages:
    166
    J'aime reçus:
    0
    Hello,
    La valeur de $pseudo est donc bien un tableau.

    Si tu veux afficher ton pseudo, il faut donc faire

    echo $pseudo['pseudo'] ;

    Par contre je ne comprends pas pourquoi, il te renvoit un coup une chaine de caractere et ensuite un tableau...

    Dis nous si ca marche.
     
  30. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    J'ai bien testé ce code, il marche en effet une premiere fois.
    Mais lorsque que j'actualise ou change de page pour revenir apres sur l'espace membre, tout disparait ainsi que le "Bienvenue Pseudo" qui devient "Bienvenue".

    Merci des réponse que vous m'apporter ^^
     
  31. jexl
    jexl WRInaute discret
    Inscrit:
    23 Juin 2005
    Messages:
    166
    J'aime reçus:
    0
    et si tu fais :

    $_SESSION['login'] = $pseudo['pseudo'];


    puis
    echo 'Bienvenue' . $_SESSION['login'] ;

    Ca marche ?
     
  32. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Cela ne maffiche rien du tout.
    Mais ce que je ne comprend pas, c'est pourquoi lors de mon actualisation ou changement de page, l'espace membre disparait.

    Est-ce parce qu'il crois que la session n'est pas ouverte ou vide?
     
  33. spidetra
    spidetra WRInaute passionné
    Inscrit:
    7 Juillet 2003
    Messages:
    1 215
    J'aime reçus:
    0
    [mode radotage]
    Une bonne pratique de programmation consiste a mettre un niveau d'error_reporting très contraignant en mode debug
    [/mode radotage]
     
  34. jexl
    jexl WRInaute discret
    Inscrit:
    23 Juin 2005
    Messages:
    166
    J'aime reçus:
    0
    Y'a un petit truc qui me chiffonne :

    Dans ton conf , tu appelles une session alors que dans certains cas, tu ne mets pas de session_start();

    Puisque que ton con est appelé a chaque débuts de script, mets ton session_start(); au début du conf, et enleves le des autres pages.
     
  35. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    @spidetra :

    Ou dois je mettre le code?


    @jexl :

    Cela ne change rien.
     
  36. spidetra
    spidetra WRInaute passionné
    Inscrit:
    7 Juillet 2003
    Messages:
    1 215
    J'aime reçus:
    0
    Explication dans mon premier post.
    Change le error_reporting dans ton php.ini. essaye de le faire en local, même si ça marche, et dit nous si ton code explose.
     
  37. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Non mais tu ne comprend pas que ce n'est pas mon hebergeur qui deconne.
    Donc je ne peut changer le php.ini

    Et je l'avais fait pour rien, car rien n'etait apparu.
     
  38. spidetra
    spidetra WRInaute passionné
    Inscrit:
    7 Juillet 2003
    Messages:
    1 215
    J'aime reçus:
    0
    Si je comprend. Non, tu ne l'avais pas fait pour rien, car c'est le niveau d'erreur que tu doit avoir en mode développement.
    Evidemment, après la modif du fichier de conf tu avais redémarré Apache.


    Donc, en local, avec un niveau d'error_reporting élevé ( E_ALL | E_STRICT ou E_ALL ), tu n'as aucun message d'erreur : pas de Notice, de Warning ou autre.

    Chez ton hébergeur, tu peux modifier le niveau d'error_reporting :
    http://fr.php.net/manual/fr/function.er ... orting.php

    tu as qu'à faire la modif dans un fichier que tu inclus dans tout tes scripts ( un fichier de conf )
     
  39. helrod
    helrod WRInaute discret
    Inscrit:
    17 Mars 2005
    Messages:
    166
    J'aime reçus:
    0
    Le niveau d'erreur est déjà E_ALL par default.
    Le probleme as été reglé.

    J'indique la réponse ici pour ceux à qui cela arriverait.
    Il s'agit tout simplement d'une variable qui en ecrase une autre.
    En effet ma variable login et $_SESSION['login'] etait en conflit.
    En renommant $login en $login_data, le problème est réglé.
     
Chargement...
Similar Threads - Passage easyphp hebergeur Forum Date
Passage à GA4 Google Analytics 4 Mai 2022
Fréquence passage googlebot Crawl et indexation Google, sitemaps 30 Janvier 2021
WordPress Bug de référencement après passage du .fr au .com Débuter en référencement 9 Octobre 2020
Astuce Presta passage de 1.6 à 1.7 en gardant les images rubriques et sous rubriques e-commerce 8 Avril 2020
WordPress Problème référencement depuis passage Joomla sur WordPress Problèmes de référencement spécifiques à vos sites 21 Février 2020
Passage de la langue principale en sous-répertoire, que faire de la racine ? Référencement international (langues, pays) 15 Janvier 2020
Passage de mon site en Https Problèmes de référencement spécifiques à vos sites 29 Décembre 2019
Search Console Chute du référencement suite au passage en HTTPS Référencement Google 27 Décembre 2019
WordPress Problème référencement depuis passage Joomla sur Wordpress Problèmes de référencement spécifiques à vos sites 19 Décembre 2019
Comment augmenter la fréquence de passage de GoogleBot Crawl et indexation Google, sitemaps 10 Décembre 2019
Passages de sous-domaines en paths Débuter en référencement 24 Octobre 2019
Search Console Passage de HTTP à HTTPS (Fichiers ROBOTS.TXT et SITEMAP) 0 Crawl et indexation Google, sitemaps 16 Mai 2019
WordPress SEO 100% OK, mais pas de passage sur le site Débuter en référencement 7 Mai 2019
Passage de version mobile à responsive Problèmes de référencement spécifiques à vos sites 6 Février 2019
Gérer le passage de forumactif à phpbb Référencement Google 19 Janvier 2019
Perte de trafic suite passage https Débuter en référencement 9 Janvier 2019
Désindexation de mes images suite au passage à l'index mobile-first (MFI) Problèmes de référencement spécifiques à vos sites 27 Octobre 2018
WordPress Passage en https, le plugin Wp Force Https suffit-il ? Netlinking, backlinks, liens et redirections 11 Octobre 2018
Passage à Mobile-first indexing : et boum ! Débuter en référencement 28 Septembre 2018
Toutes les pages désindexées après passage https Crawl et indexation Google, sitemaps 12 Septembre 2018