Conection mysql dans frame impossible

Résolu
maxs15 Messages postés 28 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 30 mai 2009 - 17 févr. 2009 à 22:59
maxs15 Messages postés 28 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 30 mai 2009 - 18 févr. 2009 à 23:30
Bonjour,


Je sollicite aujourd'hui votre aide pour un problème qui m'est totalement inconnue.


Je dispose d'une page principale index.php,qui est constitué de 2 frame(haut et bas ).


Pour que mon projet marche,il me faudrait me connecter a la base mysql à partir de la frame bas.


Or Cela ne marche pas,la seul page ou je puisse me connecter est index.htm


Si ce n'est pas possible la seule solution serez un script dans la page
principale qui s'exécute lorsque la frame bas est réactualiser...et
donc beaucoup de travail pour une chose simple...


Merci de m'éclairer,

13 réponses

maxs15 Messages postés 28 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 30 mai 2009
18 févr. 2009 à 21:05
Probléme résolu,enfaite c'était ma variable $idmLog qui était erroné! Merci a tous pour votre aide!
3
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
18 févr. 2009 à 00:07
Salut,

Deux petites remarques :
 - Le PHP devrais te servir a générer le HTML et non y être intégré par ci par là a l'arrache, de ce point là le fait qu'il y ai des frame n'importe plus du tout.
 - Les frammes sont a bannir, vire les donc le plus rapidement possible. Leur utilisation n'apporte aucun avantage mais énormément de problèmes divers.
0
maxs15 Messages postés 28 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 30 mai 2009
18 févr. 2009 à 00:11
Dans le cadre de mon projet les frames sont malheureusement obligatoire,car il me faut une partie de la page se réactualisant indépendamment de l'autre.
Je ne suis donc pas venu ici pour des leçons,mais pour solliciter votre aide.

Merci,
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
18 févr. 2009 à 09:11
Non les frames ne sont pas obligatoires, tu as d'autres manières de faire, par exemple en ajax.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maxs15 Messages postés 28 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 30 mai 2009
18 févr. 2009 à 15:28
Avant de songer a recommencer un projet auquel j'ai accorder des heures de travail,et auquel il ne me reste plus que ce petit problème insignifiant pour pourvoir le terminer a bien.J'aimerai connaitre si oui ou non il est possible d'exécuter une requête mysql dans une frame.

Merci de votre compréhension,
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
18 févr. 2009 à 19:22
Oui c'est possible, un simple mysql_connect() et tu es connecté, que la page soit chargée depuis une frame ou pas. Ceci ce gère côté serveur, donc frame ou pas ça ne changera rien.

Au passage, fait bien attention a ce que ton fichier ait bien l'extension .php, sinon apache ne va pas appeller php pour interpretter ton code.
0
maxs15 Messages postés 28 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 30 mai 2009
18 févr. 2009 à 19:28
C'est ce que je pensé également mais cela ne marche pas...
J'ai un mysql_connect dans la page principale ou j'exécute des requêtes qui fonctionnent parfaitement.
Dans la frame je procède a un mysql_connect,et puis j'exécute la requête,mais en faisant un echo pour tester,celui ci ne retourne rien...
Le code est correct,je l'ai testé dans la page principale celui-ci fonctionne parfaitement.
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
18 févr. 2009 à 19:42
Si la connexion avait échouée tu aurais eu de jolis messages d'erreur, puisque tu n'en fait pas mention je suppose que l'erreur n'est pas là. Est-il possible de voir ton code stp ?
0
maxs15 Messages postés 28 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 30 mai 2009
18 févr. 2009 à 19:49
bien sur,

<?php

$host = "xxxx"; // Adresse du serveur MYSQL
$user = "xxxx"; // Utilisateur de MYSQL
$pass = "xxx"; // Mot de passe de MYSQL
$bdd = "xxxx"; // Base de donnée utilisé dans MYSQL

