Page 1 sur 1

Passer une variable sans la perdre dans l'actualisation

Posté : 03 juin 2014, 11:57
par Zack
Bonjour à tous :D
J'ai une page index contient une liste des personnels avec 2 boutons : supprimer | Modifier
Quand je clique sur modifier je prend l'id personnel dans l'url ( modifier.php?id=x )
quand je modifie correctement ça marche bien , ms le problème c'est quand je met une erreur par ex je tape des lettre dans l'input téléphone ou je tape un login déja saisie , içi le naviguateur force une actualisation de la page donc la page va perdre lid personnel reçu d'aprés index !
qu'est ce que je dois faire ?

Re: Passer une variable sans la perdre dans l'actualisation

Posté : 03 juin 2014, 12:53
par Elie
Je serais toi, je mettrai un <input hidden> avec l'iD dedans et je recupererai cette iD avec un $_REQUEST comme ca que ce soit dans l'url ou dans le formulaire ca marche ...

tapage.php?id=24 ou par$_POST ca marchera.
<input type="hidden" name="id" value="<?php echo $_REQUEST['id']; ?>" />

EDiT : Enfin c'est d'après ton explication pas clair que j'en déduis ca mais j'ai peut etre pas compris ...

Re: Passer une variable sans la perdre dans l'actualisation

Posté : 03 juin 2014, 13:04
par Zack
J'ai pas pigé ce q vs voulez dire mais voila mon code si vous pouvez mizux expliquer :)
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Escodeve</title>
<meta charset="utf-8">
<link rel="stylesheet" href="../../css/reset.css" type="text/css"  media="all">
<link rel="stylesheet" href="../../css/layout.css" type="text/css" media="all">
<link rel="stylesheet" href="../../css/style.css" type="text/css"  media="all">
<link rel="stylesheet" href="../../css/Alerts.css" type="text/css"  media="all">
<link rel="stylesheet" href="../../css/nivo-slider.css" type="text/css" media="all">
<!--[if IE]>
<link rel="stylesheet" href="css/ie.css" type="text/css" media="all">
<![endif]-->


<script type="text/javascript" src="../../js/jquery-1.4.2.js" ></script>
<script type="text/javascript" src="../../js/cufon-yui.js"></script>
<script type="text/javascript" src="../../js/cufon-replace.js"></script>
<script type="text/javascript" src="../../js/Myriad_Pro_italic_600.font.js"></script>
<script type="text/javascript" src="../../js/Myriad_Pro_400.font.js"></script>
<script type="text/javascript" src="../../js/jquery_002.js"></script> 
<script type="text/javascript" src="../../js/jquery.js"></script>
<script type="text/javascript" src="../../js/jquery_003.js"></script>



</head>


<body id="page1">

<div class="body1">	
	<div id="logo-Escodeve">	
	 <div class="hd-bottom">
        	<div class="logo-photo">
       	    <a href="http://www.escodeve.com" title="Retour ࡬'accueil">
			<img src="../../images/logo.png" alt=" " height="120" width="199"></a>
			
            </div><!--logo-->
            <div class="nom-societe">
           	  <a href="#"><br />Escodev Engineering </a><br/>
			  <span id="texte-logo">
			  Ing&eacute;nierie des technologies de l'information et syst&eacute;mes
			 </span>
			 </div>
			 
            <!--texte-->
        	<div class="clear"></div>
        </div><!--hd-bottom-->
	</div>

<br />
  <div class="main">
 
		<center>
			<div class="wrapper">
		
			<div class="droit">
			<nav>
				<ul id="menu">
				 
				<li><a href="../admin.php">Accueil</a></li>
				<li><a href="../Produits/Gestion_des_produits.php">produits</a></li>
				<li><a href="../Personnels/Gestion_des_personnels.php">personnel</a></li>
				<li><a href="../Messagerie/Messagerie.php">messages</a></li>
				<li><a href="../Annonces/Gestion_des_annonces.php">annonces</a></li>
				<li><a href="../../Connexion/deconnexion.php">déconnexion</a></li>
				  
				</ul>
				</nav>
				</div>
			
				</div>
			</center>
		</header>
			
                	
        <div id="nivoslider-54" class="nivoSlider" >
                        
						<img style="display: none;" src="../../images/avion.jpg" >       
						<img style="display: none;" src="../../images/telecoms.jpg">
                        <img style="display: none;" src="../../images/transport.jpg" >
						<img style="display: none;" src="../../images/industrie.jpg" >
                        <img style="display: none;" src="../../images/autres-secteurs.jpg" >
						
		</div>
	
 			<?php
