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

Langage PHP Discussion :

Formulaire protégé par mot de passe


Sujet :

Langage PHP

  1. #21
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Merci de tes conseils, je vais voir.

    En attendant si je change la méthode de la form, post de "index5.php", en méthode get, ça mémorise :

    .../... formulaire5.php?mot_de_passe=root
    Je teste ton idée...

  2. #22
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Donc avec ton idée de modif :

    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
    <?php 
    	ini_set("display_errors", TRUE);
    	error_reporting(E_ALL);
    ?>
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Page protégée par mot de passe</title>
        </head>
        <body>
     
     
            <p>Veuillez entrer le mot de passe:</p>
            <!--<form action="formulaireX.php" method="post">-->
    		<!-- Afin de vérifier si écriture en fichier : -->
    		<form action="formulaire5.php" method="post">
                <p>
    				<input type="text" name="mot_de_passe" id="mot_de_passe" value="<?php echo isset($_POST['mot_de_passe']) ? $_POST['mot_de_passe'] : '' ?>" />
    				<input type="submit" value="Valider" />
                </p>
    		</form>
     
     
    		<?php 
    			/*
    				//Écriture
    				file_put_contents('MDP.dat', isset($_POST['mot_de_passe']) ? $_POST['mot_de_passe'] : ''); 
    				// Contrôle 
    				echo '<br />';
    				echo 'Vérif lecture SEULEMENT Si action/redir neutralisée : ' .file_get_contents('MDP.dat'); 
    			*/
    			// MAJ du fichier uniquement si MDP présent en post
    			if(isset($_POST['mot_de_passe']))
    			{
    			   //Écriture
    			   //file_put_contents('MDP.dat', $_POST['mot_de_passe']); 
    			   file_put_contents('MDP.dat', isset($_POST['mot_de_passe']) ? $_POST['mot_de_passe'] : ''); 
    			   // Contrôle 
    			   echo '<br />';
    			   echo 'Vérif lecture SEULEMENT Si action/redir neutralisée : ' .file_get_contents('MDP.dat'); 
    			}			
    		?>
     
        </body>
    </html>
    Les deux versions de file_put_ testées et... toujours aucune mémory en arrivée sur la page formulaire.

    J'ai toujours le contrôle direct du contenu de ce fichier .dat et = empty

    C'est du coriace hein

    Ça serait avec une méthode SESSION ; petits gâteaux ; mouiiii éventuellement, Mais en ce cas d'écriture indépendante sur un fichier texte généré par une page et devant être le plus simplement possible être récupéré par une autre.

    J'avoue que je me demande sincèrement ce qui efface ou empêche l'écriture

    Édit : Si je veux tricher et que ça fonctionne tant qu'une nouvelle écriture aurait lieu (mais pour ça faut reneutraliser la redir du form) :
    1- je neutralise la redirection du form de la page index (ce qui permettra l'écriture dans le fichier )
    2- je saisis le bon MDP = root
    3- je valide en submit
    4- je modifie cette page index en replaçant la redirection en form action
    5- je revalide la page index et ça roule ma poule... = arrivée impec en page formulaire.

  3. #23
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut Ruse de Sioux
    Bon, on va pas se laisser impressionner par une vulgaire histoire de formulaire

    Si précédemment personne n'a trouvé le pourquoi de l'empêchement de toute mémorisation du mot de passe.

    Faut ruser et je viens de demander à un Sioux :

    Page index7.php

    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 
    	ini_set("display_errors", TRUE);
    	error_reporting(E_ALL);
    ?>
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Page protégée par mot de passe</title>
        </head>
        <body>
     
             <p>Veuillez entrer le mot de passe :</p>
    		<form method="POST" name="myForm">
    			<p>
    				<input name="mdp" type="text" id="mdp" size="10" required="required"><br />
    			</p>	
     
    			<?php			
    				if (!empty($_POST['mdp'])) 
    				{
    					echo mdp();
    				}
     
    				function mdp()
    				{				
    					if ($_POST['mdp'] == 'root')
    					{
    						header("Location: formulaire7.php"); 
    					}
    					else
    					{
    						echo 'Désolé, mais ce mot de passe est faux. <br />';
    					}
    				}			
    			?>				
    			<p>
    				<input type="submit" value="Envoyer">
    			</p>
    		</form>	
     
        </body>
    </html>
    Page formulaire7.php :

    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
    <?php 
    	ini_set("display_errors", TRUE);
    	error_reporting(E_ALL);
    ?>
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Formulaire</title>
        </head>
        <body>
     
    		<?php
    			echo'
    				<form method="post">
    					<label>Nom</label>
    					<input type="text" name="nom" required>
    					<label>Email</label>
    					<input type="email" name="email" required>
    					<label>Message</label>
    					<textarea name="message" required></textarea>
    					<input name="submit" type="submit">
    				</form>';
     
     
    				if (isset($_POST['submit'])) 	
    				{
    					$entete  = 'MIME-Version: 1.0' . "\r\n";
    					$entete .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    					$entete .= 'From: ' . $_POST['email'] . "\r\n";
     
    					$message = '<h1>Message envoyé depuis la page Contact de monsite.fr</h1>
    					<p><b>Nom : </b>' . $_POST['nom'] . '<br>
    					<b>Email : </b>' . $_POST['email'] . '<br>
    					<b>Message : </b>' . $_POST['message'] . '</p>';
     
    					if (mail('contact@xxxxxxxxord.com', 'Envoi depuis page Contact', $message, $entete))
    					{
    						echo '<p>Votre message a bien été envoyé.</p>';
    					}
    					else
    					{
    						echo 'Envoi loupé !';
    					}		
    				}
     
     		?>
     
        </body>
    </html>
    Me dire si ça fonctionne

    Franchement, j'ai un peu honte de ce code risquant, de par sa tournure, de heurter ; mais faut ce qui faut.

    Pas interdit de l'optimiser et améliorer.

    DS7

Discussions similaires

  1. Base protégée par mot de passe
    Par fafabzh6 dans le forum 4D
    Réponses: 4
    Dernier message: 23/05/2007, 09h32
  2. Réponses: 1
    Dernier message: 22/03/2007, 20h08
  3. [XP Pro]Partage protégé par mot de passe
    Par arkienou dans le forum Windows XP
    Réponses: 4
    Dernier message: 08/02/2007, 13h41
  4. Comment ouvrir une base Access protègée par mot de passe
    Par Le Pharaon dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 26/09/2006, 13h53
  5. Ouvrir classeur Excel "protégé" par mot de passe
    Par LostIN dans le forum Sécurité
    Réponses: 1
    Dernier message: 19/07/2006, 21h24

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