Page 1 sur 1

Problème php : impossible d'ajouter des données dans une tab

Posté : 14 janv. 2008, 00:00
Bonsoir à tous,

Voila j'ai créer une page html constitué d'un formulaire à remplir pour un site!
Je suis censé depuis là pouvoir écrire dans ma table les informations saisies.

Cependant lors de test, vérifications il persiste une erreur qui est assez agaçante!

A chaque validation du formulaire, il m'est impossible d'ajouter des données dans une table!
Le navigateur affiche une page blanche et c'est tout! J'utilises easy php et notepad++ pour informations!
Quelqu'un aurait une idéé s'il vous plait!

Voici quelques lignes extraites du code des différentes pages :


-> pour le formulaire à remplir Racine\formulaire.php

Code : Tout sélectionner

<form action="admin/addFORMULAIRE.php" method="post"> ... Nom : <INPUT type="text" name="Nom" size="30"><br/><br/> Prénom : <INPUT type="text" name="prenom" size="25"><br/><br/> ... </form>
-> Ecrire dans la base de données Racine\admin\addFORMULAIRE.php
<?php
...
	$Nom= $_POST['Nom'];
	$Prenom = $_POST['prenom'];
...
	include '../func.connexion.php';
	
	$requete = mysql_query("insert into population(Civilite, Nom, Prenom, Adresse, Code
			Postal, Ville, Email, TelephoneDomicile, TelephonePortable) values('$Choix','$Nom','$Prenom','$Adresse','$Cp','$Ville','$Email', '$TelephoneDomicile', '$TelephonePortable', '$ChoixMode')" or die("Erreur dans l'ajout");
	deconnect();
-> function de connection à la base de données Racine\func.connection.php
<?php
  /// connexion ///
  function connect(){
    // paramètres
    $hostDB = '****'; 
    $loginDB = '****';  
    $passwordDB = '****'; 
    $baseDB = 'panel aire urbaine'; 
    $cnx_host = mysql_connect($hostDB, $loginDB, $passwordDB) or die('La connexion au serveur de bases de donnée à échouée !');
    $cnx_base = mysql_select_db($baseDB);
  }
  
  function deconnect(){
    mysql_close();
  }
?>
...

Merci pour toutes vos réponses!

Posté : 14 janv. 2008, 00:28
par Ryle
As-tu un message d'erreur ? c'est généralement bourré d'information sur ce qui cloche :)

Déjà à première vue, tu as un espace ou un retour à la ligne dans la liste des champs de l'insert, au niveau de "Code Postal" ... c'est pas normal.

Par ailleurs, j'éviterais les espaces (ou autre caractères spéciaux dans le nom de la base... je te recommande aussi de sortir les variables de tes chaines pour une meilleure lisibilité, et de les protéger à coup de mysql_real_escape_string() pour éviter les injections et autre :)

Enfin, pense à utiliser les balises [ php ] quand tu postes du code, ca le met en forme, en couleur et c'est plus agréable pour nous ;)

re

Posté : 14 janv. 2008, 00:38
Désolé pour l'affichage!

En fait je viens juste de corriger pour le code postal...
Et aussi pour le nom de la table.

Il n'y a pas de message d'erreur, une fois le bouton envoyer cliquer après saisie des informations, le navigateur se place sur \admin\addFORMULAIRE.php et il m'affiche une page blanche! Tout comme le html quand tu ne fermes pas une balise, sauf que mes balises sont correctes, enfin il me semble...

Posté : 14 janv. 2008, 01:14
par iclo
Tu includes bien le fichier contenant la fonction de connexion, mais tu n'appelles jamais cette fonction.

Posté : 14 janv. 2008, 03:09
par spartaxhit
Comment fais tu pour appeler ta fonction alors?

Posté : 14 janv. 2008, 10:42
par Berzemus
Avec "include", tu ne fais "qu'ajouter" le script qu'il contient à ton script.

Et comme ce n'est pas en créant une fonction que tu l'exécutes, tu devrais ajouter "connect();" avant de vouloir envoyer des requêtes. D'ailleurs, tu utilises très bien "deconnect();".

Posté : 14 janv. 2008, 11:51
par Ryle
Hum... effectivement, sans appel à la fonction, ça va marcher beaucoup moins bien :) Mais je me demandais pourquoi le die n'avait pas renvoyé d'erreur "Erreur dans l'ajout" voire "impossible de se connecter" et en fait c'est parce qu'il manque une parenthèse : il devrait être en dehors du mysql_query().

Ton script renvoi donc en plus une parse error... et si tu obtiens une page blanche, c'est sans doute que les messages d'erreurs sont désactivés...