Une erreur d'enregistrement [Résolu]

Signaler
Messages postés
15
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
3 septembre 2011
-
Messages postés
15
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
3 septembre 2011
-
Bonjour,
je suis débutant dans la programmation. j'ai problème d'enregistrement des utilisateurs. je ne peux pas enregistrer plus d'un seul utilisateur. Aide moi merci. Voilà mon code:


20 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
re
comme ça marche
bon j'ai rajouté une protection ça devrait aller
il y avait une erreur dans une requete +
j'ai changé un peu la gestion des erreurs
...


CREATE TABLE IF NOT EXISTS `identifiant` (
`ID_Utilisateur` int(10) NOT NULL AUTO_INCREMENT,
`Nom` varchar(60) NOT NULL,
`Prenom` varchar(60) NOT NULL,
`Utilisateur` enum('admin','avocat','secretaire') NOT NULL,
`Nom_utilisateur` varchar(60) NOT NULL,
`Mot_de_passe` varchar(60) NOT NULL,
`Adresse_Email` varchar(255) NOT NULL,
PRIMARY KEY (`ID_Utilisateur`),
UNIQUE KEY `Adresse_Email` (`Adresse_Email`)
) ENGINE= InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
essaie comme ça
et change les identifiants localhost,root,'' et base
...




Messages postés
15
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
3 septembre 2011

Excuse moi, il faut ignorer les commentaires et je n'ai pas donné ma table identifiant. le voilà:

create table Identifiant
(
ID_Utilisateur numeric(4) primary key,
Nom varchar(60) not null,
Prenom varchar(60) not null,
Utilisateur enum('admin','avocat','secretaire') not null,
Nom_utilisateur varchar(60) unique not null,
Mot_de_passe varchar(60) not null,
Adresse_Email varchar(255) unique not null
)ENGINE=InnoDB;
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
bonjour

déjà
on ne poste direct dans la requete
problème d'injection
et on filtre avant avec mysql_real_escape_string
http://php.net/manual/fr/function.mysql-real-escape-string.php

donc :
$result = mysql_query("
SELECT Nom_Utilisateur
, Adresse_Email
FROM Identifiant
WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
OR Adresse_Email = '" . $_POST["TB_Adresse_Email"] . "'
");


<?php
$user=mysql_real_escape_string($_POST["TB_Nom_Utilisateur"]);

$email=mysql_real_escape_string($_POST["TB_Adresse_Email"] );

$result = mysql_query(" 
SELECT Nom_Utilisateur 
, Adresse_Email 
FROM Identifiant 
WHERE Nom_Utilisateur = '" . $user . "' 
OR Adresse_Email = '" . $email . "' 
"); 
?>


je regarde ça aprés


Bonne programmation !
Messages postés
15
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
3 septembre 2011

Merci bien, je veux essayer pour voir.
J'attends toujours.
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
oubli
remarque faut enlever `aa`dans les requetes
c'est ma base

INSERT INTO `aa`.`identifiant` ...
Bonne programmation !
Messages postés
15
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
3 septembre 2011

merci beaucoup je vous dire le resultat.
Messages postés
15
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
3 septembre 2011

Merci beaucoup ça marché.
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
bonjour
ok
alors reponse acceptee
stp valide le post


Bonne programmation !
Messages postés
15
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
3 septembre 2011

Excuse, mais comment le valider?
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
bonjour
il doit y avoir une case à cocher
reponse acceptée

Bonne programmation !
Messages postés
15
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
3 septembre 2011

ok merci.
Mais j'ai aussi un autre petit problème. C'est juste un conseil à vous demander est-ce que je peux te le demander ici même dans la suite?
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
si c'est toujours en rapport avec la question sinon repose la question de cette façon tout le monde pourra voir et donc tu as plus de reponses possibles

Bonne programmation !
Messages postés
15
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
3 septembre 2011

bonjour,
je reviens encore. Au fait c'est encore un problème d'enregistrement. j'ai un formulaire où je dois enregistrer les données provenant de deux tables. Disons comment il va récupérer la clé étrangère et l'insérer dans l'autre table. Je veux te montrer ma base et mon code. Montre moi comment je peut continuer dans mon code.
merci
create table if not exists adresse(

id_adresse int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
Ville varchar(50) not null,
Telephone numeric(20) ,
Email_client varchar(30) unique null,
Code_postal varchar(30),
Num_fax numeric(20)

)ENGINE=InnoDB;

INSERT INTO `adresse` (`id_adresse`, `ville`, `Telephone`, `Email_client`, `Code_postal`, `Num_fax`) VALUES
(1, 'buja', '79858585', 'usa@yahoo.fr', '5544', '257222321');

create table if not exists Personne_morale
(
Id_prsmorale varchar(5) NOT NULL primary key,
Denomination_social varchar(50) not null,
Nom_dirigeant varchar(50) not null,
Nom_contact varchar(50) not null,
Aundossier enum('non','oui') NOT NULL default 'non',
id_adresse int(11) NOT NULL

)ENGINE=InnoDB;

INSERT INTO `Personne_morale` (`id_prsmorale`, `Denomination_social`, `Nom_dirigeant`, `Nom_contact`, `Aundossier`,`id_adresse`) VALUES
(1, 'USA', 'BUHI', 'J.Marie', 'non', '1');

alter table Personne_morale ADD CONSTRAINT fk_moral_adres FOREIGN KEY (id_adresse) REFERENCES adresse(id_adresse)ON DELETE CASCADE ON UPDATE CASCADE;

Et voilà mon code:

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
bonjour

si je comprend ton souci ?

tu veux splitter la réception de ton formulaire en deux parties afin d'alimenter deux tables qui sont liés par la clé id_adresse et faire évoluer
le script qui enregistre que dans une table

et enregistrer des personnes physiques et morales(societe,assos ...)
donc tu as une table personne physique ...





Bonne programmation !
Messages postés
15
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
3 septembre 2011

C'est bien ça cod57. j'ai deux tables (personne morale et personne physique) et une troisième pour leur adresse.
J'ai essayé depuis hier mais il y a toujours une erreur au niveau du deuxième enregistrement. Il m'affiche le message que l'insertion est terminé mais lorsque je clique sur OK pour me rediriger sur le formulaire j'ai le message d'erreur pour le deuxième enregistrement. Donc dans ma base s'est correctement Aide moi encore et je vous remercie d'avance car déjà j'ai gagné le mysql_insert_id.

Merci encore
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
bonjour

voilà ce qui marche chez moi
avec le dernier formulaire
peux tu precisais redirection ?

-- phpMyAdmin SQL Dump
-- version 3.2.0.1
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Sam 27 Août 2011 à 10:37
-- Version du serveur: 5.1.36
-- Version de PHP: 5.2.11

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de données: `buryohe`
--

-- --------------------------------------------------------

--
-- Structure de la table `adresse`
--

CREATE TABLE IF NOT EXISTS `adresse` (
  `id_adresse` int(11) NOT NULL AUTO_INCREMENT,
  `Ville` varchar(50) NOT NULL,
  `Telephone` decimal(20,0) DEFAULT NULL,
  `Email_client` varchar(30) DEFAULT NULL,
  `Code_postal` varchar(30) DEFAULT NULL,
  `Num_fax` decimal(20,0) DEFAULT NULL,
  PRIMARY KEY (`id_adresse`),
  UNIQUE KEY `Email_client` (`Email_client`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Contenu de la table `adresse`
--

INSERT INTO `adresse` (`id_adresse`, `Ville`, `Telephone`, `Email_client`, `Code_postal`, `Num_fax`) VALUES
(1, 'tooville', '123456789', 'toto@toto.com', '123654-555', '123654789');




Bonne programmation !
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
les deux tables ...
-- phpMyAdmin SQL Dump
-- version 3.2.0.1
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Sam 27 Août 2011 à 10:40
-- Version du serveur: 5.1.36
-- Version de PHP: 5.2.11

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de données: `buryohe`
--

-- --------------------------------------------------------

--
-- Structure de la table `adresse`
--

CREATE TABLE IF NOT EXISTS `adresse` (
  `id_adresse` int(11) NOT NULL AUTO_INCREMENT,
  `Ville` varchar(50) NOT NULL,
  `Telephone` decimal(20,0) DEFAULT NULL,
  `Email_client` varchar(30) DEFAULT NULL,
  `Code_postal` varchar(30) DEFAULT NULL,
  `Num_fax` decimal(20,0) DEFAULT NULL,
  PRIMARY KEY (`id_adresse`),
  UNIQUE KEY `Email_client` (`Email_client`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Contenu de la table `adresse`
--

INSERT INTO `adresse` (`id_adresse`, `Ville`, `Telephone`, `Email_client`, `Code_postal`, `Num_fax`) VALUES
(1, 'tooville', '123456789', 'toto@toto.com', '123654-555', '123654789');

-- --------------------------------------------------------

--
-- Structure de la table `personne_morale`
--

CREATE TABLE IF NOT EXISTS `personne_morale` (
  `Id_prsmorale` int(5) NOT NULL AUTO_INCREMENT,
  `Denomination_social` varchar(50) NOT NULL,
  `Nom_dirigeant` varchar(50) NOT NULL,
  `Nom_contact` varchar(50) NOT NULL,
  `Aundossier` enum('non','oui') NOT NULL DEFAULT 'non',
  `id_adresse` int(11) NOT NULL,
  PRIMARY KEY (`Id_prsmorale`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Contenu de la table `personne_morale`
--

INSERT INTO `personne_morale` (`Id_prsmorale`, `Denomination_social`, `Nom_dirigeant`, `Nom_contact`, `Aundossier`, `id_adresse`) VALUES
(1, 'association titi', 'toto', 'toto', 'non', 1);



Bonne programmation !
Messages postés
15
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
3 septembre 2011

Merci beaucoup ça marché je vais valider la réponse.
Messages postés
15
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
3 septembre 2011

Bonjour,
mainant je suis sur l'étape d'affichage des clients que j'ai dans ma base. Vraiment l'utilisation des boutons radio me complique un peu. Au fait je dois choisir s'il est question d'afficher les personnes morales ou si les personnes physiques car l'entête est différent. Donc je suis parvenu à afficher une liste des clients les personnes physiques mais s'il s'agit de faire le choix ça m'est difficile de le faire aide moi un peu.
Voilà ce que j'ai pu essayer:






Cabinet RUBEYA & CO