Bonjour,

je souhaite crypter un montant dans une url en passant par ajax > "jQuery.post()".

J'ai donc fait le code ci-dessous (page "test.php"), qui crypte le montant via la fonction base64_encode() de php, puis affiche la nouvelle page via header("Location: $lienCrypte");

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
<?php 
if (isset($_POST['lienClair'])) { 
$lienClair = $_POST['lienClair'];
 
preg_match('#montant=([\d\.]+)#', $lienClair, $match); 
 
$montantCrypte = base64_encode($match[1]);
 
$lienCrypte = str_replace($match[0], 'montant='.$montantCrypte, $lienClair); // remplacement du "montant" en clair par le montant crypté
 
header("Location: $lienCrypte");
}
?>
 
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
 
<script type="text/javascript">
$(document).ready(function() 
{
	$('a[name=resaLink]').click(function()
	{
	var lien_js = $(this).attr("href");
 
	$.post("test.php", { lienClair: lien_js });
 
	return false;		
	});	
});
</script>
</head>
<body>
<a name="resaLink" href="envoi.php?produit=produit1&amp;montant=120.00">produit 1</a><br>
<a name="resaLink" href="envoi.php?produit=produit2&amp;montant=80.00">produit 2</a>
 
</body>
</html>
Je ne comprends pas pourquoi mon header("Location: $lienCrypte"); ne fonctionne pas... Pouvez-vous m'ader svp?

Merci!