STIC Discussion:STIC II - exercice 12 (Nestor-Pixel)
Liens ?
Bonjour, je n'ai pas trouvé comment faire apparaître les url sous forme de liens cliquables dans la base de données.
Sylviane 8 mars
salut sylviane :) heu... je dois dire que je comprends pas vraiment ta question... tu pourrais préciser? merci :)
--Bertrand Schneider 9 mars 2008 à 11:01 (CET)
- tu vas comprendre avec la capture écran ci-jointe :
page principale [1]
Comme tu peux voir, les url ne sont pas soulignées, elles ne sont pas actives (enfin le soulignement n'est pas une preuve puisqu'on peut le supprimer.. mais bon, admettons :-)
Or j'aimerais bien qu'à partir de cetet page on puisse accéder aux ressources...
Sylviane 9 mars à 12:36 (CET)
- Je suis pas sur d'avoir compris non plus. D'où vient cette image ? PhpMyAdmin ? Webgenerator ? tu as une adresse où on peut voir d'où provient cette image ? Si c'est une image de PhpMyAdmin, tu ne pourras jamais avoir de liens cliquables depuis ta base de données (à moins que....... mais ça devient du gros hacking :P )--Davidc 10 mars 2008 à 07:00 (CET)
- Cela vient d'un générateur. Donc soit on peut lui apprendre comment afficher un URL, soit il faudrait trouver l'endroit dans le code généré et changer manuellement. Je pense que c'est plutôt cela qu'il faut faire (editer le fichier list.php). - Daniel K. Schneider 10 mars 2008 à 10:23 (CET)
Installation sur serveur Université
Pour les exercices 11 et 12, vous nous demandez d'installer les bases de données sur le serveur MySQL de l'université mais apparemment on ne peut installer qu'1 seule base de données, avec comme nom son propre login. J'en déduis qu'on aura alors plusieurs tables qui n'auront pas de lien entre elles et les 2 bdd vont donc être mélangées, ça ne fait rien ?
Autre question : J'ai généré le code php avec Webgenerator puis fait quelques modifications. En local ça marche très bien : on peut compléter la base de données grâce à un formulaire et on voit que le lien se fait correctement avec MySql. Comment faire pour que ça marche sur le serveur du Tecfa, en admettant que l'on mette les pages ainsi générées dans le repertoire ex12 (comme je l'ai fait) ? Faut-il changer des chemins et si oui lesquels ?
Sylviane 9 mars
pour les ex 11 et 12 tu n'as besoin que d'une seule base de données normalement... avec minimalement deux tables (les tables c'est ok, tu peux en créer autant que tu veux). Quand tu parles des deux bases de données mélangées, laquelle est la deuxième?? (désolé je dois pas être bien réveillé ce matin :PPP)
--Bertrand Schneider 9 mars 2008 à 11:01 (CET)
- non c'est moi qui m'explique mal mais enfin peut-être que tu as fait la fête aussi hier soir :-)
pour l'exo 11 j'ai crée 1 bdd avec 2 tables que j'ai mises en relation, pour le 12 j'ai rassemblé les 2 en 1 et modifié qqs points. Donc sur phpMyadmin, je fais passer les 2 tables de l'exo 11 et celle de l'exo 12 qui est nommée autrement. Mais c'est du vrac parce que apparemment c'est comme chez Free : on ne peut créer qu'une seule bdd (sur tecfa elle est sous mon login). Mais peut-être que j'ai mal compris... Sylviane
pour webgenerator, tes fichiers php peuvent être n'importe où ça marchera, la connexion à sql ne dépend pas d'un chemin. Essaie, tu verras ;)
- j'ai mis les fichiers générés par Webgenerator dans mon espace dans le dossier ex12 et la bdd est sur phpMyadmin et je suis coincée là : je ne sais pas comment faire pour qu'on voit le résultat comme en local, et que l'on puisse saisir. Sylviane
Plusieurs bases de données sur une seule
Un petit truc quand on est coincé avec une seule base de données : Ajouter des préfixes à ses tables :
- maltt_table1
- maltt_table2
- webGen_table1
- webGeb_table2
- ....
ça fait plus ordonner et permet de tout condenser dans une seule base de données.--Davidc 10 mars 2008 à 07:04 (CET)
Passer du local au serveur TECFA
Tu as oublié de changé tes codes d'accès à ta base de données dans TECFA. C'est le fichier /db/db_connection.php . Tu dois passer du root au nom que Stephane t'a filé. Un truc pour ne pas travailler avec plusieurs versions de fichiers. Quand vous avez une base de données externes qui requiert un login/password différent de root/NULL (c'est à dire tout le temps). C'est de créer un utilisateur dans votre PHPMYAdmin local avec les mêmes codes d'accès. Par exemple, si sur un serveur x, pour accéder à la BdD, le login est moi/mon motdepasse, vous créez ce même utilisateur en local. Comme ça, vos applis fonctionnent aussi bien en local que sur serveur (mais avec des BdD différentes).--Davidc 10 mars 2008 à 07:11 (CET)
- j'ai dû rater une étape : sur le serveur du tecfa, j'ai importé des fichiers SQL. Mes bases de données apparaissent bien voir capture ecran, (j'ai d'ailleurs suivi tes conseils pour les identifier) mais ensuite je fais quoi avec tous les fichiers php générés par WebFormGenerator (je les mets où ?) ? Est-ce que tu veux dire que si je les mets dans mon dossier ex12 et que je change le blabla dans le fichier /db/db_connection.php, il va trouver la bdd ?
- Si c'est ça, du coup à "$dbname", je mets quoi étant donné que j'ai 2 bdd dans une (revoir capture écran (exo11_.. et exo12_..)? en toute logique je mets le nom de la table (exo12_ressources) pour qu'il trouve la bonne,pas celui de la bdd non? J'ai juste ? Sylviane 11 mars 2008 à 17:01 (CET)
- je viens d'essayer (je pose d'abord la question et j'essaye après, c'est tout moi ça ;-). J'ai une erreur : Warning: session_start() [function.session-start]: SAFE MODE Restriction in effect. The script whose uid/gid is 16030/16100 is not allowed to access /var/tmp/ owned by uid/gid 0/3 in /web/etu-maltt/nestor/renards0/stic/ex12/biblio_maltt/general/header.inc on line 2
J'ai regardé dans le fichier header.inc :
session_start(); include('usersession.php'); include('db/db_connection.php');
if (!isset($_SESSION['usr'])) { $myData = new usersession(); } else { $myData = unserialize($_SESSION['usr']); }
je ne vois pas bien ce qui ne va pas...Peut-être y-a-t-il aussi qq chose à changer dans le fichier db_connection.tpl ??
Et vous ?
Pourquoi je ne vois pas vos bases de données sur http://tecfa.unige.ch/admin/phpMyAdmin/ ça m'inquiète beaucoup, suis-je au bon endroit ? David, pour les tables (les nommer de manière à ce qu'on s'y retrouve), c'est une idée pleine de bon sens et je l'adopte. Sylviane 11 mars 2008 à 13:40 (CET)
c'est normal, les permissions ont dû être réglées pour que tu ne puisses changer que tes tables (moi non plus je ne vois pas les tiennes). Bon, c'est le moment de se remettre à EIA ;) --Bertrand Schneider 11 mars 2008 à 16:19 (CET)
- ouais, c'est un peu une question de sécurité (et du hasard aussi). A priori vous permettre de voire vos bases de données respectives n'est pas dangereux, mais cela implique bcp de click/pas en plus à faire lors de la création de votre login.
suite..
euhh.. je viens de regarder le code de ton webGenerator.. En fait, tu peux pas utiliser de préfixe pour tes tables.. à moins de réécrire le WebGen... enfin, j'ai regardé vite fait, ça ne semble pas inclut (en général, ça l'est). Donc, retour à l'ancienne.
bug de session
Depuis janvier, le safe mode est de mise sur le serveur, faque tu dois trouver une solution tierce ;) (genre des cookies ou un BdD de session......)
En attendant, tu peux essayer de désactiver la commande :
// session_start();
je garantis pas le comportement de l'appli après.. à toi de nous dire.--Davidc 11 mars 2008 à 18:28 (CET)
- ça marche nickel chrome. David tu m'as bien dépannée ! J'ai une toute dernière question : j'aimerais bien que quand on clique sur "update" les données déjà entrées restent sur la fiche puisqu'il s'agit juste d'une mise à jour. Savez-vous ce que je dois entrer comme commande Php ? Sylviane 12 mars 2008 à 01:12 (CET)