Salut,
bon j'ai un chtit pb concernant l'insertion de news ds une bdd, je m'explique.
J'ai un fichier global_db.php qui contient les données concernant la BDD:
Code :
- <?
- // Déclaration des données relatives à la connexion BD
- $dsn = array(
- 'hosntname' => "localhost:3306", // Addresse du serveur MySQL
- 'username' => "xxx", // Nom de l'utilisateur
- 'password' => "xxx", // Mot de pass
- 'dbname' => "mabdd" // Nom de la BDD
- );
- ?>
|
Ensuite j'ai un fichier admin.php qui, par le biais de switch, gère les news, l'upload de fichier et les utilisateurs.
Code :
- include ("tools.php" );
- session_start();
- $id = $HTTP_GET_VARS['id'];
- $id_admin = $HTTP_GET_VARS['id_admin'];
- $id_news = $HTTP_GET_VARS['id_news'];
- $id_up = $HTTP_GET_VARS['id_up'];
- $act = $HTTP_GET_VARS['act'];
- $login = $HTTP_POST_VARS['login'];
- $password = $HTTP_POST_VARS['password'];
- $news_tab = array ($HTTP_GET_VARS['titre'], $HTTP_GET_VARS['texte'], $HTTP_GET_VARS['source'], $HTTP_GET_VARS['pole']);
- if ($login && $password) {
- $password = md5($password);
- $query = "SELECT * FROM user WHERE login = '$login' AND password = '$password' AND admin = 1";
- $result = db_doquery($dsn, $query);
-
- if (mysql_num_rows($result)>0) {
- $ligne = mysql_fetch_array($result);
- $admin = $ligne["admin"];
-
- if ($admin == 1 ) {
- $valid_user = $login;
- session_register("valid_user" );
- session_register("admin" );
- }
- }
- }
- ?>...
- <?
- // Gestion des News
- switch ($id_news) {
- case '1' : news_form ();
- break;
- case '2' :
- break;
- case '3' : news_listing (2);
- break;
- default :
- break;
- }
- switch ($act) {
- case '1' : news_insert($news_tab);
- break;
- case '2' : news_delete($id_news);
- break;
- case '3' : news_modify($id_news);
- break;
- }
- //elseif ($id_admin ='2') {
- // Upload Fichier
- //}
- ?>
|
Puis la fonction qui gère l'insertion dans le fichier tools_admin_news.php :
Code :
- function news_insert ($news_tab) {
- // Insertion d'une news
- $titre = $news_tab[0];
- $contenu = $news_tab[1];
- $source = $news_tab[2];
- $pole = $news_tab[3];
- $temps = date("Y-m-d" );
- $query = "INSERT INTO news (titre, contenu, pole, date, source) VALUES (\"$titre\",\"$contenu\",\"$pole\",\"$temps\",\"$source\" )";
- echo "query:".$query."<br />";
- $result = db_doquery ($dsn, $query);
- }
|
Dans le fichier tools_db.php :
Code :
- function db_doquery($dsn, $query) {
- $link = db_connect($dsn);
- db_select($dsn, $link);
- $result = db_query($link, $query);
- db_disconnect($link);
- return $result;
- }
|
Dès lors que je passe dans ma fonction db_doquery, il ne trouve pas le champ dbname et donc ne peut sélectionner la bdd.
Je ne comprends plus rien, car j'utilise le meme fichier global_db.php pour afficher mes news et il ne pose pas de pb lors de la selection de la bdd so je vois pas ce qui peut se passer ici.
Si qlq1 à une idée ou si g po été assez clair plizzz let me now ^^
++
PS: Dans tools.php je fais les include des différents fichiers nécessaires (tools_db.php, global_db.php, tools_admin_news.php)
Message édité par dirakocha le 24-06-2003 à 01:42:24
---------------
Q.G Tutoriaux ici