Formulaire d'inscription (php5(poo)+sql)

- - Dernière réponse : jordane45
Messages postés
26524
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2019
- 9 mars 2016 à 13:38
Bon soir,j'essaye à développer un formulaire mais j'ai un problème avec la connexion à la base de données c'est les champs qui sont remplis au formulaire ne se trouve pas après dans ma base
Aidez moi svp
Afficher la suite 

8 réponses

Messages postés
26524
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2019
316
0
Merci
Bonjour

sans voir ton code.... impossible de t'aider !
d'accord tte suite merci :))))
Commenter la réponse de jordane45
0
Merci
La page du formulaire: inscriptionchercheur.php
<!DOCTYPE>
<html>
<head>
 <title>
  Espace formateur
 </title>
</head>
<body>
<form  action="test.php" method="POST">
<table align="center">
  <tr><td>Numero de la carte d'identite nationale:</td><td><input type="text" name="cin" placeholder="12345678" ></td></tr>
  <tr><td>Nom:</td><td><input type="text" name="nom" placeholder="Ben Foulen" ></td></tr>
  <tr><td>Prenom:</td><td><input type="text" name="prenom" placeholder="Foulen" ></td></tr>
  <tr><td>Sexe:</td>
  <td> <select name="sexe">
     <option value="f">Femme</option>
     <option value="h">Homme</option>
    </select></td>
  </tr>
  <tr><td>Adresse mail:</td><td><input type="text" name="adressemail"></td></tr>
  <tr><td>Ville:</td><td><input type="text" name="ville"></td></tr>
  <tr><td>Adresse Postale:</td><td><input type="text" name="adresse"></td></tr>
  <tr><td>Code Postal:</td><td><input type="number" name="cp"></td></tr>
  
  
 
  
  <tr ><td ><input type="submit" name="submit" value="envoyer"   > </td>
  <td  ><input type="reset" name="effacer" value="Effacer"   > </td></tr>


</table> 


</form>
Commenter la réponse de marwaisamm
0
Merci
page personne.php
<?php


class personne
{

private $cin;
private $nom;
private $prenom;
private $adresse;
private $adressemail;
private $sexe;
private $ville;
private $cp;
function costruct($ncin,$nnom,$nprenon,$nadresse,$nadressemail,$nsexe,$nville,$ncp)
{

$this->cin=$ncin;
$this->nom=$nnom;
$this->prenom=$nprenom;
$this->adresse=$nadresse;
$this->adressemail=$nadressemail;
$this->sexe=$nsexe;
$this->ville=$nville;
$this->cp=$ncp;
}
function seconnecter(){
$connect= mysql_connect("localhost/phpmyadmin","root","") ;
$select=mysql_select_db("pfe");
}


function addpersonne(){

if(empty($this->cin)||empty($this->nom)||empty($this->prenom)||empty($this->adresse)||empty($this->adressemail)||empty($this->sexe))
echo "certains champs sont vide !!! voulez les remplir !!! <a href='inscription.html'>retour</a>";

$query="INSERT INTO`personne`(`cin`, `nom`, `prenom`, `adressemail`, `adresse`, `ville`, `cp`, `sexe`) VALUES ('".$this->nom."','".$this->prenom."','".$this->adresse."','".$this->adressemail."','".$this->sexe."','".$this->ville."','".$this->cp."')";

$result=mysql_query($query);

if ($result){

echo "inscription avec succes</h3>";}

else
echo "<h3>Echec</h3>";

}




}

?>
Commenter la réponse de marwaisamm
0
Merci
page ; test.php
<?php
include ("personne.php");

$p=new personne($_POST["cin"],$_POST["nom"],$_POST["prenom"],$_POST["adresse"],$_POST["adressemail"],$_POST["sexe"],
$_POST["ville"],$_POST["cp"]);

$p->seconnecter();
$p->addpersonne();

?>
Commenter la réponse de marwaisamm
Messages postés
26524
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2019
316
0
Merci
Déjà... au niveau de ta class... tu as une erreur sur le nom de la function costruct ....
c'est construct et il manque les deux enderscores
function __construct() {


Ensuite, au niveau de ton code de ta page test.php ... penses à récupérer proprement les variables AVANT de les utiliser.
Pour se faire, utilises l'écriture TERNAIRE et la fonction ISSET
par exemple :
$cin = isset($_POST["cin"]) ? $_POST["cin"] : NULL;
$nom = isset($_POST["nom"]) ? $_POST["nom"] : NULL;
//etc...

Puis dans ta création de class:
$p=new personne($cin,$nom, ...


Puis dans ta class, au niveau de ta requête, j'ai l'impression que tu as oublié quelques espaces...
$query="INSERT INTO`personne`(`cin`, `nom`, `prenom`, `adressemail`, `adresse`, `ville`, `cp`, `sexe`) VALUES ('".$this->nom."','".$this->prenom."','".$this->adresse."','".$this->adressemail."','".$this->sexe."','".$this->ville."','".$this->cp."')"; 

Fais donc un ECHO de ta variable $query pour voir ce que ça donne puis va tester cette requête DIRECTEMENT dans ta BDD (via phpmyadmin par exemple)


Pour finir, tu utilises l'ancienne extension mysql. elle est considérée comme obsolète.
Passes à la PDO (ou à mysqli )
Va lire ceci : http://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top


jordane45
Messages postés
26524
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2019
316 -
PS: à l'avenir, merci d'utiliser la coloration syntaxique lorsque tu postes du code sur le forum (les balises de code)
Explications disponibles ici : http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
> jordane45
Messages postés
26524
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2019
-
merci beaucoup jordane 45
mais encore des erreurs en+ base de donnée vide !
je vais t'envoyer des captures écran
Commenter la réponse de jordane45
Messages postés
6
Date d'inscription
mercredi 2 mars 2016
Statut
Membre
Dernière intervention
9 mars 2016
0
Merci
erreur
jordane45
Messages postés
26524
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2019
316 -
Commenter la réponse de marwaisamm
Messages postés
6
Date d'inscription
mercredi 2 mars 2016
Statut
Membre
Dernière intervention
9 mars 2016
0
Merci
la BD
Commenter la réponse de marwaisamm
Messages postés
29
Date d'inscription
jeudi 3 mars 2016
Statut
Membre
Dernière intervention
21 juin 2016
-1
Merci
Je crois que tu devrais simplifier ton code et mettre des
include
dans ton code pour y voir plus clair et regarde le cour sur php sur openclassroom.com
marwaisamm
Messages postés
6
Date d'inscription
mercredi 2 mars 2016
Statut
Membre
Dernière intervention
9 mars 2016
-
MERCI
Commenter la réponse de arguiot