@mysql_connect($host,$user,$pass)
   or die("Impossible de se connecter");
@mysql_select_db($bdd)
   or die("Impossible de se connecter");

$idmLog=$_GET['idmLog'];
  
 //On recupere notre nombre de points
$donnees23= mysql_query("SELECT points FROM fk_membres WHERE idm='".$idmLog."'");
$mesPoints23= mysql_fetch_assoc($donnees23);

echo $mesPoints23['points'];  
?>
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
18 févr. 2009 à 21:54
Heureux que tu ai pu trouver ton soucis.

Au passage, j'ai le plaisir de t'avertir d'une très grave faille de sécurité dans ton code. N'importe qui est en mesure d'effectuer une injection de sql et de dumper toute ta base de donnée. Je t'invite a assainir ta variable $_GET['idmLog'] (ou $idmLog si tu veux, les deux sont identiques et ça t'as été complètement inutile d'utiliser cette dernière variable de transition).

Juste pour le fun je t'invite a utiliser la chaine suivante dans ta variable get (en modifiant l'url dans ton navigateur) :
42' AND 4=2 UNION SELECT CONCAT('Base : ', DATABASE(), '
Utilisateur : ', CURRENT_USER(), '
Il y a ', `TABLE_ROWS`, ' entrees dans la table et je peux toutes les lister.') AS 'points' FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA`=DATABASE() AND `TABLE_NAME`='fk_membres' LIMIT 1 --

Ceci aura pour effet d'afficher le nom de ta base de donnée, le nom d'utilisateur que tu utilise (avec le host) et le nombre d'entrées de la table fk_membres.
Tu remarquera que j'utilsie directement fk_membres parce que je connais d'avance le nom de cette table, mais grâce a information_schema n'importe qui le retrouve ainsi que le nom et la structure complete de toutes tes tables.

Toi qui disais ne pas être là pour des leçons, en voici une bien bonne qui t'apprendras a assainir les donnés provenant d'un utilisateur. lorsque tu attend un entier, utilise donc intval(), floatval() pour un float, mysql_real_escape_string() ou htmlentities() pour une chaine de caractères etc.
0
maxs15 Messages postés 28 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 30 mai 2009
18 févr. 2009 à 23:10
Merci pour l'info complémentaire ;) Au contraire mon but est d'apprendre :)

Néanmoins je suis tout de même déçu car les requêtes mysql a l'intérieur de ma frame ne marche pas en mon espérance.
Cela marche mais elle ne sont exécutés qu'une seul fois,je pensé que comment la frame est réactualiser avec des sites toutes les 10sec,les requêtes exécuteraient toutes les 10sec mais non,et enfaite cela est même logique^^

En réfléchissant la seule solution qu'il me reste est d'exécuter ces requêtes grâce a l'Ajax.Et vu mes connaissances nuls en la matiére.Je suis dans la *****. :p
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
18 févr. 2009 à 23:21
Le php est côté serveur, il est normal que la requête sql ne soit effectuée que lors du chargement de la page (la page de la frame bien entendu). Tu peux tenter de faire se rafraichir la page à l'aide d'une balise meta (<meta http-equiv="Refresh" content="temps; page.php" /> avec le temps en secondes et page.php le non de ta page), cependant je connais trop mal els frames pour te dire si une frame peu contenir un header et s'il sera bien interpretté sur tous les navigateurs.
0
maxs15 Messages postés 28 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 30 mai 2009
18 févr. 2009 à 23:30
Malheureusement je ne peut pas^^
Car une liste est généré sous forme de tableau javascript est formé dans la page principale,Si je réactualise toute les sec la page principale,on ira pas loin dans la liste :p lOl
Faire une requête mysql avec JAVAX qui pourrait pourquoi pas s'exécuter toutes les 10sec,esce compliquer?

Je tiens a vous remerciez tout de meme pour l'aide et le temps que vous me consacré,je trouve cela fort sympathique.
0
Rejoignez-nous