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

- 8 mars 2016 à 22:32 - Dernière réponse :
Messages postés
23319
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2018
- 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 

Votre réponse

8 réponses

Messages postés
23319
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2018
8 mars 2016 à 22:54
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
23319
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2018
9 mars 2016 à 02:01
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


Messages postés
23319
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2018
- 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
>
Messages postés
23319
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2018
- 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
Messages postés
6
Date d'inscription
mercredi 2 mars 2016
Dernière intervention
9 mars 2016
9 mars 2016 à 12:45
0
Merci
erreur
Messages postés
23319
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2018
- 9 mars 2016 à 13:38
Commenter la réponse de marwaisamm
Messages postés
6
Date d'inscription
mercredi 2 mars 2016
Dernière intervention
9 mars 2016
9 mars 2016 à 12:48
0
Merci
la BD
Commenter la réponse de marwaisamm
Messages postés
29
Date d'inscription
jeudi 3 mars 2016
Dernière intervention
21 juin 2016
9 mars 2016 à 07:55
-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
Messages postés
6
Date d'inscription
mercredi 2 mars 2016
Dernière intervention
9 mars 2016
- 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.