formulaire d'inscription

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : formulaire d'inscription

remercerciements

par 001cod10 » 17 juil. 2005, 22:13

Salut à Tous

A force de perséverer j'ai pu résoudre tous mes problemes en ce qui concerne mon script d'insertion. Concernant la date de naissance il fallait que je mette dans ma table null au lieu de not null qui prend la valeur par défaut:0000-00-00.

A+

problème persistant

par Invité » 17 juil. 2005, 12:04

salut

Merci à tous et en particulier à Cyrano. Mais je ne suis pas sorti de l'auberge car j'ai ce message d'erreur:


undefined variable:datenaissance
Bonjour Fatoumi Faizou,
Félicitations. Vous êtes desormais un nouveau membre !

Et quand j'ajoute $datenaissance= ""; dans mon script j'ai le message suivant

Bonjour Fatoumi Faizou,
Félicitations. Vous êtes desormais un nouveau membre

Mais dans la base le champ datenaissance n'est pas renseigné.

par 001cod10 » 17 juil. 2005, 10:24

Salut,

Merci à tous et particulièrement à Cyrano. J'ai suivi à la lettre tes instructions mais voici le message que j'ai :

Notice: Undefined variable: datenaissance
Félicitations. Vous êtes desormais un nouveau membre !

Merci

Re: date de naissance

par Invité » 17 juil. 2005, 10:16

STVP une aide pour cette portion de script, J'aimerai l'envoyer dans ma table sous cette forme année-mois-jour
<TR> 
<TD><font face='Verdana,Arial,sans-serif'color='#023161'>Date de Naissance</font></TD> 
<TD> 
<SELECT name=Jour size=1> 
<OPTION value=01>01</OPTION> 
<OPTION value=02>02</OPTION> 
<OPTION value=03>03</OPTION> 
<OPTION value=04>04</OPTION> 
</SELECT>&nbsp;&nbsp;&nbsp;<SELECT name="mois; size=1> 
<OPTION value=01>01</OPTION> 
<OPTION value=02>02</OPTION> 
<OPTION value=03>03</OPTION> 
<OPTION value=04>04</OPTION> 
</SELECT>&nbsp;&nbsp;&nbsp;<SELECT name=annee; size=1> 
<OPTION value=1985>1985</OPTION> 
<OPTION value=1984>1984</OPTION> 
<OPTION value=1983>1983</OPTION> 
<OPTION value=1982>1982</OPTION> 
<OPTION value=1981>1981</OPTION> 
<OPTION value=1980>1980</OPTION> 
</SELECT> 
</TD> 
</TR> 

par pjl » 16 juil. 2005, 11:54

Avant de bosser le PHP, tu devrais faire attention au HML quie visiblement tu ne maitrises pas.

C'est quoi cette ligne ?
<SELECT name="mois; size=1> 

par Cyrano » 16 juil. 2005, 11:53

Mouais, c'Est laborieux. Tu ne sembles pas bien accrocher avec la logique élémentaire. Regarde ce qui suit :
<?php
/* Paramètres de connexion */
$BD_serveur     = "nomserveur";
$BD_utilisateur = "root";
$BD_motDePasse  = "";
$BD_base        = "base";

/* Récupération des valeurs du formulaire */
$pseudo      = isset($_POST["pseudo"]) ? $_POST["pseudo"] : "";
$motdepasse  = isset($_POST["motdepasse"]) ? $_POST["motdepasse"] : "";
$nom         = isset($_POST["nom"]) ? $_POST["nom"] : "";
$prenom      = isset($_POST["prenom"]) ? $_POST["prenom"] : "";
$jour        = isset($_POST["jour"]) ? $_POST["jour"] : "";
$mois        = isset($_POST["mois"]) ? $_POST["mois"] : "";
$annee       = isset($_POST["annee"]) ? $_POST["annee"] : "";
if($jour != "" && $mois != "" && $annee != "")
{
    $sep='-';
    $datenaissance = $jour.$sep.$mois.$sep.$annee;
}
$sexe = isset($_POST["sexe"])  ?  $_POST["sexe"] : "";

/* On vérifie que toutes les valeurs sont complétées */
if($pseudo != "" && $motdepasse != "" && $nom != "" && $prenom != "" && isset($datenaissance) && $sexe != "")
{

    echo "Bonjour ".stripSlashes($prenom)." ".stripSlashes($nom).",<br/>";

    mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse) or die("Impossible de se connecter au serveur de bases de données.");
    mysql_select_db($BD_base) or die("Impossible de se connecter à la base de données.");

    $requete = "INSERT INTO Table (pseudo , motdepasse , nom , prenom ,datenaissance, sexe)
VALUES ( '". $pseudo ."', '". $motdepasse ."', '". $nom ."', '". $prenom ."', '". $datenaissance ."', '". $sexe ."')";

    $result = mysql_query($requete);
    if (!$result)
    {
 ?>
<p>L'enregistrement de vos données a échoué. Essayez plus tard et demandez à l'administrateur de vérifier l'existence de la table table_utilisateurs ;)</p>
<?php
    }
    else
    {
 ?>
<p>Félicitations. Vous êtes desormais un nouveau membre de PHP Facile!</p>
<?php
    }
}
else
{
    /* Le formulaire n'a pas été correctement complété, rien n'est enregistré, on peut ré-afficher le 
       formulaire ici ou rediriger vers le formulaire sans rien afficher du tout */
 ?>
<p>Formulaire incomplet...</p>
<?php
}
?>
Suis correctement les commentaires que j'ai ajouté et regarde les modifications. Si certaines formulation te semblent étranges, pose la question.

demande d'aide

par Invité » 16 juil. 2005, 11:31

Salut,

