Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 28/04/2011, 13h20   #1
 
Femme noura wafi
Étudiant
Inscription : avril 2011
Messages : 12
Détails du profil
Informations personnelles :
Nom : Femme noura wafi
Localisation : Tunisie

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : avril 2011
Messages : 12
Points : -5
Points : -5
Par défaut insertion à la base

bonjour, j'ai un problème dans l'insertion des données dans un base mysql à partir de formulaire:
voici le code :
Code php5 :
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
 
<?php
//On se connecte
require_once("connexion.php");
class hotel{
public $Nomhotel;
public $Adresse;
public $Pays;
public $Ville;
public $Téléphone;
public $Fax;
public $Catégorie;
function __construct($Nomhotel,$Adresse,$Pays,$Ville,$Téléphone,$Fax,$Catégorie){
$this->Nomhotel =$Nomhotel;
$this->Adresse =$Adresse;
$this->Pays =$Pays;
$this->Ville =$Ville;
$this->Téléphone =$Téléphone;
$this->Fax =$Fax;
$this->Catégorie =$Catégorie;
}
//On récupère les valeurs entrées par l'utilisateur :
public function ajouter(){
 
 
 
 
//On prépare la commande sql d'insertion
$sql = 'INSERT INTO hotel VALUES("'.$this->Nomhotel.'","'.$this->Adresse.'","'.$this->Pays.'","'.$this->Ville.'","'.$this->Téléphone.'","'.$this->Fax.'","'.$this->Catégorie.'")';
 $result->executerQuery($sql);
/*on lance la commande (mysql_query) et au cas où,
on rédige un petit message d'erreur si la requête ne passe pas (or die)
(Message qui intègrera les causes d'erreur sql)*/
 
 
}
}
if (!empty($_POST['nom0']) && !empty($_POST['nom1']) && !empty($_POST['nom2']) && !empty($_POST['nom3']) && !empty($_POST['nom4']) && !empty($_POST['nom5']) && !empty($_POST['nom6']))
{
$obj =new hotel($_POST['nom0'],$_POST['nom1'],$_POST['nom2'],$_POST['nom3'],$_POST['nom4'],$_POST['nom5'],$_POST['nom6']);
$obj->ajouter();
}
?>
il m'affiche aucune faute mais les données n'insèrent pas dans la base .
voici le code de connexion:
Code php5 :
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
 
<?php
class connexion
{
    private
        $Serveur     = '',
        $Bdd         = '',
        $Identifiant = '',
        $Mdp         = '',
        $Lien        = '';  
 
 
 
/**
* Constructeur de la classe
* Connexion aux serveur de base de donnée et sélection de la base
*
* $Serveur     = L'hôte (ordinateur sur lequel Mysql est installé)
* $Bdd         = Le nom de la base de données
* $Identifiant = Le nom d'utilisateur
* $Mdp         = Le mot de passe
*/ 
    public function __construct($Serveur = 'localhost', $Bdd = 'pfementionnée', $Identifiant = 'root', $Mdp = '') 
       {
            $this->Serveur     = $Serveur;
            $this->Bdd         = $Bdd;
            $this->Identifiant = $Identifiant;
            $this->Mdp         = $Mdp;
 
            $this->Lien=mysql_connect($this->Serveur,$this->Identifiant,$this->Mdp);
 
            if (!$this->Lien ) throw new Erreur ('Erreur de connexion au serveur MySql!!!');                
 
            $Base = mysql_select_db($this->Bdd,$this->Lien);
 
            if (!$Base) throw new Erreur ('Erreur de connexion à la base de donnees!!!');
				else echo "";
       }
}
$obj=new connexion();
?>
voici le code de formulaire:
Code html :
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
 
