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 :

insert into dans ma base de données


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 4
    Par défaut insert into dans ma base de données
    Bonsoir,

    J'aimerais avoir de l'aide pour résoudre un problème que je n'arrive pas à résoudre par moi-même. Cela fait plusieurs heures que je cherche et essaie en vain des codes me permettant d'insérer dans ma table "utilisateurs" des $_POST.

    Merci d'avance pour votre aide.

    Voici les codes :

    Fonction permettant d'ajouteur un utilisateur
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    <?php
    function ajoutUtilisateur(){
        include("connexion.php");
     
        $nomCompte = $_POST["nomCompte"];
        $mdp = $_POST["mdp"];
     
        //Tests sur les champs non obligatoires
    	//Si champ non vide on récupère le champ,
    	//sinon on met vide
        if(isset($_POST["mail"])) 
    		$mail = $_POST["mail"];
        else 
    		$mail = "";
        if(isset($_POST["adresse"])) 
    		$adresse = $_POST["adresse"];
        else 
    		$adresse = "";
        if(isset($_POST["ville"])) 
    		$ville = $_POST["ville"];
        else 
    		$ville = "";
        if(isset($_POST["code_postal"])) 
    		$code_postal = $_POST["code_postal"]; 
        else 
    		$code_postal = "";
        if(isset($_POST["adresse"])) 
    		$adresse = $_POST["adresse"]; 
        else 
    		$adresse = "";
        if(isset($_POST["nom"]))
    		$nom = $_POST["nom"]; 
        else 
    		$nom_util = "";
        if(isset($_POST["prenom"])) 
    		$prenom = $_POST["prenom"]; 
        else 
    		$prenom_util = "";
        if(isset($_POST["sexe"])) 
    		$sexe = $_POST["sexe"]; 
        else 
    		$sexe = "";
        if(isset($_POST["telephone"])) 
    		$telephone = $_POST["telephone"]; 
        else 
    		$telephone = "";
        if(isset($_POST["date_naissance"])) 
    		$date_naissance = $_POST["date_naissance"]; 
        else 
    		$date_naissance = "";
     
        $sel = strval(rand(0, 99999999));
     
        $requete = "INSERT INTO utilisateurs (login, nom, prenom, mdp, email, sel, sexe, date_naissance, code_postal, adresse, ville, telephone)VALUES ('".$nomCompte."','". $nom."','". $prenom."','". $mdp."','". $mail."','".$sel."','".$sexe."','".$date_naissance."','".$code_postal."','".$adresse."','".$ville."','".$telephone."');";
    }
    ?>
    Fichier php pour l'inscription
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    <html>
    	<head>
    		<title>Inscription</title>
    		<!--<link rel="stylesheet" href="inscription.css" />-->
    		<meta charset="UTF-8"/>
    	</head>
    	<?php
    //include("banniere.php");
    	?>
    	<body>
    		<div class="inputWithIcon">
    		  <i>
    		  <form action="#" method="post">
    			<input type="text" placeholder="Nom de compte (4 caractères minimum)" name="nomCompte" required=""/>
    			<input type="text" placeholder="Mot de passe (5 caractères minimum)" name="mdp" required=""/>
    			<input type="text" placeholder="Nom" name="nom"/>
    			<input type="text" placeholder="Prénom" name="prenom"/>
    			<input type="text" placeholder="Email" name="mail"/>
    			<input type="radio" name="sexe" value="H">Homme
    			<input type="radio" name="sexe" value="F">Femme
    			<input type="date" name="date_naissance"/>
    			<input type="text" placeholder="Adresse" name="adresse"/>
    			<input type="text" placeholder="Code postal" name="code_postal"/>
    			<input type="text" placeholder="Ville" name="ville"/>
    			<input type="text" placeholder="Numéro de téléphone" name="telephone"/>
    			<input name="inscription" type="submit" value="Valider"/>
    			</form>
    		  </i>
    		</div>
     
    		<?php
    			include("FonctionsProj.php");
     
    			if(isset($_POST['inscription'])){
     
    				$ChampC = true;
    				$ndc = ($_POST["nomCompte"]);
    				$Message = "";
     
    				//Tests si la validité des champs est correct
    				if(strlen($ndc)>3) {
    					if(VerifNomCompte($ndc)== true){
    						$Message.='<p style="color:red"> Le nom d\'utilisateur est déjà pris</p>'; 
    						$ChampC = false;
    					}
    				}
    				else {
    					$Message.='<p style="color:red"> Veuillez saisir un Nom de compte d\'au moins 4 lettres</p>';
    					$ChampC = false;
    				}
    				if(strlen($_POST["mdp"])<5){
    					$Message.='<p style="color:red"> Veuillez saisir un Mot de passe d\'au moins 5 lettres</p>';
    					$ChampC = false;
    				}
     
    				if($ChampC == true){
    					$Message.='
    					<p style="color:blue">L\'utilisateur '.$ndc.' a été enregistré.</p>
    					<p> Vous pouvez vous connecter dès à présent !</p>';
    					ajoutUtilisateur(); //On ajoute l'utilisateur si tout a été validé
    				}
    				else 
    					$Message.='<p style="color:green">Veuillez corriger les champs.</p>';
     
    				echo $Message;
    			}
    	echo '</body>
    </html>';
     
    		?>
    Ma table "utilisateurs" de ma base de données :
    Nom : Sans titre.png
Affichages : 138
Taille : 32,6 Ko

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    dans ta fonction ajoutUtilisateur(), il est où le code d'insertion en base ? Tu génères le SQL mais après tu en fais quoi ?

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    A priori, rien, et ça doit être là qu'est le problème Tu utilises quoi pour la connexion : mysqli ou PDO ?

    Au passage, j'ai l'impression que tu vas enregistrer le mot de passe en clair là, mais dans ta base il a l'air hashé. C'est normal ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Et pour enfoncer le clou on ne met pas de champs vide en DB , mais bien des null.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    		$code_postal = null;

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 4
    Par défaut
    Tout d'abord merci pour vos réponses, dans ma fonction ajoutUtilisateur() je viens de rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mysqli->query($requete);
    mais cela ne fonctionne toujours pas.
    J'utilise mysqli pour la connexion à ma base de données. Oui, c'est normal, c'est juste pour effectuer un test, je pensais qu'un mot de passe ne devait être stocker que sous forme hachée ou salée.
    D'accord, j'ai modifié ces erreurs merci bien

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Par défaut
    Bonjour

    Tu peux stocker le mot de passe de la forme que tu veux mais il faut pouvoir le lire apres
    Tu as des messages d'erreurs?
    Montre nous ton script de connexion (sans le mot de passe )

    Ton appel à la function rand() est aussi incorrecte car tu spécifies une valeur max supérieure à celle d'un int

Discussions similaires

  1. [MySQL] Insertion multiple dans une base de données MYSQL
    Par bryanmohamet dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 14/11/2010, 22h49
  2. insertion automatique dans une base de données
    Par sion76 dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 28/07/2009, 15h46
  3. [AJAX] Insertion erroné dans la base de données
    Par DeeVoiD dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/01/2009, 15h22
  4. Insertion Enorme dans une base de données
    Par jad_jad dans le forum Débuter
    Réponses: 3
    Dernier message: 06/06/2008, 18h02
  5. [HTML] Probleme d'insertion HTML dans une base de données MySQL
    Par tarzanjane dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 28/09/2006, 12h12

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