Transmettre variables php cachées

**isa Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
 toto -
Bonjour,
J'ai un script d'indentification qui permet de transmettre à la page index2.php la variable $identif ayant pour valeur 7wrv9.
Tout fonctionne, pas de problème, mais comment transmettre cette variable de façon à ce qu'elle ne se voie pas dans la zone adresse du navigateur ?
Je pensais à un formulaire avec un hidden, mais je ne vois pas comment le faire puisqu'il n'y a pas de validation proprement dite..
Voici mon script :


<?php 

$ok=0;
//test des identifiant et mot de passe
if ($identif == "jcb")
{
  if ($pass == "mot de passe")
 {
// si ok, ouverture de la page index2 avec envoi de la variable
//c'est là que ça pèche, c'est visible dans la barre d'adresse
 header("location:./index2.php?identif=7wrv9");
 }
 else {$ok=1;}
}
else {$ok=1;}

// TEST
if ($ok==1)
{
echo "<center><h1>Echec d'indentification !<br>Vérifier les données que vous avez entrées...</h1><br><a href=\"./index.html\">Cliquez ici pour recommencer</a>";
}
?> 


Merci de vos réponses...

Isa
A voir également:

5 réponses

txiki Messages postés 6596 Date d'inscription   Statut Contributeur Dernière intervention   521
 
Salut,
Il faut que tu passe ta variable en POST et non en GET (par défaut)
M'enfin chui pas un pro du PHP:
Un exemple que j'ai fait en créant une variable de session:
<?
session_start();  // Démarrage de la session. A placer obligatoirement avant tout code html

$_SESSION['connect'] = 0; //initialise la variable 'connect'

if (isset($_POST['mot_de_passe']) AND isset($_POST['login'])) // Si les variables existent
{
        $mot_de_passe = $_POST['mot_de_passe'];
        $login = $_POST['login'];  //On récupère les données envoyées par la méthode POST du formulaire d'identification
}

else // Les variables n'existent pas encore
{
        $mot_de_passe = "";
        $login = ""; // On crée des variables $mot_de_passe  et $login vides
}

if (($mot_de_passe == "******" AND $login == "********") OR ($mot_de_passe == "******" AND $login == "******")OR ($mot_de_passe == "******" AND $login == "******") OR ($mot_de_passe == "******" AND $login == "******"))
// Si le mot de passe et le login sont bons (valable pour 1 utilisateur ou plus). J'ai mis plusieurs identifiants et mots de passe.

{
		$_SESSION['connect'] = 1;  // Change la valeur de la variable connect. 
		$_SESSION['login'] = $login;  // Permet de récupérer le login afin de personnaliser la navigation

// On affiche la page cachée.
?>
etc etc etc..... si tu veux le reste, a la fin de la page cachée, dis le car tout ceci est sur la même page mais tant qu'on ne se logue pas, on ne vois pas le reste.
2
ismail
 
bonjour il faut d'utiliser la metode poste et la ps la methode get
1
fayssalis
 
//utilise ce bout de code à la place du tien


<?php

$ok=0;
//test des identifiant et mot de passe
if ($identif == "jcb")
{
if ($pass == "mot de passe")
{
// si ok, ouverture de la page index2 avec envoi de la variable
//c'est là que ça pèche, c'est visible dans la barre d'adresse
// header("location:./index2.php?identif=7wrv9");
// ici tu déclare un formulaire avec la method POST contenant la variable identif

?>
<form name="fayssalis_hi_hi_hi" method="POST" action="index2.php">
<input type="hidden" name="identif" value="7wrv9">
</form>

<!-- maintanant on envoi le formulaire avec un petit bout de code javascript comme seci
<script language="javascript">fayssalis_hi_hi_hi.submit();</script>

<?
/* récapitulons

au lieu d'utiliser un header, on a déclaré un formulaire contanant les variables à passer comme argument
dans l'url index2.php

ensuite on a fait appel à un code javascript qui submite automatiquement le formulaire
remarquez le fait que le formulaire envoit ses données à la page index2.php c'est primordiale

voila tout, j'éspere que j'ai répondu à votre question hi hi hi hi */
}
else {$ok=1;}
}
else {$ok=1;}

// TEST
if ($ok==1)
{
echo "<center><h1>Echec d'indentification !<br>Vérifier les données que vous avez entrées...</h1><br><a href=\"./index.html\">Cliquez ici pour recommencer</a>";
}
?>
0
antho33 Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   2
 
fait les passer pas la méthode POST puis tu les récuperera dans ta page suivante avec $_POST['identif '] et $_POST['pass ']...
0
johnvsk2
 
Bonjour,

Avant toute chose, un grand merci à vous pour l'aide que vous apportez.
Vos codes me sont utiles, mais mon objectif est un peu différent...
C'est à dire : faire en sorte que même la page php ne contient pas de mot de passe... :)

Faire en sorte que :
user et password ne soient que des variables...

Je pense que si j'y arrivais, que ce serait mieux d'un point de vue sécurité ;)

Bien à vous.
John.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
toto
 
REgarde les variable de session...!
0