Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/07/2007, 12h26   #1
Membre émérite
 
Avatar de FraK
 
Homme
Développeur Java
Inscription : juin 2005
Messages : 819
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2005
Messages : 819
Points : 817
Points : 817
Envoyer un message via MSN à FraK
Par défaut [SQL] Probléme d'insertion SQL et d'envoi de mail

Bonjour les gens
j'ai adapté un script d'insertion sql dans la BDD téléchargé sur un site, de même que pour l'envoi d'un mail.
Indépendament l'un de l'autre, les scripts fonctionnent parfaitement.
Après compilation des deux et mise en page, aucune action ne fonctionne et aucune erreur ne m'est retournée.
Voici le code, si quelqu'un pouvait m'aider, merci d'avance, je galère trop là ^^.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
 
include("config.php"); // on demande au script d aller se référer à config.php pour prendre en compte les paramètres contenus dans celui-ci
 
// On commence par récupérer les champs 
 
// si on renseigne le champs "societe", alors la variable $soc prendra la valeur de ce champs, sinon elle reste vide. le ['societe'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['societe']))      $soc=$_POST['societe'];
else      $soc="";
 
// si on renseigne le champs "activite", alors la variable $act prendra la valeur de ce champs, sinon elle reste vide. le ['activite'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['activite']))      $act=$_POST['activite'];
else      $act="";
 
// si on renseigne le champs "code_ape", alors la variable $ape prendra la valeur de ce champs, sinon elle reste vide. le ['code_ape'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['code_ape']))      $ape=$_POST['code_ape'];
else      $ape="";
 
// si on renseigne le champs "num_siren", alors la variable $si prendra la valeur de ce champs, sinon elle reste vide. le ['num_siren'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['num_siren']))      $si=$_POST['num_siren'];
else      $si="";
 
// si on renseigne le champs "adresse", alors la variable $adr prendra la valeur de ce champs, sinon elle reste vide. le ['adresse'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['adresse']))      $adr=$_POST['adresse'];
else      $adr="";
 
// si on renseigne le champs "code_postal", alors la variable $cp prendra la valeur de ce champs, sinon elle reste vide. le ['code_postal'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['code_postal']))      $cp=$_POST['code_postal'];
else      $cp="";
 
// si on renseigne le champs "ville", alors la variable $vil prendra la valeur de ce champs, sinon elle reste vide. le ['ville'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['ville']))      $vil=$_POST['ville'];
else      $vil="";
 
// si on renseigne le champs "nom", alors la variable $no prendra la valeur de ce champs, sinon elle reste vide. le ['nom'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['nom']))      $no=$_POST['nom'];
else      $no="";
 
// si on renseigne le champs "prenom", alors la variable $pr prendra la valeur de ce champs, sinon elle reste vide. le ['prenom'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['prenom']))      $pr=$_POST['prenom'];
else      $pr="";
 
// si on renseigne le champs "telephone", alors la variable $tel prendra la valeur de ce champs, sinon elle reste vide. le ['telephone'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['telephone']))      $tel=$_POST['telephone'];
else      $tel="";
 
// si on renseigne le champs "fax", alors la variable $fa prendra la valeur de ce champs, sinon elle reste vide. le ['fax'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['fax']))      $fa=$_POST['fax'];
else      $fa="";
 
// si on renseigne le champs "website", alors la variable $url prendra la valeur de ce champs, sinon elle reste vide. le ['website'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['website']))      $url=$_POST['website'];
else      $url="";
 
// si on renseigne le champs "email", alors la variable $vm prendra la valeur de ce champs, sinon elle reste vide. le ['email'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
if(isset($_POST['email']))      $em=$_POST['email'];
else      $em="";
 
 
// On vérifie si les champs sont vides
// on controlle chaque saisie de référence voir si elles sont vides ou renseignées, c'est a dire toutes celles qui dans la base de données auront une importance pour etre traitée par la suite
if(empty($soc) OR empty($act) OR empty($ape) OR empty($si) OR empty($adr) OR empty($cp) OR empty($vil) OR empty($no) OR empty($pr) OR empty($tel) OR empty($fa) OR empty($em))
    {
	// on affiche un message de controlle sur la saisie en fonction des champs vides
    echo '<font color="red">Attention, seul le champs <b>Site Internet</b> peut rester vide !</font>';
    }