J'ai essayé de suivre vos conseils. Je pense que je ne comprends pas bien le pricipe de la concaténation. je vous prie de bien vouloir m'aider voici le script de validation :
<?php 
$BD_serveur     = "nomserveur";
$BD_utilisateur = "root";
$BD_motDePasse  = "";
$BD_base        = "base";


if(isset($_POST["pseudo"]) 
&& isset($_POST["motdepasse"]) 
&& isset($_POST["nom"]
&& isset($_POST["prenom"])
&& isset($_POST["jour"].'-'.$_POST["mois"].'-'.$_POST["annee"]) 
&& isset($_POST["datenaissance"]) 
&& isset($_POST["sexe"]) 

    $num    = '';
    $pseudo    = $_POST["pseudo"];
    $motdepasse  = $_POST["motdepasse"];
    $nom       = $_POST["nom"];
    $prenom    = $_POST["prenom"]; 
    $sep='-'; 
    $datenaissance = $_POST["jour"].$sep.$_POST["mois"].$sep.$_POST["annee"];
$sexe = $_POST["sexe"];

echo "Bonjour ".stripSlashes($prenom)." ".stripSlashes($nom).",<br/>";
    
    @mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)
        or die("Impossible de se connecter au serveur de bases de données.");
    @mysql_select_db($BD_base)
        or die("Impossible de se connecter à la base de données.");
    
    $requete = "INSERT INTO Table (num,pseudo , motdepasse , nom , prenom ,datenaissance, sexe) 
VALUES ( '$pseudo', '$motdepasse', '$nom ', '$prenom', '$datenaissance', '$sexe')";

    $result = @mysql_query($requete);
    if (!$result) {
        echo "L'enregistrement de vos données a échoué. Essayez plus tard.".
             "Et demandez à l'administrateur de vérifier l'existence de la ".
             "table table_utilisateurs ;-)<br />";
    } else {
        echo "Félicitations. Vous êtes desormais un nouveau membre de PHP Facile!".
             "<br />";
    }
   
?>

par Cyrano » 15 juil. 2005, 18:32

Pourquoi tu ne concatènes pas les valeurs pour en faire une seule donnée dans ta base au format DATE ? ce serait quand même beaucoup plus facile ensuite à manipuler.

par rami » 15 juil. 2005, 18:32

De un, il faut que tes balises select soient dans une balise form, ou tu spécifies la méthode d'envoi du formulaire (POST ou GET), puis une action (le script php qui va traiter les données saisies), et à partir de là tu peux insérer tes infos dans ta base de données.

Pour concaténer les champs: (en supposant que tu choisisses la méthode POST pour ton formulaire)
$sep='-';
$date_mysql = $_POST['annee'].$sep.$_POST['mois'].$sep.$_POST['Jour']
De plus le nom de select pour les mois est bizarre. Remplace par "mois" tout court ;)

date de naissance

par Invité » 15 juil. 2005, 18:24

STVP une aide pour cette portion de script, J'aimerai l'envoyer dans ma table sous cette forme année-mois-jour
<TR> 
<TD><font face='Verdana,Arial,sans-serif'color='#023161'>Date de Naissance</font></TD> 
<TD> 
<SELECT name=Jour size=1> 
<OPTION value=01>01</OPTION> 
<OPTION value=02>02</OPTION> 
<OPTION value="03">03</OPTION> 
<OPTION value=04>04</OPTION> 
</SELECT>&nbsp;&nbsp;&nbsp;<SELECT name="mois; size=1> 
<OPTION value=01>01</OPTION> 
<OPTION value=02>02</OPTION> 
<OPTION value=03>03</OPTION> 
<OPTION value=04>04</OPTION> 
</SELECT>&nbsp;&nbsp;&nbsp;<SELECT name=annee; size=1> 
<OPTION value=1985>1985</OPTION> 
<OPTION value=1984>1984</OPTION> 
<OPTION value=1983>1983</OPTION> 
<OPTION value=1982>1982</OPTION> 
<OPTION value=1981>1981</OPTION> 
<OPTION value=1980>1980</OPTION> 
</SELECT> 
</TD> 
</TR> 

par pjl » 14 juil. 2005, 22:21

001cod10 Voudrais tu faire un petit tour sur la page des règlements et lire en particulier l'article 3 puis revenir ici et éditer ton post pour procéder aux ajustements nécessaires (bouton [Éditer] en haut à droite de ton post.
Il me semble en plus que ce n'est pas la 1ere fois que Cyrano te fait cette remarque.

Image

par 001cod10 » 14 juil. 2005, 22:15

merci je vais vérifier cela A+.

par Cyrano » 14 juil. 2005, 22:12

Concernant la date de naissance est ce que c'est comme cela qu'il faut l'écrire.
Oui, c'est le plus simple.

Fais attention dans ton code, tu as fermé des balises <font> après avoir fermé les balises <td> et il te manque une balise de fermeture </tr> quelque part.

par 001cod10 » 14 juil. 2005, 22:07

je vais intégrer cette partie dans mon formulaire A+. Concernant la date de naissance est ce que c'est comme cela qu'il faut l'écrire.

par Axel » 14 juil. 2005, 22:03

Si c'est vraiment tout ton code
Et que l'erreur survient lorsque tu soumets ton formulaire.

L'erreur vient du fait que sur tes boutons "envoyer" et "annuler" tu appelles des fonctions javascript qui n'apparaissent nul part dans ta page du coup tu as des erreurs

Quelque part sur ta page tu dois avoir

Code : Tout sélectionner

<script language="JavaScript" type="text/javascript"> <!-- function unClic(){ //code de ce qu'il faut faire } function verifForm(formulaire){ //code de ce qu'il faut faire } // --> </script>
Voilà, j'espère que ces quelques sont la réponse que tu attendais :lol: