Passer une variable sans la perdre dans l'actualisation

Zack
Invité n'ayant pas de compte PHPfrance

03 juin 2014, 11:57

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 ?

Mammouth du PHP | 1339 Messages

03 juin 2014, 12:53

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 ...
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Zack
Invité n'ayant pas de compte PHPfrance

03 juin 2014, 13:04

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>';
	}
}
?>

Mammouth du PHP | 1339 Messages

03 juin 2014, 13:26

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.
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Zack
Invité n'ayant pas de compte PHPfrance

03 juin 2014, 13:43

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 ?