// Aucun champ n'est vide, on peut enregistrer dans la table
else     
    {
    $db = mysql_connect('******', '******', '******');  // connexion à la base : ('serveur', 'utilisateur', 'mdp de la base')
    mysql_select_db('dbname',$db);                  // sélection de la base ('nom de la base')
 
    // on regarde si l'url existe déjà en fesant un select sur un champs unique, ou il ne peux pas y avoir 2 fois le meme dans la table
	// le select porte sur le champs siren (numero unique) dans la table demande_tarif de la base de données, on stock le résultat dans la variable $sql
    $sql = "SELECT siren FROM demande_tarif WHERE url='$url'";
	// on execute la requete : si OK, on poursuit, sinon on affiche le message d'erreur SQL
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
 
    // va retourner le nombre de lignes du résultat de la requete
    $res = mysql_num_rows($req);
 
    if($res!=0)  // si le numero siren existe déjà, on affiche un message d'erreur
        {
        echo '<font color="red">Désolé, mais ce numero SIREN existe déjà dans notre base.</font>';
        }
    else  //  ou le numero n'existe pas, alors on insère les informations du formulaire dans la table renseignée
        {   
        $sql = "INSERT INTO demande_tarif( societe, activite, ape, siren, adresse, cp, ville, nom, prenom, tel, fax, site, mail) 
		 VALUES('$soc','$act','$ape','$si','$adr','$cp', '$vil', '$no', '$pr', '$tel', '$fa', '$url', '$em')"; // (societe, activite, ...) = nom des champs de la table                             ---------                   ($soc, $act, ...) valeur des variables qui seront stockées dans leur emplacement respectif dans la table
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
 
        }
    mysql_close();  // on ferme la connexion
    } 
// liste des variables pour le script
$sujet="Demande de tarifs";
$corpmail="Une demande de tarifs vient d'être envoyée .\n
SOCIETE : $soc 
ACTIVITE : $act
CODE APE : $ape 
NUMERO SIREN : $si 
ADRESSE : $adr
CODE POSTAL : $cp
VILLE : $vil
NOM : $no
PRENOM : $pr
TELEPHONE : $tel
FAX : $fa
SITE INTERNET : $url
EMAIL : $em
";
 
 
// on vérifie que le format de l'adresse mail est valide
 
 
      $pt = strpos($em,".");
      $aro = strpos($em,"@");
          if($pt == '')     {echo " Votre adresse email est invalide<br><a href='$urlsite'>Retour</a>";}
          elseif($aro == ''){echo " Votre adresse email est invalide<br><a href='$urlsite'>Retour</a>";} 
 
// Si tout est OK, le mail est envoyé.
      else {
      mail("$votremail","$sujet","$corpmail","from: //// DEMANDE DE TARIFS /////"); 
      echo "<font face='Arial' color='#7D9729' size='2'>Votre message a bien été envoyé, une réponse vous sera donnée d'ici 24 à 48 heures.<a href='$urlsite'>Retour</a></font> " ;} 
	 }
 
?>
__________________
Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
»» Mon Blog Musical (drumnbass)
FraK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 14h05   #2
Membre du Club
 
Inscription : juin 2007
Messages : 56
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 56
Points : 43
Points : 43
Bonjour

Apparemment tu as une erreur de syntaxe à l'avant derniere ligne ( no 125 ) ,
Elle se finit par une } , ce qui en fait une de trop !!!.

Pour eviter ca essaye de mettre au debut de ton script : error_reporting(E_ALL) , tu auras en output les erreur de syntaxe.

Bon courage.
jerome600 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 14h39   #3
Membre émérite
 
Avatar de FraK
 
Homme
Développeur Java
Inscription : juin 2005
Messages : 819
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2005
Messages : 819
Points : 817
Points : 817
Envoyer un message via MSN à FraK
oki ca le fait, une erreur apparait maintenant ^^
(j'ai viré l'accolade en fin de script et mis le reporting)

l'erreur est la suivante :
Citation:
Erreur SQL !SELECT siren FROM demande_tarif WHERE url='www.blablabla.fr'
Unknown column 'url' in 'where clause'
__________________
Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
»» Mon Blog Musical (drumnbass)
FraK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 14h40   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
ca veut dire que ta table demande ne comporte pas de colonne url !
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 14h42   #5
Membre émérite
 
Avatar de FraK
 
Homme
Développeur Java
Inscription : juin 2005
Messages : 819
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2005
Messages : 819
Points : 817
Points : 817
Envoyer un message via MSN à FraK
ah ba pourtant si ...
__________________
Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
»» Mon Blog Musical (drumnbass)
FraK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 14h54   #6
Membre émérite
 
Avatar de FraK
 
Homme
Développeur Java
Inscription : juin 2005
Messages : 819
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2005
Messages : 819
Points : 817
Points : 817
Envoyer un message via MSN à FraK
Bon, problème résolus, mon patron a effacé sans faire gaffe la moitié des champs de la table, d'où l'erreur.
Merci à tous.
__________________
Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
»» Mon Blog Musical (drumnbass)
FraK est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h15.


 
 
 
 
Partenaires

Hébergement Web