réalisation d'un formulaire PHP ->>SQL

aazimon
Invité n'ayant pas de compte PHPfrance

07 févr. 2007, 17:51

si tu faisais appel à la fonction après ta requête ca peut eventuellement aider :wink:

Petit nouveau ! | 4 Messages

07 févr. 2007, 17:55

Bonjour,

il doit manquer quelquechose dans ton script.
tu inclus bien le fichier connexionbase.php3,
la requete sql est préparé dans enregitrement.php

par contre, tu n'appelle à aucun moment la fonction connexionbase(&$cnx,&$req,$libreq).
Du coup, peu de chance d'ajouter des infos dans la base
:wink:

aazimon
Invité n'ayant pas de compte PHPfrance

07 févr. 2007, 17:59

Autre chose, fais gaffe dans ta requete de ne pas mettre des quotes quand le champ de la table est en numerique

je pense notamment aux champs nb_pieces et prix

Eléphant du PHP | 145 Messages

07 févr. 2007, 18:01

$sql = "INSERT INTO annonces( date, type, prix, surface, nbpieces, description, anciennete, localisation, telephone) VALUES('$date', '$type', '$prix', '$surface', '$nbpieces', '$description', '$anciennete', '$localisation', '$telephone')";   
echo "enregistrement de $type effectué";  
?>
là on a là variable $sql.
Mais faut pas faire un mysql_query() pour que ça fonctionne???
essaye ça:
$sql = "INSERT INTO annonces( date, type, prix, surface, nbpieces, description, anciennete, localisation, telephone) VALUES('$date', '$type', '$prix', '$surface', '$nbpieces', '$description', '$anciennete', '$localisation', '$telephone')";   
mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
echo "enregistrement de $type effectué";  
La culture, c'est comme la confiture, moins on en a, plus on l'étale.

aazimon
Invité n'ayant pas de compte PHPfrance

07 févr. 2007, 18:17

il le fait le "mysql_query() " dans la fonction "connexionbase"

Aaz - DSLvalley

Eléphant du PHP | 145 Messages

07 févr. 2007, 18:28

bah je vois qu'il fait un mysql_query(), effectivement mais c'est quoi la variable $libreq???
je ne l'a vois nul part dans les autres script...

Et un autre question qui m'instrigue, vue qu'un formulaire lis de haut en bas, il n'essaye pas de faire le mysql_query avant même de connaitre la variable qui doit executer???
La culture, c'est comme la confiture, moins on en a, plus on l'étale.

Petit nouveau ! | 9 Messages

07 févr. 2007, 18:59

Merci a vous j'ai enfin réussi à intégrer des valeurs dans la base.

Je donne le code final qui pourra être utile à quelqu'un d'autre peut etre:

** fichier: connexionbase.php3 **
<?
function connexionbase(&$cnx,&$req,$libreq)
{
//---------------------------------------------------------------------------------
//CONNEXION MYSQL
//---------------------------------------------------------------------------------

$cnx=mysql_connect("sql.domaine.com","base","password")
or die("Le serveur de base de données n'est pas disponible pour le moment. Si ce problème persiste veuillez
nous en informer.");


//---------------------------------------------------------------------------------
//SELECTION DE LA BASE DE DONNEES MYSQL
//---------------------------------------------------------------------------------
$database="base";
$DB=mysql_select_db(&$database) or die("Le système de gestion de base de données n'est pas disponible pour le moment.
Si ce problème persiste veuillez nous en informer.");
//if (!$DB)
      //{echo "ERREUR DE CONNEXION !!!";}//ouvrir une fenetre d'erreur

//---------------------------------------------------------------------------------
//EXECUTION DE LA REQUETE  MYSQL
//---------------------------------------------------------------------------------

//echo $libreq;
$req=mysql_query($libreq) ;
//or die("UNE ERREUR S'EST PRODUITE DANS LA REQUETE");
};
?>
** fichier: formulaire.php**
<form method='POST' action='enregistrement.php' name='annonces'>
<font face='Verdana' size='2'>
<input type='text' name='date' size='20' value='0000-00-00 00:00:00'>
<input type='text' name='type' size='20' value='type'>
<input type='text' name='prix' size='20' value='1000'>
<input type='text' name='surface' size='20' value='200'>
<input type='text' name='nbpieces' size='20' value='4'>
<input type='text' name='description' size='20' value='description'>
<input type='text' name='anciennete' size='20' value='ancienneté'>
<input type='text' name='localisation' size='20' value='localisation'>
<input type='text' name='telephone' size='20' value='0505050505'>
<input type='submit' value='envoyer' name='envoyer'>
</font></form>
** fichier: enregistrement.php **
<? 
require ("connexion/connexionbase.php3");
connexionbase(&$cnx,&$req,$libreq);
/////////////////////////////////////////////////// 
$date = $_POST['date']; 
$type = $_POST['type']; 
$prix = $_POST['prix'];
$surface = $_POST['surface']; 
$nbpieces = $_POST['nbpieces']; 
$description = $_POST['description'];  
$anciennete = $_POST['anciennete']; 
$localisation = $_POST['localisation'];
$telephone = $_POST['telephone']; 
////////////////////////////////////////////////// 
$sql = "INSERT INTO annonces( date, type, prix, surface, nbpieces, description, anciennete, localisation, telephone) VALUES('$date', '$type', '$prix', '$surface', '$nbpieces', '$description', '$anciennete', '$localisation', '$telephone')";    
mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error()); 
echo "enregistrement de $type effectué";  
?> 
Merci à tous.