<html>
	<head>
		<title>séjour</title>
	</head>
		<body bgcolor="black"><center>
			<table background="image2.jpg" width="800" height="800">
				<tr width="100" height="100">
					<td>
					</td>
					<img src="man.jpg" width="200" height="100">
						<form name="form1" action="ajouter.html">
							<button type="button1"><img src="ajouter.jpg" width=100 height=100></button></form>
						<form name="form2" action="modification.html">
							<button type="button2"><img src="modifier.jpg" width=100 height=100></button></form>
						<form name="form3" action="suppression.html">
							<button type="button3"><img src="supprimer.jpg" width=100 height=100></button></form>
					<img src="8.jpg" width="200" height="100">
					<td>
					</td>
				</tr>
				<tr><center>
					<td>
					</td>
				     <td><center>
					 <form action ="ajoutsejourhotel.php" method="POST" ENCTYPE=\"multipart/form-data\">
				     <table width="800" height="800">
				<tr>
						<td>
						 <tr>
						  <td>
						    <font color="white">Nom hotel:</font>
						  </td>
						  <td>
						   <input type="text" name="Nomhotel">
						  </td>
						 </tr>
						 <tr>
						<td>
						 <tr>
						  <td>
						    <font color="white">Adresse:</font>
						  </td>
						  <td>
						    <input name="Adresse" type="text">
						  </td>
						 </tr>
						 <tr>
						<td>
						 <tr>
						  <td>
						    <font color="white">Pays:</font>
						  </td>
						  <td>
						    <input name="Pays" type="text">
						  </td>
						 </tr>
						 <tr>
						<td>
						 <tr>
						  <td>
						    <font color="white">Ville:</font>
						  </td>
						  <td>
						    <input name="Ville" type="text">
						  </td>
						 </tr>
						 <tr>
						  <td>
						    <font color="white">Téléphone:</font>
						  </td>
						  <td>
						    <input name="Téléphone" type="text">
						  </td>
						 </tr>
						 <tr>
						  <td>
						    <font color="white">Fax:</font>
						  </td>
						  <td>
						    <input name="Fax" type="text">
						  </td>
						 </tr>
						 <tr>
						  <td>
						    <font color="white">Catégorie:</font>
						  </td>
						  <td>
						    <input name="Catégorie" type="text">
						  </td>
						 </tr>
						 <tr>
					     <td>
						     <a href="ajouter.html"><img src="précédent1.jpg" width="80" height="80"></a>
						 </td>
						 <td>
						 <center>
						 <a href="admini.html"><img src="accueil.jpg" width="80" height="80"></a>
						 </center>
						 </td>
						<td>
 
						 <button type="button6"><img src="valider.jpg" width="100" height="50"></button><br>
						</td>
					</tr>
			</table></center>
					 </td></center>
					<td>
					</td>
				</center></tr>
			</table></center>
			</form>
					 </td></center>
					<td>
					</td>
				</center></tr>
			</table></center>
 
		</body>
</html>
et merci svp sauvez-moi
babamama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 13h58   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Hello

D'ou sort la variable $result à la ligne#30 ?

Tu as vérifié les messages d'erreur de mysql ?

Ta classe de connection utilise les fonction mysql_* qui sont dépréciées aujourd'hui. De plus PHP possède déjà une classe de connection.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 14h01   #3
Membre régulier
 
Homme
Développeur Web
Inscription : mai 2007
Messages : 101
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2007
Messages : 101
Points : 79
Points : 79
Salut babamama,

après ta ligne:
Code :
$result->executerQuery($sql);
il faudrait que tu remplaces par (pendant tes tests):
Code :
$result->executerQuery($sql) or die(mysql_error());
comme ça tu auras l'erreur sql (si c'est une erreur sql, je n'ai pas trop regardé ton code encore).
Tu peux également afficher ta requête avec un simple echo et la tester dans un phpmyadmin directement (afin de savoir si le problème vien de la requête ou d'ailleurs).

Tiens nous au courant

EDIT: désolé benjamin je devais être en train de répondre quand tu l'as fait.
Perso les mysql_* je trouve pas ça trop grave le tout ça serait d'avoir un code indenté... plus lisible.
Et oui le $result semble sortir de nul part... perso je vote (pense) qu'il s'agit d'un objet non crée provenant d'une classe de la page connexion.php
The Goion est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 14h30   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Citation:
Perso les mysql_* je trouve pas ça trop grave le tout ça serait d'avoir un code indenté... plus lisible.
Ctrl + Shift + F sous Eclipse PDT.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 15h59   #5
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
ça sent la POO pas comprise tout ça.

Remarques :
  • variable avec accent = beurk
  • mysql_* = beurk (PDO en objet ou au moins mysqli_* en procédural)
  • $result sort de nulle part (même pas de connexion.php dont nous avons le code, illisible)
  • alt + maj + F dans Netbeans
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 16h38   #6
Membre régulier
 
Homme
Développeur Web
Inscription : mai 2007
Messages : 101
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2007
Messages : 101
Points : 79
Points : 79
Je suis d'accord.

Je l'avais dit .... je n'avais pas regardé le code, et il est vrai qu'il manque quelques notions ... et pas qu'en POO, mais en "interaction" base de données
The Goion est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h33.


 
 
 
 
Partenaires

Hébergement Web