IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] Problème d'accès à la base pour un 3 cas


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut [POO] Problème d'accès à la base pour un 3 cas
    Voila, j'ai 3 users dans la base donnee, mais le troisieme ne parviens pas a entree pourquoi selon vous ca me dit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to a member function on a non-object in /var/www/html/cms/admin/main.php on line 153
    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut suite
    desole pour les fautes........

  3. #3
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    ou bien tu postes ton code, ou bien tu vas chercher la réponse sur http://madame.soleil.free.fr/

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Il serait pratique que tu nous donnes le code correspondant. En attendant, je soupçonne soit une erreur de syntaxe à cette ligne, soit un objet non instancialisé dans certains cas.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Citation Envoyé par Eusebius
    ou bien tu postes ton code, ou bien tu vas chercher la réponse sur http://madame.soleil.free.fr/
    MAdame soleil ca marche peut être.....

    +1 pour eusebius ton code..
    Stay in Bed .. Save Energy

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    $errmsg=''; $con_status=false;
    if ($_POST['submit']&&$_POST['usr']&&$_POST['pwd'])
    	{ 
    		$con_status= $db->connect();
    		if ($con_status) {
    			$query="SELECT u_id, u_name FROM cms_users WHERE u_user=".tosql($_POST['usr'])." AND u_pass=".tosql($_POST['pwd']);
    			$db->query($query);
    			if ($db->num_rows()==1)
    				{ 
    					$db->next_record();
    					$_SESSION['pid']=$db->f('u_id');
    					$_SESSION['username']=$db->f('u_name');
    					$_SESSION['uk']=$_COOKIE['PHPSESSID'];
    					$connect_status=true;
    				}
    			else
    				{
    					$_SESSION['uk']='';//die('1');
    					echo "L'usager n'est pas registre aux modules d'administration.";
    					$connect_status=false;
    				}
    Merci encore

  7. #7
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    étape suivante : quelle est la ligne 153 ?? Ca nous fera gagner du temps.
    On va y arriver...

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut suite
    Ca dit ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <? if (isset($_GET['mod'])) $MODULES[$_GET['mod']]->handle_event($_GET['action']);?>
    En fait on traduit par le fait que il ne peut acceder dans une page mais le prob est que il est un users autoriser alors je comprends pas
    Voici la table va comprendre....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    -- 
    -- Structure de la table `cms_users`
    -- 
     
    CREATE TABLE `cms_users` (
      `u_id` smallint(5) unsigned NOT NULL auto_increment,
      `u_name` varchar(50) NOT NULL default '',
      `u_user` varchar(10) NOT NULL default '',
      `u_pass` varchar(10) NOT NULL default '',
      PRIMARY KEY  (`u_id`)
    ) TYPE=MyISAM AUTO_INCREMENT=4 ;
     
    -- 
    -- Contenu de la table `cms_users`
    -- 
     
    INSERT INTO `cms_users` VALUES (1, 'Mario Marinov', 'autop', 'cms');
    INSERT INTO `cms_users` VALUES (2, 'Claude Couture', 'autos', 'cc');
    INSERT INTO `cms_users` VALUES (3, 'Patrick Duguay', 'essai', '1234');

  9. #9
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Comme ça, bêtement, je dirais que $MODULES[$_GET['mod']] n'est pas ce que tu penses qu'il est. Vérifie la valeur de $_GET['mod'], vérifie $MODULES[$_GET['mod']]...

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut
    Non mais pourquoi cela fonctionne pour les deux premiers inscrit mais pas pour le troisieme?

  11. #11
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par clovis200
    Non mais pourquoi cela fonctionne pour les deux premiers inscrit mais pas pour le troisieme?
    Tu as remarqué que le bout de code que tu nous as donné n'est pas celui où il y a une erreur ?

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut re suite
    Ben la c le code qu'il me donne en ligne 153 voici le haut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // modules handling ******************************************************
    $MODULES=array();
    	if ($_POST['mod']) $_GET['mod']=$_POST['mod'];
    	if ($_GET['mod']=='') $_GET['mod']=0;
    	if ($_POST['action']) $_GET['action']=$_POST['action'];
    	$action=get_param('action');
     
    	include_once("modfetch.php");
    	if (!$_GET['action']) $_GET['action']=$MODULES[$mod]->actions[0]->name;
    	@include_once($MODULES[$_GET['mod']]->path.$MODULES[$_GET['mod']]->filename);
     
    // end mod handling ****
    Mais selon toi la, ta 3 personnes en users, les deux premiers peuvent rentrer mais pas le 3 ieme cela vient de quoi pas du code c pas possible

  13. #13
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par clovis200
    Mais selon toi la, ta 3 personnes en users, les deux premiers peuvent rentrer mais pas le 3 ieme cela vient de quoi pas du code c pas possible
    Ah bon ? Ca vient pas du code ? OK... Pourtant c'est louche, t'as une belle erreur...

    Pourquoi tu mélanges GET et POST, déjà ?

    Ensuite, remplace
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset(($_POST['mod'])) {...}

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut Re suite
    Eusebius t'es sympa mais g trouvé la faille, en fait il y a une autre table et j'ai rajouté une ligne et cela a fonctionne alors dis moi ce que tu en pense
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    -- 
    -- Structure de la table `cms_mod_access`
    -- 
     
    CREATE TABLE `cms_mod_access` (
      `u_id` tinyint(3) unsigned NOT NULL default '0',
      `m_path` char(20) NOT NULL default ''
    ) TYPE=MyISAM;
     
    -- 
    -- Contenu de la table `cms_mod_access`
    -- 
     
    INSERT INTO `cms_mod_access` VALUES (1, '01-articles');
    INSERT INTO `cms_mod_access` VALUES (2, '01-articles');
    INSERT INTO `cms_mod_access` VALUES (3, '01-articles');
    donc en fait c lié et si j'avais pas rjouté une ligne disans qu'il pouvait acceder a un module ben j'aurais pu cherche longtemps, merci amigo mais j'en ai une autre pour toi : que je vais intitulé probleme d'enregistrement base, peux tu m'aider?

  15. #15
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par clovis200
    j'en ai une autre pour toi : que je vais intitulé probleme d'enregistrement base, peux tu m'aider?
    C'est de mieux en mieux, maintenant tu demande de l'aide sans poser la question ? C'est encore mieux que de pas mettre le code !

    Ben écoute, fais ton topic, pose ta question proprement, avec le code qui correspond et les erreurs générées, et advienne que pourra...

  16. #16
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    clovis200 : Avant de poster à nouveau, pourrais-tu avoir l'amabilité de lire ce sujet ?
    Tant que tu respectes les règles, pose les questions que tu veux. Ne t'adresse à personne en particulier car c'est vexant pour les autres (quoi pourraient parfois autant t'aider, voire mieux).


    Merci, bonne continuation.

  17. #17
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Yogui
    Ne t'adresse à personne en particulier car c'est vexant pour les autres
    Et gênant pour la personne en question. Un peu comme les questions techniques par MP.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] Constructeur et gestion des accès
    Par olivier69 dans le forum Langage
    Réponses: 1
    Dernier message: 08/08/2010, 12h30
  2. Réponses: 5
    Dernier message: 23/11/2006, 13h55
  3. Réponses: 3
    Dernier message: 30/05/2006, 19h09
  4. [débutant] avoir accès aux données de la base BCDI 3
    Par Valichou dans le forum Bases de données
    Réponses: 7
    Dernier message: 06/05/2004, 13h13
  5. Réponses: 7
    Dernier message: 08/03/2004, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo