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

marwaisamm - 8 mars 2016 à 22:32 - Dernière réponse : jordane45 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention
- 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 

14 réponses

Répondre au sujet
jordane45 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention - 8 mars 2016 à 22:54
0
Utile
1
Bonjour

sans voir ton code.... impossible de t'aider !
d'accord tte suite merci :))))
Commenter la réponse de jordane45
0
Utile
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
marwaisamm - 8 mars 2016 à 23:35
0
Utile
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
marwaisamm - 8 mars 2016 à 23:36
0
Utile
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
jordane45 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention - 9 mars 2016 à 02:01
0
Utile
3
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 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention - 9 mars 2016 à 02:02
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
marwaisamm > jordane45 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention - 9 mars 2016 à 12:41
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
marwaisamm 6 Messages postés mercredi 2 mars 2016Date d'inscription 9 mars 2016 Dernière intervention - 9 mars 2016 à 12:45
0
Utile
1
erreur
jordane45 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention - 9 mars 2016 à 13:38
Commenter la réponse de marwaisamm
marwaisamm 6 Messages postés mercredi 2 mars 2016Date d'inscription 9 mars 2016 Dernière intervention - 9 mars 2016 à 12:48
0
Utile
la BD
Commenter la réponse de marwaisamm
arguiot 29 Messages postés jeudi 3 mars 2016Date d'inscription 21 juin 2016 Dernière intervention - 9 mars 2016 à 07:55
-1
Utile
1
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 6 Messages postés mercredi 2 mars 2016Date d'inscription 9 mars 2016 Dernière intervention - 9 mars 2016 à 12:49
MERCI
Commenter la réponse de arguiot

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.