Page 1 sur 1

Savoir de quelle page le visiteur vient

Posté : 07 sept. 2011, 18:42
par emmanuel.coppey
Bonjour,
Je suis nouveau sur ce forum, et je voudrais savoir s'il est possible de savoir de quelle page le visiteur vient?
Le but étant d'empêcher le visiteur qui ne vient pas de la page de paiement d'aller sur la page de confirmation. :D
Merci d'avance,
Emmanuel

Re: PHP

Posté : 07 sept. 2011, 21:23
par moogli
salut,

regarde ce qu'il y a dans la variable $_SERVER => http://fr.php.net/manual/fr/reserved.va ... server.php

@+

Re: PHP

Posté : 07 sept. 2011, 22:13
par sirakawa
où tu trouveras cette magnifique formule:
L'adresse de la page (si elle existe) qui a conduit le client à la page courante. Cette valeur est affectée par le client, et tous les clients ne le font pas. Certains navigateurs permettent même de modifier la valeur de HTTP_REFERER, sous forme de fonctionnalité. En bref, ce n'est pas une valeur de confiance.
je me demande s'il ne serait pas aussi simple d'ajouter un <input type ='hidden' name ='origine' value ='paiement.php' /> ou n'importe quelle valeur
et de tester dans la page confirmation si ce champ est renseigné, et s'il contient la valeur attendue

Re: PHP

Posté : 08 sept. 2011, 17:10
par moogli
même chose un formulaire est modifiable, dans ce cas il n'y a pas de valeur sure :mrgreen:

Re: PHP

Posté : 09 sept. 2011, 09:50
par macgawel
Bonjour,
Je suis nouveau sur ce forum, et je voudrais savoir s'il est possible de savoir de quelle page le visiteur vient?
Le but étant d'empêcher le visiteur qui ne vient pas de la page de paiement d'aller sur la page de confirmation. :D
Merci d'avance,
Emmanuel
Bonjour.

1. Merci de mettre un titre un peu plus explicite.
Parce que "PHP", vu qu'on est dans un forum sur le PHP, ça ne nous donne pas vraiment d'idée du problème #-o

2. Pour ton problème :
En fait, ton problème, ce n'est pas de savoir que le visiteur vient de paiement.php, mais de t'assurer que le paiement a bien été fait.
=> Voir du côté des sessions.

En gros : quand tu valides le paiement tu ouvres une session, et tu y claques un token (généré à partir de l'IP, par exemple).
Et dans la page confirmation.php, tu vérifies qu'il y a bien une session ouverte, et que l'IP correspond à celle enregistrée.

Re: PHP

Posté : 09 sept. 2011, 20:28
par emmanuel.coppey
Bonjour,
Le problème c'est que j'effectue mon paiement par paypal, ce qui fait que je ne crois pas pouvoir faire ce que tu dis.

Voici un bout de mon code :
<?php
$page = https://www.paypal.com/fr/cgi-bin/webscr;
if ($_SERVER['HTTP_REFERER'] == $page)
{
    echo '<div style="margin-left:200px;margin-right:50px;margin-top:20px;border:1em solid #000;outline:1px solid #fff;"><h2 style="color:#fff;"><img src="annule.png"height="30px;"/>&nbsp;&nbsp;&nbsp;Vous venez de valider votre paiement!</h2><br /><p style="color:white;">Un courriel vient de vous être envoyé.</p>';
}
else
{
    echo "Vous n'avez pas les droits necessaires à l'affichage de cette page. <a href=\"index.php\">Accueil</a> - <a href=\"achat.php\">Achat</a>";
    
}
?> 
Malheureusement, il ne marche pas.
La page renvoie:
Parse error: syntax error, unexpected ':' in paiementValide.php on line 421,
la ligne où j'ai mon url paypal.

Re: PHP

Posté : 12 sept. 2011, 11:44
par macgawel
Bonjour,
Le problème c'est que j'effectue mon paiement par paypal, ce qui fait que je ne crois pas pouvoir faire ce que tu dis.
Je n'utilise pas Paypal, mais il me semble que son API renvoie de quoi vérifier que la transaction s'est effectuée correctement...Fais une recherche Google, tu devrais trouver ton bonheur :oops:
La page renvoie:
Parse error: syntax error, unexpected ':' in paiementValide.php on line 421,
la ligne où j'ai mon url paypal.
Erreur de syntaxe : il y a un : non souhaité à la ligne 421.
Vu ton code, je dirais que c'est bêtement que tu ne mets pas de quote pour ton URL :
$page = "https://www.paypal.com/fr/cgi-bin/webscr";