script de redirection fonctionne de maniere aleatoire

tribalwar

WRInaute discret
Bonsoir,
Je sais ca peut paraitre bizarre mais j'ai un script de redirection sur une de mes page qui redirige mes clients après paiement sur une page de telechargement. Or dans 90% des cas, la redirection s'effetcue normalement et parfois j'ai des reclamations parceque la page de telechargement ne s'affiche pas.... Probleme de navigateur, version de windows, mac? Avez-vous des idées ou quelqu'un a-t-il déjà connu ce problème.
Voila le script

<?php
session_start();
if (isset($_SESSION['connect']))//On vérifie que le variable existe.
{
$connect=$_SESSION['connect'];//On récupère la valeur de la variable de session.
}
else
{
$connect=0;//Si $_SESSION['connect'] n'existe pas, on donne la valeur "0".
}

if ($connect == "1") // Si le visiteur s'est identifié.
{
?>

html

<?php
{
$connect=0;// remise de connect a 0
}
}
else // connect=0
{
header("Location:http://www.i-profs.fr/Fiches/non-paiement.php");
} // Fin du else.
?>

et le script sur la page de redirection

<?php
session_start();
$_SESSION['connect']=1;
header("Refresh: 4;url=http://www.monsite.fr/telechargement.php");
?>
merci de votre aide
 

spout

WRInaute accro
tribalwar a dit:
header("Location:http://www.i-profs.fr/Fiches/non-paiement.php");
Il faut un espace après "Location:" donc:
PHP:
<span class="syntaxdefault">header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Location:&nbsp;http://www.i-profs.fr/Fiches/non-paiement.php"</span><span class="syntaxkeyword">);&nbsp;</span><span class="syntaxdefault"></span>
 

tribalwar

WRInaute discret
Merci pour ta réponse. Cet espace manquant est-il responsable du fait que le script ne fonctionne pas toujours? Car dans la majeure partie du temps, il fonctionne parfaitement...
 

web proxy

WRInaute discret
tu a vérifier avec : if ($connect == "1") avec le contenu de $connect est une chaîne de caractères et puis tu as initialisé ensuite la session par le nombre 1 !!
peut être tu peut remplacer if ($connect == "1") par if ($connect == 1)
 

tribalwar

WRInaute discret
oui mas dans ce cas ca ne fonctionnerait jamais du style tout ou rien. Comment expliquer que le problème n'apparaisse que dans certains cas d'ou ma question: un script peut-il fonctionner sur un ordi et plus sur un autre?
 

baud74

WRInaute impliqué
les sessions, cela expire. il faudrait bien comprendre le code étape par étape, pour savoir si c'est une cause possible.
 

zeb

WRInaute accro
tribalwar a dit:
dans 90% des cas, la redirection s'effetcue normalement et parfois j'ai des reclamations parceque la page de telechargement ne s'affiche pas...
Dépendant des sessions ton script moralité celui qui bloque les cookies n'a pas de sessoin ...
 

tribalwar

WRInaute discret
un grand merci Zeb. C'est effectivement une possibilité " pas de cookie, pas de redirection" :eek:
Maintenant, je cherche à contourner ce problème. Une possibilité serait de détecter si le visiteur a activé les cookies dans son navigateur et de lu demander de le faire le cas échéant mais cette méthode me paraît lourde n'ayant pas toujours des spécialistes informatiques comme clients, je risque de les faire fuir... y a-t-il une autre astuce pour identifier le visiteur et le rediriger?
 

tribalwar

WRInaute discret
Apres quelques recherches, une possibilité pour contourner les cookies serait peut-être d'utiliser un identifiant de session par url. Mais à partir de mon site, comment le mettre en place ?
 

zeb

WRInaute accro
Une mention pour dire que ton service demande que les cookies soit activés devrait suffire a reprendre un peu d'utilisateur distraits pour les autres il reste la chapelle pour bruler un cierge ...
C'est un délire de bloquer les cookies systématiquement sur la toile ... :roll: Pour les système de tracking pub ça peut se comprendre mais pour le reste c'est de la parano.
Plus sérieusement un suivi de session par url reviens a passer un hash unique par visiteur via une variable GET dans toutes tes urls (www.example.com/page.html?ids=xxxxxxxxxxxxxxxxxxxxxxxx) mais bon ça implique de ne pas mettre les pages en cache, de spécifier aux moteurs de pas prendre en compte ids dans les urls et de mettre en place tout le bousin derrière pour tester si il faut ou pas bref gros bordel. Perso je laisserais pisser avec le message d'avertissement.
 

Discussions similaires

Haut