Mot de pass (php)

evolution -  
avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
e ne connait que le html et le css et j'aurai besoin d'une notion de php.
voici le "formulaire" que j'ai fait:

<form method="post" action="traitement.php">
<p>
<label for="id">quel est le numéros ?</label><br />
<textarea name="id" id="id" rows="10" cols="50"></textarea><br />
<label for="mdp">Quel est le mot de pass ?</label><br />
<input type="text" name="mdp id="mdp" tabindex="15" /><br />
</p>

je souhaiterai que l'ID et le mot de passe soit lié ( un numéros correspond a un seul mot de pass)
je voudrai aussi que si le mot de passe soit bon l'internaute soit dirigé vers un page si il est faut vers une autre....
help :s
Configuration: Windows XP
Firefox 3.5.7

1 réponse

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Au tout début de ton fichier (aucun caractère avant "<?php") :
    <?php
    session_start();
    
    $form = '<form method="post" action=""> 
    	<p> 
    		<label for="id">Quel est le numéro ?</label><br/>
    		<input type="text" id="id" name="id" />
    	</p>
    	<p>
    		<label for="mdp">Quel est le mot de passe ?</label><br/>
    		<input type="password" name="mdp" id="mdp" tabindex="15" />
    	</p>
    	<p>
    		<input type="submit" value="Connexion" />
    	</p>
    </form>';
    
    $comptes = array(
    	'id1' => 'mdp1',
    	'id2' => 'mdp2',
    	// ...
    );
    
    if(!empty($_POST)) {
    	$id = trim($_POST['id']);
    	$mdp = trim($_POST['mdp']);
    	
    	if(empty($id) || empty($mdp)) {
    		$afficher = 'Merci de remplir tous les champs.<br/>'.$form;
    	} else {
    		if(array_key_exists($id,$comptes)) {
    			if($comptes[$id] == $mdp) {
    				$_SESSION['connecte'] = true;
    				header('Location: page_protegee.php');
    				die();
    			} else 
    				$afficher = 'Mot de passe invalide.<br/>'.$form;
    		} else
    			$afficher = 'ID inconnu<br/>'.$form;
    	}
    } else {
    	$afficher = $form;
    }
    ?>
    Ensuite, place ce code là où tu veux voir le formulaire :
    <?php echo $afficher; ?>

    Sur la page que tu souhaites protéger, au tout début :
    <?php
    session_start();
    if($_SESSION['connecte'] !== true) {
    	header('Location: formulaire.php');
    	die();
    }
    ?>
    1