Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL Webou Webou Pro
Recherche avancée  
*
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
24 Novembre 2017, 12:34:17


Connexion avec identifiant, mot de passe et durée de la session


Pages: [1] 2   Bas de page
  Imprimer  
Auteur Fil de discussion: Base de données non trouvée  (Lu 3503 fois)
0 Membres et 1 Invité sur ce fil de discussion.
tef
Nouveau
*
Hors ligne Hors ligne

Messages: 20


Voir le profil
« le: 27 Février 2011, 15:44:30 »

Salut à tous,

la question est sans doute bête mais je n'ai tjs pas de réponse après avoir étudié les tutos, et cherché sur le forum.

Donc voilà: j'ai transféré, via Filezilla, mes fichiers php sur le dossier Webou public_html, et j'ai créé ma base de données (j'ai vérifié son existence et son contenu en passant par PHPMyAdmin).

Mon module de connexion à la base de données comporte ces instructions:

<?php
$cnx=mysql_connect("localhost", "tef_xxx", "yyy") or die("Impossible de se connecter au serveur Webou");
mysql_select_db("tef_zzz") or die("Impossible de trouver la base de données tef_zzz");
?>


note: xxx, yyy, et zzz sont juste des masques sur les informations d'utilisateur et de base de données.

Le message d'erreur que je reçois lorsque je me connecte sur le site est : Impossible de trouver la base de données tef_zzz.
Si je m'amuse à changer le nom de la base de données pour information_schema (la base de données par défaut sur PHPMyAdmin qui est listée juste au-dessus de ma base de données), ma page d'intro s'affiche correctement.

Quelqu'un voit ce que j'ai raté?

Merci pour toute aide,
tcho,
tef.
« Dernière édition: 27 Février 2011, 18:27:27 par tef » Journalisée
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« le: 27 Février 2011, 15:44:30 »

 Journalisée
MrsB
Staff Webou.net
*****
Hors ligne Hors ligne

Messages: 1 133



Voir le profil
« Répondre #1 le: 27 Février 2011, 16:21:59 »

Première vérif: il n'y a pas d'espace, de majuscules, ou de caractères accentués dans tout ça, y compris xxx, yyy, zzz Huh
Journalisée
tef
Nouveau
*
Hors ligne Hors ligne

Messages: 20


Voir le profil
« Répondre #2 le: 27 Février 2011, 16:39:10 »

Hello MrsB,

Tout du non accentué, sans espace.
J'ai de la majuscule, par contre. Je change ça et je reviens.

EDIT: base de données détruite, refaite sans majuscule dans le nom => Même message d'erreur.
« Dernière édition: 27 Février 2011, 16:52:04 par tef » Journalisée
MrsB
Staff Webou.net
*****
Hors ligne Hors ligne

Messages: 1 133



Voir le profil
« Répondre #3 le: 27 Février 2011, 17:33:41 »

Bon, alors c'est pas ça, on continue:

Que prends tu comme logiciel pour éditer ce fameux fichier de connexion à la base de données??
Journalisée
tef
Nouveau
*
Hors ligne Hors ligne

Messages: 20


Voir le profil
« Répondre #4 le: 27 Février 2011, 17:43:19 »

J'utilise habituellement Notepad++ (version 5.8.1).

Cependant, pour les petites manip depuis que le fil a démarré, j'ai édité directement dans Filezilla (ce qui ouvre le Notepad) avant d'envoyer sur Webou.

Une petite info en passant: j'ai créé la base de données et les utilisateurs via le panneau cPanel mais j'ai rempli ma base de données via PHPMyAdmin (en utilisant un fichier.sql à moi, comportant mes tables et quelques lignes déja préparées).

Et une question: il ne faut pas par hasard activer la base de données? (Je n'ai rien vu pour le faire dans cPanel mais le tuto parle d'un OGSpy que je n'ai pas touché car je ne voyais pas le lien avec le processus de création).
« Dernière édition: 27 Février 2011, 18:11:00 par tef » Journalisée
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« Répondre #4 le: 27 Février 2011, 17:43:19 »

 Journalisée
MrsB
Staff Webou.net
*****
Hors ligne Hors ligne

Messages: 1 133



Voir le profil
« Répondre #5 le: 27 Février 2011, 19:51:10 »

Citation
Filezilla (ce qui ouvre le Notepad)
... pas le notepad windows?? Parce qu'il crée souvent un pb d'encodage!! Tu parles bien là encore de notepad ++ ??

Fichier .sql: normalement, pas de problème.
Activer la BDD: non, a priori pas d'activation nécessaire.
Journalisée
tef
Nouveau
*
Hors ligne Hors ligne

Messages: 20


Voir le profil
« Répondre #6 le: 27 Février 2011, 20:14:35 »

Je confirme: le Notepad++.

Merci pour le retour concernant le .sql et l'activation.

Dernier essai en date: j'ai basculé toutes les tables de ma bdd en MyISAm, vu que c'est le moteur utilisé par Webou mais ça n'a pas aidé.
Par contre, interrogation: comme je n'y connais pas gd chose la-dedans, je suis allé googler voir les différences entre InnoDB et MyISAM, et j'ai lu que le moteur MyISAM ne supporte pas les clés étrangères (http://www.tux-planet.fr/mysql-les-principales-differences-entre-myisam-et-innodb/).
Or, moi j'en utilise. Je ne risque pas d'avoir des pb plus tard? (Plus tard car je n'en suis pas encore au stade où je peux "jouer" avec mes tables  Grima&ccedil;ant).
« Dernière édition: 27 Février 2011, 20:43:57 par tef » Journalisée
MrsB
Staff Webou.net
*****
Hors ligne Hors ligne

Messages: 1 133



Voir le profil
« Répondre #7 le: 27 Février 2011, 21:34:08 »

Je farfouille et une question me vient (sans rapport avec ton post juste au-dessus)
comment se fait-il qu'on arrive directement sur identification.php quand on entre sur ton site??

Je m'explique: comme tu as fouillé les tutos, tu as dû voir que la page d'accueil devait s'appeller index.php ou .html.

Donc: soit je devrais avoir un msg d'erreur (si pas d'index.php) soit avoir le message d'erreur de connexion à la page sur index.php...

Mais là il y a un truc que je ne comprends pas trop...

Sinon, perplexité aussi: à quoi sert une bdd qui ne supporte pas les clés étrangères??
Journalisée
tef
Nouveau
*
Hors ligne Hors ligne

Messages: 20


Voir le profil
« Répondre #8 le: 27 Février 2011, 23:35:40 »

Pour ta 1ère question: mon index.php renvoie à la page d'identification si l'utilisateur ne s'est pas identifié (le test est fait dans index.php justement :-p). C'est pour éviter qu'un malin qui a deviné le nom de ma page d'intro s'y connecte sans être passé par la case départ.

J'aurais pu directement démarrer sur la page d'identification (et appeler celle-la index.php) mais, là, je suis sûr que le contrôle $_SESSION est bien opérationnel.

Pour la seconde, je dirais comme toi: à pas grand chose :-) mais je répète seulement ce que j'ai lu sur internet à propos d'un moteur myISAM.
Journalisée
MrsB
Staff Webou.net
*****
Hors ligne Hors ligne

Messages: 1 133



Voir le profil
« Répondre #9 le: 28 Février 2011, 00:37:10 »

Bhein...

Attends, ya pas un bug logique??
tu arrives sur index, tu es redirigé automatiquement puisque $session est nécessairement vide.
Donc comment tu t'identifies pour remplir $session?

Si la db est branchée, tu as un form d'identification?? Ou le connex.inc ne marche que depuis l'index?
Parce que le $session qui buggue, c'est le genre de chose que je vois bien fonctionner en local mais planter en distant...!
Journalisée
tef
Nouveau
*
Hors ligne Hors ligne

Messages: 20


Voir le profil
« Répondre #10 le: 28 Février 2011, 01:30:59 »

Le formulaire d'identification est lancé depuis la page d'identification, et c'est dans ma page d'identification que je lis ma base de données (include("basetef.php");).

Donc, oui, l'ordre que j'ai prévu est:

1) On entre dans index.php
2) si on est déjà identifié, on déroule le reste de la page index.php (pas de test de connexion ici; il y juste affichage de la page d'accueil et mise en place des liens pour les autres pages)
3) sinon, on renvoie à la page d'identification (où on effectue la connexion avec la base de données, et où on envoie le formulaire d'identification).
A la première arrivée dans index.php, c'est sûr, on va directement dans identification.php
4) Le formulaire d'identification récupère 2 info (e-mail et mot de passe associé) qui doivent figurer dans la bdd.

Note: A ce niveau là, existe également la possibilité, pour ceux qui ne figurent pas déjà dans la bdd, de s'inscrire (on passe alors à une autre formulaire mais c'est une autre histoire).

5) Au niveau du formulaire d'identification un test est fait pour savoir si le couple (email, mdp) est correct auquel cas soit on passe à la suite dans index.php, soit on reste au niveau de identification.php.

***

J'avoue ne pas m'être posé plus de questions que ça au niveau de ma stratégie puisque ça marchait en local.
Mais ta remarque sur la possibilité que ça puisse planter en distant m'invite à revoir mon code (mais si tu vois déjà un loup quelque part, merci de me le signaler!).
Je m'y attelle demain  Clin d'oeil
« Dernière édition: 28 Février 2011, 02:14:47 par tef » Journalisée
tef
Nouveau
*
Hors ligne Hors ligne

Messages: 20


Voir le profil
« Répondre #11 le: 02 Mars 2011, 10:35:24 »

J'ai testé un index.php tout simple:

<?php
$db = mysql_connect("localhost", "tef_xxx", "yyy") or die("Pas de connexion");
mysql_select_db("tef_zzz") or die("Pas de bdd");

// reste du code non mis car sinon mon message ne passe pas:
// j'affiche le contenu d'une table de la bdd

?>


avec ce code, qui marche en local, je meurs sur l'ouverture de la bdd en distant ("Pas de bdd").
Or, à moins de n'avoir pas compris quelque chose au processus de création de la bdd, cette dernière existe (je la vois avec phpMyAdmin).

Si qqun a une idée sur le pourquoi du problème...
Merci!
tef
Journalisée
tef
Nouveau
*
Hors ligne Hors ligne

Messages: 20


Voir le profil
« Répondre #12 le: 02 Mars 2011, 10:46:01 »

Le reste du code.
J'ai trouvé ce qui faisait planter mon message: c'est l'instruction SEL...
Je ne la mets pas au complet ci-dessous exprès:

$req = "SELECx * FROM clients";
$resultat = mysql_query($req, $db);
$res = mysql_num_rows($resultat);

echo "
<table border=1 WIDTH=50% bgcolor=cyan cellspacing=5 cellpadding=10>   
<caption>Liste clients.</caption>
   <tr bgcolor=cyan>
      <th> E-mail </th>
      <th> mdp </th>
   </tr>
";
            
while ($ligne = mysql_fetch_array($resultat))
{
   $lemail = $ligne['email_cl'];
   $lemdp = $ligne['mdp_cl'];
   
   echo "<tr bgcolor = gainsboro>
   <td> ".$lemail." </td>
   <td> ".$lemdp." </td>
   </tr>";
} // fin du while

echo "Il y a ".$res." enregistrement(s) dans la table clients.";


Voilà. Si vous voyez ce qui cloche car moi je cale...
tef
Journalisée
MrsB
Staff Webou.net
*****
Hors ligne Hors ligne

Messages: 1 133



Voir le profil
« Répondre #13 le: 02 Mars 2011, 13:05:09 »

Moi je vois que tu inclus la connexion à la bdd dans le script de la page, directement, et pas en passant par un include.
Donc si tu quittes la page index.php pour aller sur identification.php (ce qui se fait automatiquement puisque $session est automatiquement vide), la connexion est peut-être rompue, sauf si tu as mis pile la même chose en tête de script de identification.php.

Par ailleurs -- mais alors là ma main au feu que plein de monde va hurler en disant "c'est pareil", j'ai déjà vu des requêtes planter suite à l'usage de " et non de ' .
Je n'ai pas souvenir d'avoir vu ça sur Webou, mais je tenterais quand même!

M'enfin il y a peut-être un truc énorme qui me crève les yeux et que je ne vois pas...

EDIT: as-tu refait des modifs depuis ton dernier post? Parce que moi j'ai "Pas de connexion", et non "Pas de Bdd"... non pas que ce soit mieux, mais....
« Dernière édition: 02 Mars 2011, 13:08:40 par MrsB » Journalisée
MrsB
Staff Webou.net
*****
Hors ligne Hors ligne

Messages: 1 133



Voir le profil
« Répondre #14 le: 02 Mars 2011, 13:21:21 »

Diable! Il s'est connecté!! Grima&ccedil;ant Grima&ccedil;ant Grima&ccedil;ant
Journalisée
Pages: [1] 2   Haut de page
  Imprimer  
 
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Dilber MC Theme by HarzeM
Page générée en 0.023 secondes avec 21 requêtes.