Partage
  • Partager sur Facebook
  • Partager sur Twitter

je ne voit pas ou est l'erreur...

Sujet résolu
Anonyme
    23 septembre 2017 à 8:24:52

    bonjour je voudrais savoir quel erreur ai-je fait dans ce code :

    <?php
     	
     	try 
    	{
    	 	$bdd = new PDO('mysql:host=localhost;dbname=utilisateur;charset=utf8', 'root','',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));	
     	} 
    
     	catch (Exception $e) 
     	{
     		die('Erreur : ' . $e->getMessage());
     	}
    
    
    	if ($_SERVER['REQUEST_METHOD'] == 'POST')
    	{ 
    	    if (!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['passwd']))
    	    {
    			$declaration_Requete = $bdd->prepare('SELECT pseudo FROM informations_compte WHERE pseudo = :pseudo');
    			$declaration_Requete->execute(array(':pseudo' => $_POST['pseudo']));
    
    			$declaration_Requete_mail = $bdd->prepare('SELECT mail FROM informations_compte WHERE mail = :mail');
    			$declaration_Requete_mail->execute(array(':mail' => $_POST['mail']));
    
    			if ($declaration_Requete->fetchColumn()) 
    			{	   
    				$var_pseudo_déjà_utilisé = '<p class="php_err"><br>votre pseudo a déjà été utiliser';
    
    				if ($declaration_Requete_mail->fetchColumn()) 
    				{
    					$var_pseudo_et_email_déjà_utilisé = ' et votre email aussi.</p>';
    				}
    			} 
    
    			elseif ($declaration_Requete_mail->fetchColumn()) 
    			{
    				$var_email_déjà_utilisé = '<p class="php_err"><br>votre email a déjà été utiliser</p>';
    			}
    
    			else 
    			{
    				$password = $_POST['passwd'];
    				$longueur = strlen($password);
    				$email = $_POST['mail'];
    
    				if ($longueur < 8) 
    				{
    				    $var_mot_de_passe_trop_court = '<p class="php_err"><br>Mot de passe trop court, votre mot de passe doit contenir minimum 8 caractère !</p>';
    				}
    
    				else 
    				{
    					if (filter_var($email, FILTER_VALIDATE_EMAIL)) 
    					{
    						$pass_hash = password_hash($_POST['passwd'], PASSWORD_DEFAULT);
    						$mail = $_POST['mail'];
    						$pseudo = $_POST['pseudo'];
    
    					    $requete = $bdd->prepare('INSERT INTO informations_compte(pseudo, passwd, mail) VALUE( :pseudo, :passwd, :mail)');
    						$requete->execute(array(
    							'pseudo' => $pseudo,
    							'passwd' => $pass_hash,
    							'mail' => $mail));
    
    						
    						$req = $bdd->prepare('SELECT id FROM informations_compte WHERE pseudo = :pseudo AND passwd = :passwd');
    						$req->execute(array(
    						    'pseudo' => $pseudo,
    						    'passwd' => $pass_hach));
    
    						$resultat = $req->fetch();
    
    						if ($resultat)
    						{
    						    session_start();
    						    $_SESSION['id'] = $resultat['id'];
    						    $_SESSION['pseudo'] = $pseudo;
    						}
    	
    
    						$var_compte_créer = '<p class="php_err"><br>votre compte a été créer, vous allez être redirigé vers nos cours</p>';
    						header("refresh:3;url=cours.php");
    					} 
    
    					else 
    					{
    					    $var_email_non_accepter = '<p class="php_err">Cet email a un format non adapté.</p>';
    					}
    				}
    			}
    	    }
    
    	    else 
    	    {
    	    	$var_champs_pas_remplit = '<p class="php_err"><br>Veuillez remplir tous les champs</p>'; 
    	    } 
    	}		 
    ?>
     <!DOCTYPE html>
    <html>
    	<head>
    		<?php include('head.php'); ?>
    	</head>
    	<body>
    		<header class="en_tête">
    			<div class="lien_page_importante">
    				<a class="liens_acceuille_etc" href="../index.php">Aceuille</a>
    				<a class="liens_acceuille_etc" href="cours.php">Cours</a>
    				<a class="liens_acceuille_etc" href="forum.php">Forum</a>
    				<button class="button1"><a href="connexion.php">Connexion</a></button>
    				<button class="button2"><a href="inscription.php">Inscription</a></button>
    			</div>
    		</header>
    		<div name="le_bloc_centrale" class="body_center">
    			<h1 class="h1_bienvenue1">inscrivez-vous pour acceder au cours, forum,...</h1>
    			<div class="explication">
    				<form method="POST" cible='#'>
    					<fieldset>
    						<legend>tout ces champs sont obligatoirs</legend>
    						<label>
    							<input placeholder="votre pseudo" type="text" name="pseudo" required="required">
    							<input type="email" placeholder="votre e-mail" name="mail" required="required">
    							<input placeholder="votre mot de passe" type="password" name="passwd" required="required"><br>
    							<p>En envoyant le formulaire, vous accepter les conditions d'utilisations <a href="cookies_loi_site.php">des cookies et le réglement du site</a></p>
    							<input type="submit" name="connexion" class="submit">
    						</label>
    						<?php
    
    							if (!empty($var_pseudo_déjà_utilisé)) 
    							{
    								echo $var_pseudo_déjà_utilisé ;
    
    								if (!empty($var_pseudo_et_email_déjà_utilisé)) 
    								{
    									echo $var_pseudo_et_email_déjà_utilisé ;
    								}
    							}
    							
    							elseif (!empty($var_email_déjà_utilisé)) 
    							{
    								echo $var_email_déjà_utilisé ;
    							}
    
    							elseif (!empty($var_mot_de_passe_trop_court)) 
    							{
    								echo $var_mot_de_passe_trop_court ;
    							}
    
    							elseif (!empty($var_email_non_accepter)) 
    							{
    								echo $var_email_non_accepter ;
    							}
    
    							elseif (!empty($var_compte_créer)) 
    							{
    								echo $var_compte_créer ;
    							}
    
    							elseif (!empty($var_champs_pas_remplit)) 
    							{
    								echo $var_champs_pas_remplit ;
    							}																							
    						?>
    
    					</fieldset>
    				</form>
    			</div>
    		</div>
    	</body>
    </html>
    

    voici l'erreur reçu :

    Notice: Undefined variable: pass_hach in C:\wamp\www\public_html\html_ou_php\inscription.php on line 68

    pourtant je ne voit pas de problème au niveau de la variable "$pass_hach"

    -
    Edité par Anonyme 23 septembre 2017 à 8:27:18

    • Partager sur Facebook
    • Partager sur Twitter
      23 septembre 2017 à 9:01:05

      Salutations,

      Vérifie l'orthographe que tu as utilisé pour sa déclaration (ligne 54)... ;)

      • Partager sur Facebook
      • Partager sur Twitter
      Désolé, je ne réponds pas aux questions techniques posées par MP...
      Anonyme
        23 septembre 2017 à 9:15:14

        merci Pierre !!!! que suis-je bête...
        • Partager sur Facebook
        • Partager sur Twitter
          23 septembre 2017 à 9:28:40

          De rien...

          Erreur d'inattention... Ca arrive... ;)

          • Partager sur Facebook
          • Partager sur Twitter
          Désolé, je ne réponds pas aux questions techniques posées par MP...

          je ne voit pas ou est l'erreur...

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown