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 :

transmission de variable dans POST


Sujet :

Langage PHP

  1. #21
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    Salam; devildz
    As tu essayé la méthode que je t'ai donné, et y a aussi la solution de RunCodePhp qui est bien aussi.
    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header ('location: index.php?erreur');
    là en discutant avec bob634 et RunCodePhp , la solution et la suivante:
    utilisation include valid.inc.php : sela permet d’intégrer le code php de la dite page dans la page index.php , cest comme qu'il été écrit sur la même page dont méthode de RunCodePhp.
    merci pour l'interet que tu donne a ce post

  2. #22
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    sela permet d’intégrer le code php de la dite page dans la page index.php , cest comme qu'il été écrit sur la même page dont méthode de RunCodePhp.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header ('location: index.php?erreur');
    Pourquoi alors faire cette redirection en cas d'erreur ?
    Ce n'était pas tout à faite cela que je suggérais.

    Je suggérais de faire éventuellement une redirection uniquement si l'identification était correcte.
    Donc de ne pas faire de redirection tant qu'on aura détecté une erreur, pour justement conserver toutes les données sous le coude.

    En faisant cette cette redirection en cas d'erreur tu perds tout, ça revient à afficher cette page comme si c'était la 1ère fois.
    Vois tu le problème ?



    A coté de ça, il est bon de faire une redirection lorsque l'identification est réussie, pour une toute autre raison.
    - Une fois l'identification réussie (sans redirection), si l'utilisateur tente d'actualiser la page (même accidentellement), cela va tenter de refaire à nouveau la même chose, c'est à dire de refaire encore cette identification.
    Une redirection, même sur cette même page va éliminer ce problème lié à une éventuelle réactualisation de la page.
    La redirection devra alors être faite tout de suite après l'initialisation des variables de session.
    Puis il faut mettre un point d'arrêt juste après une redirection.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header ('location: index.php');
    exit(); // Point d'arrêt

    le champs identifiant perd son contenu ainsi que le focus lors de rechargement de la page (setfocus)....
    Effectivement, et c'est normal.
    Si tu veux placer le curseur dans un des éléments Html (le champ text du login par exemple), il faudrait rajouter un code JS pour définir ça.
    Si tu as déjà une fonction JS comme setfocus(), il faudrait la déclencher sur l'élément en question en cas d'erreur.
    (Le focus doit être défini sur 1 seul élément. Normal, il n'y a qu'une seule souris).
    Faire quelque chose dans ce genre là : (dans le <head></head>)
    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
    <html>
    <head>
        <title>INDEX</title>
     
    <?php
    if (!empty($erreurs_msg)) {
    ?>
    <script type="text/javascript">
    window.onload = function() {
        setfocus("un_element_html");
    }
    </script>
    <?php
    }
    ?>
     
    </head>
    <body>
        ... etc ...
    </body>
    </html>

  3. #23
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    Salam ; RubCodePhp:
    Code :
    header ('location: index.php?erreur');
    Pourquoi alors faire cette redirection en cas d'erreur ? c'était la proposition de bob634 ; mais j'ai utilisé include pour travaillé sur la même page (normalement ce que j'ai compris de votre post précedent...).
    (Le focus doit être défini sur 1 seul élément. Normal, il n'y a qu'une seule souris).
    t'a oublié un chat est une souris...
    excuse si je ne suis pas marron ; je voulez utilisé le setfocus par rapport au champs vide pour orienté l'utilisateur ( ce que je faisais en delphi...) .
    en dehors de la solution js est ce que c'est faisable en php ?

  4. #24
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    en dehors de la solution js est ce que c'est faisable en php ?
    Non, le focus est un mécanisme coté client de plus lié à un navigateur voire même de l'OS (c'est au final le système qui va positionner le curseur là où on lui a demandé).
    Php c'est coté serveur.

    On se sert juste et en partie Php pour générer du code pour un poste client (Html, Css, JS), mais au bout ces codes seront interprétés coté client.

    Certes, ça fait beaucoup de choses à faire si on souhaite gérer tout ça plus ou moins finement, mais c'est ainsi.

  5. #25
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    Re ; voila sur plusieurs tentatives je suis arrivé à:
    récupéré le contenu du champ identifiant si le champ mot de passe est vide lors de la connexion et vice versa.
    page valid.inc.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
     
    <?php
    header('Content-type: text/html; charset=UTF-8');
     
    // Traitements/vérifications
    $erreurs_msg = array();
     
     // on verrifi que l'utilisateur a cliquer sur le bouton connexion
    if (isset($_POST['sident'])) 
    	{
    		// On vérifie que les élément sont valides
    		if (empty($_POST['ident'] )) 
    			{
    				$erreurs_msg['ident'] = 'Veuillez saisir un Identifiant.';
     
    			}
     
    		elseif (empty($_POST['pass'])) 
    			{
    				$erreurs_msg['pass'] = 'Veuillez saisir un mot de passe valide.';
    			} 	
    		//on verifie  si aucun champs n'est vide donc <>"" (différent de vide)
    		elseif(($_POST['ident'] <> "") AND ($_POST['pass'] <> ""))
    		{
    				// on affecte les variables après leurs traitement
    				$ident = trim(htmlspecialchars(stripslashes($_POST['ident'])));
    				$pass =  trim(htmlspecialchars(stripslashes($_POST['pass'])));
    				// connexion a la bdd et vérification de la validité de l'identifiant et le mot de passe
     
     
    				// création de session 
     
     
    				// redirection vers la page principale
    				header ('location: ./interfaces/tab.php'); 
    				exit();
    		}
    		else 
    		{
    		header ('location: index.php'); 
    		}
    	} // fin ifisset
     
    ?>
    là je me demande si je suis en bonne voie ?
    page index.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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    <body>
     
    	<div class="entete">
    			<div class="date">
    				        <?php
    						$jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
    						$mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
    						$heure_courante = date ("H:i");
    						$dateDuJour = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y")."     ".$heure_courante;
    						echo "Date:   ". $dateDuJour;
     
    						?> 
     
    			</div>
    			<div class="h1">
    				<h1> S-3-G: Identification </h1>
    		</div>
    	</div>
    		<div class="contenu"> 
     
    		<form class="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"  autocomplete='off'>
     
    			<p class="labelident"><label for="ident">Identifiant:</label> 
    					<input type="text" name="ident" value="<?php if (isset($_POST['ident']))echo stripslashes(htmlentities(trim($_POST['ident']))); ?>" size="28" maxlength="23" id="ident" autofocus/>
    					<?php
    					 	if (!empty($erreurs_msg['ident'])) 
    						{
    						include('./codephp/fonctions.inc.php');
    						affichage_texte ("3", "red",$erreurs_msg['ident']); // fonction pour afficher le msg en rouge
     
    						} 
    					?>
    			</p>
    			<p class="labelpass"><label for="pass">Mot de passe:</label> 
    					<input type="password"  name="pass" value="<?php if (isset($_POST['pass']))echo stripslashes(htmlentities(trim($_POST['pass']))); ?>" " size="28" maxlength="23" id="pass"/>
    					<?php
    					 	if (!empty($erreurs_msg['pass'])) 
    						{
    						include('./codephp/fonctions.inc.php'); 
    						affichage_texte ("3", "red",$erreurs_msg['pass']); // fonction pour afficher le msg en rouge
     
    						} 
    					?>
     
    			</p>
    			<p class="labelpass"><label for="captcha">Texte de l'image:</label> 
    					<input type="text"  name="captcha" value="" size="5" maxlength="5" id="captcha"/>
     
    			</p>
     
    			<p class="buttons">
    				<button type="submit" name="sident" value="envoyer" >Connexion</button>
    			</p>
     
     
    		</form>
    	</div> 
    <footer class="pied">
    	<p> Copyright © s3g - Conception kacinet <p>
    </footer>
     
    </body>
    aussi j'ai ajouté une page fonctions.js qui pour affichage de message d’erreur avec couleur rouge
    page fonctions.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    <?php
    function affichage_texte ($taille, $couleur,$erreurs_msg) 
    {
    echo '<font size = "'.$taille.'"  color = "'.$couleur.'" >'.$erreurs_msg.'</font>';
    }
    ?>
    là aussi je c'est pas si j'ai bien fait !! parce que j'ai pas fait d'alternative en php en cas ou ?

    autres problèmes :
    lors d'actualisation de la page index.php j'ai le contenu des champs qui s'affiche !!!!
    mes pages s'affiche avec leurs extension dans la barre d'adresse !!!!
    et je peut facilement naviguer d'une page a l'autre avec les bouttons du navigateur sans utiliser le formulaire !!!!!!

Discussions similaires

  1. [AJAX] Utiliser une variable dans $.post()
    Par vinze60 dans le forum AJAX
    Réponses: 2
    Dernier message: 14/01/2012, 13h55
  2. recuperation string+variable dans post
    Par ramdamriddim dans le forum Langage
    Réponses: 2
    Dernier message: 28/05/2009, 14h58
  3. transmission de variable dans un lien
    Par Bathou dans le forum Langage
    Réponses: 4
    Dernier message: 04/06/2008, 10h38
  4. transmission de variable dans url
    Par heteroclite dans le forum Langage
    Réponses: 13
    Dernier message: 15/09/2006, 20h29
  5. Problème dans transmission de variables dans anim
    Par baleiney dans le forum Flash
    Réponses: 1
    Dernier message: 13/08/2006, 10h26

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