header("Location:") et jQuery.post()
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:
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&montant=120.00">produit 1</a><br>
<a name="resaLink" href="envoi.php?produit=produit2&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!