Transmettre variables php cachées

Fermé
**isa Messages postés 27 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 30 juillet 2007 - 22 mai 2007 à 16:19
 toto - 11 févr. 2011 à 16:07
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 mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 521
22 mai 2007 à 16:47
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
bonjour il faut d'utiliser la metode poste et la ps la methode get
1
//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 mercredi 25 janvier 2006 Statut Membre Dernière intervention 20 août 2008 2
22 mai 2007 à 16:43
fait les passer pas la méthode POST puis tu les récuperera dans ta page suivante avec $_POST['identif '] et $_POST['pass ']...
0
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
REgarde les variable de session...!
0