include('../../connexion/connexion.php');
session_start();
if (!isset($_SESSION['login'])) {
	  header ('Location: index.php');
	  exit();
}
$id = $_GET['id'];
$select=mysql_query("SELECT * FROM administrateur where login_admin='$id' ");
while($res=mysql_fetch_object($select))
	{	

		echo "
		<div class='form-1'>
		<h5>Modifier mon profil</h5>
		<form id='form_1' method='post' action='Modifier_administrateur.php'>		
			<div class='wrapper1'><b>Nom :
				<div class='bg1'>
					<input type='text' name='nom' value='$res->nom' >
				</div>	
			</div>
			<div class='wrapper1'>Prenom :
				<div class='bg1'>
					<input type='text' name='prenom' value='$res->prenom' >
				</div>	
			</div>
			<div class='wrapper1'><b>Pseudo :
				<div class='bg1'>
					<input type='text' name='login' value='$res->login_admin' >
					<input type='hidden' name='anclogin' value='$res->login_admin'>
				</div>	
			</div>
			<div class='wrapper1'>Email :
				<div class='bg1'>
					<input type='mail' name='email' value='$res->email' >
				</div>
			</div>
			<div class='wrapper1'><b>Mot de passe :
				<div class='bg1'>
					<input type='password' name='Mot_de_pass' >
				</div><br>	
				
			<div class='inputs3'>
			<input  type='reset' name='reset' value='Vider' class='button2'>			
			<input  type='submit' name='submit' value='Valider' class='button2'>
			</div>
		</div><br></form>
			";
	}
			?>
			
			<div id="form2">
			<form id="form_1" method="post" action="Traitement_modification.php">		
			<div class="wrapper2">Ancien mot de passe :
				<div class="bg1">
						<input type="password" name="ancpass" >
				</div>	
			</div>
			<div class="wrapper2">Nouveau mot de passe :
				<div class="bg1">
						<input type="password" name="pass" >
				</div>	
			</div>
			<div class="wrapper2">Confirmer le mot de passe :
				<div class="bg1">
						<input type="password" name="confirmpass" >
				</div>	
			<div class="inputs2">
			<input  type="reset" name="reset" value="Vider" class="button2">			
			<input  type="submit" name="submit1" value="Valider" class="button2">
			</div>
			</div>
			</form>
			</div>
			</div>
			<br>

	<script type="text/javascript">
		jQuery(window).load(function(){
			jQuery("#nivoslider-54").nivoSlider({
				effect:"sliceDownRight",
				slices:15,
				boxCols:8,
				boxRows:4,
				animSpeed:500,
				pauseTime:3000,
				startSlide:0,
				directionNav:false,
				directionNavHide:true,
				controlNav:false,
				controlNavThumbs:false,
				controlNavThumbsFromRel:false,
				keyboardNav:false,
				pauseOnHover:false,
				manualAdvance:false
			});
		});
	</script>

	<div class="bonde-bas">
		
	 Copyright &copy; Groupe Escodev Engineering 2013. 

	</div>
  </section>
</div>
<script type="text/javascript"> Cufon.now(); </script>
</body>
</html>
<?php
if(isset($_POST['login']) )
	{
		$Login=$_POST['login']  ;
		$Anclogin=$_POST['anclogin']  ;
		$Nom=$_POST['nom'];
		$Prenom=$_POST['prenom'];
		$Email=$_POST['email'];
		$Mot_de_passe=$_POST['Mot_de_pass'];
		$Mot_de_passe=md5($Mot_de_passe);

		$requete="SELECT * FROM administrateur where Login_admin='$Anclogin' and mot_de_passe='$Mot_de_passe'";
			$ex=mysql_query($requete) ;
			if(mysql_num_rows($ex)==0)
							{
								echo"<div class='erreur1'><img src=../../images/er.png width='20px'> Mot de passe incorrect ! </div>";
							}
		else{			
					$update = mysql_query ("UPDATE `administrateur` SET nom='$Nom' ,prenom='$Prenom', login_admin='$Login' , email='$Email' where login_admin='$Anclogin'") or die (mysql_error()) ;
					if($update) {	
											header('Location: Administration.php');   		
								}
					else echo '<span class="error">Verifier vos données. </span>';
			}     		
	}
	
	// Changement de mot de passe :
	
else if (isset($_POST['pass']))
{
$Anclog=$_POST['anclog'];
$Ancpass=$_POST['ancpass'];
$Ancepass=md5($Ancpass);
$Pass=$_POST['pass'];
$Pass=md5($Pass);
$Confirm_pass=$_POST['confirmpass'];
$Confirm_pass=md5($Confirm_pass);	
if($Pass!=$Confirm_pass)
{
	
	echo"<script language='javaScript'>
			alert('Confirmation non valable. !');
		</script>" ;	
}
else
	{	
		$update = mysql_query ("UPDATE `administrateur` SET mot_de_passe='$Pass' where login_admin='$Anclog'") or die (mysql_error()) ;
			if($update) {
			header('Location: Administration.php'); 
			}
			else echo '<span class="error">Verifier vos données. </span>';
	}
}
?>

Re: Passer une variable sans la perdre dans l'actualisation

Posté : 03 juin 2014, 13:26
par Elie
Déjà, tu ne peux pas mettre de header('Location:'); apres du HTML ...

Ton $id = $_GET['id']; tu le fais devenir $id = $_REQUEST['id'];
Et tu rajoutes <input type="hidden" name="id" value="<?php echo $id; ?>" /> avant <input type='reset' name='reset' value='Vider' class='button2'>

Je serais toi je mettrais tous mes query en haut de la page, stockerai les réponses dans une variables $message et afficherai cette variable ou tu veux.

Re: Passer une variable sans la perdre dans l'actualisation

Posté : 03 juin 2014, 13:43
par Zack
Déjà, tu ne peux pas mettre de header('Location:'); apres du HTML ...
Comment ? Mais ça marche pour moi !!
Ton $id = $_GET['id']; tu le fais devenir $id = $_REQUEST['id'];
Et tu rajoutes <input type="hidden" name="id" value="<?php echo $id; ?>" /> avant <input type='reset' name='reset' value='Vider' class='button2'>
Je sais pas comment fe vous remercie :/ Mais Merçi infiniment =D>
Je serais toi je mettrais tous mes query en haut de la page, stockerai les réponses dans une variables $message et afficherai cette variable ou tu veux.
Vous pouvez expliquer plus ?