Pb de connexion à une BD

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pb de connexion à une BD

par laeti » 17 août 2007, 13:47

Oui je pense que ça vient de la connexion car quand je fais appel à ma fonction de connexion, ça marche.
En fait, tout marche bien. Je vous sollicite car j'ai un doute sur ma façon de faire.

par d0m » 17 août 2007, 12:25

est ce que tu es sur que le problème vient de ta connection?
Si il n'y a aucun message d'erreur, c'est peut être que tes requêtes ne renvoient rien?

par laeti » 17 août 2007, 12:19

Je regarde un peu sur internet pour trouver des explications mais rien de concluant. Donc je vous resollicite.
En fait, mon site contient 7 pages de saisie d'un questionnaire d'enquête. Pour cela, j'ai un script de formulaire par page et un script de traitement des données saisies (enregistrement dans BD postgres) par page. Et un fichier avec ma fonction de connexion à ma BD.
Je vais appel à ce fichier dans chaque script de traitement et dans le 1er script de saisie mais je ne ferme jamais ma connexion. Jusqu'à la 6ème page de saisie, cela fonctionnait très bien mais à cette 6ème page, plus de connexion (pas de message d'erreur mais je m'en rend compte car mes listes déroulantes sont vides alors qu'elles doivent être remplies par mes tables).
Du coup, j'ai des gros doutes sur ma méthodes. Dois-je ouvrir et ferme ma connexion à chaque script?
Ou est-ce que je laisse comme ça et je refais appel à ma fonction là où ça bug? (pour l'instant c'est comme ça que j'ai fait et tout se passe bien mais ça me paraît louche!!!)

Merci pour vos commentaires.

par Invité » 16 août 2007, 14:13

En effet, à chaque changement de page, je fais un enregistrement.

Voici ma fonction:
function ConnexionBase()
	{
		$host="localhost";
		$user="postgres";
		$password="postgres";
		$BD_open="BD_Stage";
		
		// Connexion de l'utilisateur au serveur PostgreSQL situé sur le même ordinateur que le serveur web (localhost)
		// Sélection de la base de données BD_Stage
		$db=pg_pconnect("host=$host dbname=$BD_open user=$user password=$password");
		
		// Si la connexion échoue
		if ($db == FALSE){
			Erreur("Impossible d'établir la connexion");
		}
	}
Voici l'appel:
<!--Connexion à la base de données--->
	<?php
		include ("fonctions/fonctions.inc.php");
		ConnexionBase("BD_Stage");
	?>
Pour chaque page, j'ai un script pour le formulaire et un autre script pour le traitement (enregistrement dans la BD). L'appel se fait dans le 1er formulaire puis dans tous les scripts de traitement.

ze solution

par toto37 » 16 août 2007, 12:55

J'aurai une question à te poser:

1- A chaque changement de page tu fais un enregsitrement en base de données?
2- pourquoi ouvre tu une connexion sans jamais la fermer? ce qui revient a dire que tu crée 7 connexions (si elles sont persistentes)
bref pourrai tu me montrer ta fonction et l'appel de cette fonction sur chaque page?

Pb de connexion à une BD

par laeti » 16 août 2007, 11:40

Bonjour,

Je construis un site avec de nombreux formulaires de saisie dans une base de données PostgreSQL. Tout marche bien mais il se passe un truc bizarre: j'ai fait une fonction de connexion que j'ai appelé dans chaque script de traitement de saisie et qui est appelée dans mon script de 1er formulaire de saisie (NB: je dispose de 7 formulaires de saisie) mais arrivée au 6ème formulaire de saisie, plus de connexion. Donc j'y refait appel à ma fonction de connexion. Et pour le dernier formulaire, pas de pb.
A savoir qu'à aucun moment je n'ai fermé pas ma connexion. ça me parait bizarre mais surtout j'ai peur que ça provoque des bugs dans mes traitements.
Est-ce que quelqu'un a déjà rencontré ce genre de pb? Est-ce que cela craint de refaire appel ma fonction de connexion?
Merci de vos réponses.