IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Envoi d'un formulaire d'inscription


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Par défaut Envoi d'un formulaire d'inscription
    bonjour,
    je suis entrain de creer un site avec dreamweaver, je suis débutante, voila le code qui ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <?php 
    if(isset($_POST['valider'])) { 
    include("mysql_connect.php"); 
    $pseudo = $_POST['pseudo']; 
    $mdp = $_POST['mdp']; 
    $email = $_POST['email']; 
     
    if($pseudo ||$mdp || $email != '') { 
    $SQL = "INSERT INTO membre ('".$pseudo."', '".$mdp."', '".$email."')"; 
    if($REQ = mysql_query($SQL)) { 
    echo 'Inscription effectuée'; 
    } 
     
    } 
    } 
     
    ?> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    <title>Document sans titre</title> 
    </head> 
     
     
    <body> 
     
    <form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
    Entrez un pseudo : (caractères spéciaux interdits)<br/> 
    <input type="text" name="pseudo" /><br/><br/> 
    Entrez votre adresse email :<br/> 
    <input type="text" name="email" /><br/><br/> 
    Entrez votre mot de passe : <br/> 
    <input type="password" name="mdp" /><br/><br/> 
    <br/> 
    <input type="submit" name="valider" value="Inscription" /> 
    </form> 
     
     
    </body> 
     
    </html>
    Quand je valide l'inscription ça me remet sur la page de départ sans me mettre que l'inscription est effectuée.
    Si quelqu'un peut m'aider ça serait super,
    Merci

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut
    Salut Alexa,

    Pour plus de clarté, tu pourrais encadrer ton code de balise Sinon, dans ton code PHP, il y a quelques erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($pseudo ||$mdp || $email != '') {
    Cette condition ne fonctionne pas comme tu le souhaites, car là, cela veut dire : Si il existe $pseudo, ou si il existe $mdp, ou si $email n'est pas null. D'ailleurs, je pense que tu voulais que la condition vérifie que chacune des variables n'est pas NULL, donc un && (AND) aurait été mieux qu'un || (OR).

    Voilà la ligne corrigée, j'utilise ici une fonction empty() qui retourne TRUE si la variable est vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( !empty($pseudo) AND !empty($mdp) AND !empty($email) ) {
    Là, ma condition dit : Si $pseudo n'est pas vide, et si $mdp n'est pas vide et si $email n'est pas vide.

    Ensuite de cela, le bloc suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $SQL = "INSERT INTO membre ('".$pseudo."', '".$mdp."', '".$email."')"; 
    if($REQ = mysql_query($SQL)) {
    À l'intérieur d'un IF(), il faut une condition, or là, tu fais une déclaration de variable. Voici la correction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $SQL = "INSERT INTO membre ('".$pseudo."', '".$mdp."', '".$email."')";
    $REQ = mysql_query($SQL)
    if( $REQ ) {
    $REQ vaudra TRUE si la fonction mysql_query() s'est bien déroulée.

    Pour finir, coté HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
    Tu peux enlever le code PHP du paramètre action et y mettre simplement un #.
    Ca donnera ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" action="#">
    Ce dernier va faire en sorte que le formulaire s'exécutera sur la même page.

  3. #3
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    À l'intérieur d'un IF(), il faut une condition, or là, tu fais une déclaration de variable. Voici la correction :
    Il est tout à fait possible de mettre une déclaration dans une condition (expression-statement) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // Deux déclarations
    if ($x = 1) // true
    if ($x = 0) // false
    En revanche je pense que le problème vien surtout de la requête SQL qui est erronée (et donc effectivement du if ($req = mysql_query()) qui retourne false dû à l'erreur (oublie de VALUES) :

    "INSERT INTO <table> VALUES()"

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Par défaut
    merci pour vos reponses mais rien a faire ca ne marche pas je pense que le probleme vient de la connexion à ma base de données, je cherche...

Discussions similaires

  1. Envoie d'un formulaire lors d'un click dans une listBox
    Par MicheMTP13 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 14/10/2005, 17h34
  2. [SOAP] envoi d'un formulaire
    Par sanchou dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 04/08/2005, 15h15
  3. Formulaire d'inscription
    Par Gourouni dans le forum ASP
    Réponses: 6
    Dernier message: 02/12/2004, 16h28
  4. Réponses: 3
    Dernier message: 27/11/2004, 16h23
  5. [struts ] pb avec l'envoie d'un formulaire
    Par njac dans le forum Struts 1
    Réponses: 7
    Dernier message: 09/06/2004, 14h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo